How to build wsjt under openSuSE 11

Hi HAMs,

Building WSJT under openSuSE 11 keeps giving me grief.

The build from source itself goes through, but upon running the binary a segfault occurs.

Please help.

T.I.A.

Peter

Hi
Can you provide a link to the source you downloaded? What happens if
you run strace <name_of_app>


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.0 x86 Kernel 2.6.25.18-0.2-default
up 22:32, 1 user, load average: 0.09, 0.06, 0.08
GPU GeForce 6600 TE/6200 TE - Driver Version: 177.80

Hi,

The source code can be downloaded from BerliOS Developer: Project Info - WSJT

The application is licensed under the GPL.

Actually I removed the broken code from my system.

I will reinstall it and give you the output of strace.

The segfault issue under Linux is known and seems to have to do with the version of NumPY and the fortran compiler used to build the application.

Today wsjt is one of the most used applications in amateur radio for the communication with distant contacts, especially in VHF/UHF.
Therefore I would like it to be part of the official distribution.

vy 73 de DG6MAN

Peter

checking for gcc… gcc
checking for C compiler default output file name… a.out
checking whether the C compiler works… yes
checking whether we are cross compiling… no
checking for suffix of executables…
checking for suffix of object files… o
checking whether we are using the GNU C compiler… yes
checking whether gcc accepts -g… yes
checking for gcc option to accept ANSI C… none needed
checking for g77… no
checking for f77… no
checking for xlf… no
checking for frt… no
checking for pgf77… no
checking for fort77… no
checking for fl32… no
checking for af77… no
checking for f90… no
checking for xlf90… no
checking for pgf90… no
checking for epcf90… no
checking for f95… no
checking for fort… no
checking for xlf95… no
checking for ifc… no
checking for efc… no
checking for pgf95… no
checking for lf95… no
checking for gfortran… gfortran
checking whether we are using the GNU Fortran 77 compiler… yes
checking whether gfortran accepts -g… yes
checking uname -s for Cygwin, Solaris or HPUX… no
checking if gcc is Apple GCC… no
checking for library containing strerror… none required
checking for inline… inline
checking how to run the C preprocessor… gcc -E
checking for egrep… grep -E
checking whether gcc needs -traditional… no
checking whether make sets $(MAKE)… yes
checking for a BSD-compatible install… /usr/bin/install -c
checking for rm… /bin/rm
checking for cp… /bin/cp
checking for mv… /bin/mv
checking for ln… /bin/ln
checking for sed… /usr/bin/sed
checking for ar… /usr/bin/ar
checking for ld… /usr/bin/ld
checking for test… /usr/bin/test
checking for python… /usr/bin/python
checking for f2py… /usr/local/bin/f2py
checking for g95… no
checking g95 lib path… ./configure: line 3623: -print-file-name=: command not found

checking for gfortran… /usr/bin/gfortran
checking for gfortran42… (cached) /usr/bin/gfortran
checking gfortran lib path… /usr/lib/gcc/i586-suse-linux/4.3/
checking OS… checking for ANSI C header files… yes
checking for sys/types.h… yes
checking for sys/stat.h… yes
checking for stdlib.h… yes
checking for string.h… yes
checking for memory.h… yes
checking for strings.h… yes
checking for inttypes.h… yes
checking for stdint.h… yes
checking for unistd.h… yes
checking for inttypes.h… (cached) yes
checking for stdint.h… (cached) yes
checking sys/resource.h usability… yes
checking sys/resource.h presence… yes
checking for sys/resource.h… yes
checking sys/param.h usability… yes
checking sys/param.h presence… yes
checking for sys/param.h… yes
checking errno.h usability… yes
checking errno.h presence… yes
checking for errno.h… yes
checking sys/syslog.h usability… yes
checking sys/syslog.h presence… yes
checking for sys/syslog.h… yes
checking stddef.h usability… yes
checking stddef.h presence… yes
checking for stddef.h… yes
checking libgen.h usability… yes
checking libgen.h presence… yes
checking for libgen.h… yes
checking sys/wait.h usability… yes
checking sys/wait.h presence… yes
checking for sys/wait.h… yes
checking wait.h usability… yes
checking wait.h presence… yes
checking for wait.h… yes
checking stdio.h usability… yes
checking stdio.h presence… yes
checking for stdio.h… yes
checking termios.h usability… yes
checking termios.h presence… yes
checking for termios.h… yes
checking for sys/resource.h… (cached) yes
checking linux/ppdev.h usability… yes
checking linux/ppdev.h presence… yes
checking for linux/ppdev.h… yes
checking dev/ppbus/ppi.h usability… no
checking dev/ppbus/ppi.h presence… no
checking for dev/ppbus/ppi.h… no
checking for sys/stat.h… (cached) yes
checking fcntl.h usability… yes
checking fcntl.h presence… yes
checking for fcntl.h… yes
checking sys/ioctl.h usability… yes
checking sys/ioctl.h presence… yes
checking for sys/ioctl.h… yes
checking whether time.h and sys/time.h may both be included… yes
checking sys/soundcard.h usability… yes
checking sys/soundcard.h presence… yes
checking for sys/soundcard.h… yes
checking alsa/asoundlib.h usability… yes
checking alsa/asoundlib.h presence… yes
checking for alsa/asoundlib.h… yes
checking jack/jack.h usability… yes
checking jack/jack.h presence… yes
checking for jack/jack.h… yes
checking samplerate.h usability… yes
checking samplerate.h presence… yes
checking for samplerate.h… yes
checking whether string.h and strings.h may both be included… yes
checking for clock_gettime in -lrt… yes
checking for snd_pcm_open in -lasound… yes
checking for int64_t… yes
checking size of int64_t… 8
checking for long long… yes
checking size of long long… 8
checking for uint64_t… yes
checking for int64_t… (cached) yes
checking for u_int32_t… yes
checking for u_int16_t… yes
checking whether byte ordering is bigendian… no
checking stdarg.h usability… yes
checking stdarg.h presence… yes
checking for stdarg.h… yes
./configure: line 6846: CPPFLAGS: command not found
configure: creating ./config.status
config.status: creating Makefile

Using gfortran as fortran compiler.

Using built in portaudio distribution

Compiling wsjt 5.9.6

Installing into: /usr/local/

Hi,

Unfortunately the output of make and strace wjst are too long for a reply here. >:(

Please provide an email address, so that I can send the logs of make and strace there.

The build itself was done with the default tools of openSuSE 11 and python-numpy-1.2.1-0.pm.1.

vy 73 de DG6MAN

Peter

Hi
You could use curl to put them on nopaste.com;


curl -F file=@<name of file> nopaste.com/a

Where <name of file> equals the make output and then another with the
strace output. It will return a URL if you could post that :slight_smile:


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.0 x86 Kernel 2.6.25.18-0.2-default
up 1 day 12:56, 1 user, load average: 0.18, 0.08, 0.02
GPU GeForce 6600 TE/6200 TE - Driver Version: 177.80

Hi Malcolm,

Here are the URLs:

log of the build: make.log - nopaste.com (beta)

log of the segfaulting runs: wsjt-run.log - nopaste.com (beta)

vy 73 de DG6MAN

Peter

Hi
Thanks, will have a look later this afternoon, break time for me… :wink:


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.0 x86 Kernel 2.6.25.18-0.2-default
up 1 day 19:43, 1 user, load average: 0.14, 0.11, 0.09
GPU GeForce 6600 TE/6200 TE - Driver Version: 177.80

Hi
Ok, I downloaded and compiled, have you made any changes to the system
to compile? I had to create a softlink for libg2c. I also think I’m
getting further than you in that I get a GUI before it seg faults…

These are the python packages I have installed;
http://nopaste.com/p/aw7ZoxZay

I ran the following from the directory I built the program in with;


python -O wsjt.py

or strace and nohup the output

nohup strace python -O wsjt.py

Here is my strace output;
http://nopaste.com/p/aAh9LBhqI

I’m thinking you may not have some python files installed hence the
above list. It may seg fault for me as I don’t have any equipment
connected??


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.0 x86 Kernel 2.6.25.18-0.2-default
up 1 day 22:51, 3 users, load average: 0.07, 0.15, 0.18
GPU GeForce 6600 TE/6200 TE - Driver Version: 177.80

Hi Malcolm,

As far as the compilers, etc. on my system are concerned, everything is original. The Python modules seem to be present as required, otherwise configure would fail.

Upon launching the app I also get the GUI for a brief moment and then the application crashes with a segfault.

This issue is kind of known.
Amongst others in particular the application showed the same behavior in Ubuntu 7.10.

There is a binary rpm from a Bulgarian radio amateur, which is positively known to work on up to openSuSE 10.1, but it has dependencies, which 11 does not resolve(fortran libs, etc.).

Knowing that the 10.x distros are on their way out, I do not want to downgrade to an old system.

As far as I as a non programmer could interpret some of the changes between the 10.x distros and 11, the compiler environment (fortran & Co.) had changed.

Under 10.2 I managed to build the app from source and it ran.

The fact whether equipment is connected to the sound card or not is not relevant to run the application up to the initial GUI.

One just cannot receive live signals.

As far as testing of the analysis of received signals is concerned, it can be done from wave files, as they are part of the source code.

The application coarsely described works as follows:

  • Receive: Recording the signal, which comes in from the sound card and saving it to a wave file upon request

  • Transmit: Keying the transceiver into transmit mode and transmitting preset code to the sound card

Greetings (vy 73 in the radio amateur’s words)

DG6MAN (my callsign)
Peter

Hi Peter
I compiled on my SLED 10 64bit system and it runs fine. I’m thinking
it’s probably gcc4.3.

OK, so I’ve managed to compile it using gcc4.1 and gfortran4.1 and it
doesn’t seg fault.

You need to add the following repository;
Name: openSUSE Build Service Tools GCC
URL:
http://download.opensuse.org/repositories/devel:/tools:/gcc/openSUSE_11.0

Then install the following;


sudo zypper in gcc41 gcc41-c++ gcc41-fortran libgcc41

It may get upset about gcc41-info if it wants to install, you can
ignore this.

Now we need to re link ggc and gfortran to the 4.1 versions;


su -
rm /usr/bin/gfortran /usr/bin/gcc
ln -s /usr/bin/gcc-4.1 /usr/bin/gcc
ln -s /usr/bin/gfortran-4.1 /usr/bin/gfortran
exit

Now go back and rebuild wsjt;


make clean
../configure
make
python -O wsjt.py

Restore back to gcc 4.3


su -
rm /usr/bin/gfortran /usr/bin/gcc
ln -s /usr/bin/gfortran-4.3 /usr/bin/gfortran
ln -s /usr/bin/gcc-4.3 /usr/bin/gcc


Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.0 x86 Kernel 2.6.25.18-0.2-default
up 2 days 16:45, 3 users, load average: 0.25, 0.32, 0.34
GPU GeForce 6600 TE/6200 TE - Driver Version: 177.80

Hi Malcolm,

Thanks a lot for your effort.

woot woot woot - It built the way you described and does not bomb out anymore. :slight_smile:

Greetings
73 de DG6MAN

Peter

Hi Malcolm,

Thanks a lot for your effort.

woot woot woot - It built the way you described and does not bomb out
anymore. :slight_smile:

Greetings
73 de DG6MAN

Peter


UNIX-Pete

UNIX-Pete’s Profile: http://forums.opensuse.org/member.php?userid=14631
View this thread: http://forums.opensuse.org/showthread.php?t=398864