On Tue, Jun 10, 2014 at 11:07 AM, Andrew Schultz <ajschult(a)verizon.net>
wrote:
Richard Shaw wrote:
> /usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../lib64/crt1.o: In
> function `_start':
> (.text+0x20): undefined reference to `main'
> collect2: error: ld returned 1 exit status
> rmbadname1: Replacing "len" with "len_bn".
> /usr/lib/gcc/x86_64-redhat-linux/4.8.2/../../../../lib64/crt1.o: In
> function `_start':
> (.text+0x20): undefined reference to `main'
> collect2: error: ld returned 1 exit status
> error: Command "/usr/bin/gfortran -Wall -Wl,-z,relro -Wl,-z,relro
> /tmp/tmpom3x2m/tmp/tmpom3x2m/src.linux-x86_64-3.3/wmodule.o
> /tmp/tmpom3x2m/tmp/tmpom3x2m/src.linux-x86_64-3.3/fortranobject.o
> /tmp/tmpom3x2m/wspr1.o /tmp/tmpom3x2m/getfile.o
> /tmp/tmpom3x2m/paterminate.o /tmp/tmpom3x2m/audiodev.o
> /tmp/tmpom3x2m/tmp/tmpom3x2m/src.linux-x86_64-3.3/w-f2pywrappers.o
> thnix.o libwspr.a -L/usr/lib64 -lfftw3f -lgfortran -lportaudio -lpthread
> -lsamplerate -lpython3.3m -lgfortran -o ./w.cpython-33m.so
> <
http://w.cpython-33m.so>" failed with exit status 1
>
> make: *** [WsprMod/w.so] Error 1
>
It's using the gfortran to link and then explicitly adding -lgfortran
(twice, of course); gfortran will do this automatically. Also, if a
executable has a main method in C, then you'll be more successful linking
the program with gcc instead of gfortran (if it has a main program in
fortran, then use gfortran to link). It might be possible to go the other
way, but I have never had success.
None of the very few c files define main so I'm guessing it's defined in
the fortran code.
Thanks,
Richard