I have some F77 code that compiled fine using the GNU autotool environment, 
having the
macro AC_PROG_F77 in configure.ac.

The project compiles fine on Linux Ubuntu 14.04 LTS (gfortran version 4.8). But 
since a
while it doesn't on FreeBSD 9.2/10/11 anymore!

I miss something here and I do not know what.

I use Fortran not on a regular basis, so this problem caught me, again, on the 
wrong foor.

Further details see below.




Before I start reporting the issue, this is what I have installed as the base:

language ports:



As shown below, the autotools are incapable of detecting installed compilers. 
As also
reported below, gfortran48 miscompiles (while the gfortran 4.8.2 on Ubuntu 
14.04 LTS does
not have a problem with the very same code!) and gfortran47 is missing 
obviously the
correct path to its libraries. 

My configure.ac file of the project contains this lines:

#AC_PROG_F77([gfortran48 gfortran47 gfortran46 gfortran f77])
# Checks for header files.
AC_CHECK_HEADERS([stdlib.h string.h])

The command sequence to prepare the source is:
aclocal ; autoheader ; autoconf ; libtoolize -c ; automake -ac

And ./configure then dies with this:

checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... no
checking for g95... no
checking for xlf95... no
checking for f95... no
checking for fort... no
checking for ifort... no
checking for ifc... no
checking for efc... no
checking for pgfortran... no
checking for pgf95... no
checking for lf95... no
checking for ftn... no
checking for nagfor... no
checking whether the Fortran 77 compiler works... no
configure: error: in `/home/ohartmann/Projects/oepik':
configure: error: Fortran 77 compiler cannot create executables
See `config.log' for more details

Well, this looks pretty nice!

If the usage of the compiler is selected  to be gfortran48 via

AC_PROG_F77([gfortran48 gfortran47 gfortran46 gfortran f77])

the I receive this crap:

checking for gfortran48... gfortran48
checking whether the Fortran 77 compiler works... no
configure: error: in `/home/ohartmann/Projects/oepik':
configure: error: Fortran 77 compiler cannot create executables
See `config.log' for more details

Checking config.log as suggested I find this portion:

configure:2426: $? = 1
configure:2415: gfortran48 -qversion >&5
gfortran48: error: unrecognized command line option '-qversion'
gfortran48: fatal error: no input files
compilation terminated.
configure:2426: $? = 1
configure:2441: checking whether the Fortran 77 compiler works
configure:2463: gfortran48   conftest.f  >&5
f951: internal compiler error: Illegal instruction
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
configure:2467: $? = 1
configure:2505: result: no
configure: failed program was:
|       program main
|       end
configure:2510: error: in `/home/ohartmann/Projects/oepik':
configure:2513: error: Fortran 77 compiler cannot create executables
See `config.log' for more details

This is funny - the FreeBSD port can not compile simple F77 code?

With gfortran47 using, I get this:

configure:2527: checking for suffix of executables
configure:2534: gfortran47 -o conftest   conftest.f  >&5
configure:2538: $? = 0
configure:2560: result: 
configure:2576: checking whether we are cross compiling
configure:2584: gfortran47 -o conftest   conftest.f  >&5
configure:2588: $? = 0
configure:2595: ./conftest
/lib/libgcc_s.so.1: version GCC_4.6.0 required by 
not found configure:2599: $? = 1
configure:2606: error: in `/home/ohartmann/Projects/oepik':
configure:2610: error: cannot run Fortran 77 compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details

Attachment: signature.asc
Description: PGP signature

Reply via email to