[Wien] ifort classic compiler now discontinued in one-api 2025.0 online repositories
Michael Fechtelkord
Michael.Fechtelkord at ruhr-uni-bochum.de
Tue Jan 14 15:44:43 CET 2025
I found the solution for getting rid of that configure error (when ifx
is the Fortran compiler) in fftw 3.10 by using autoreconf version 2.70
or higher (see below):
https://www.intel.com/content/www/us/en/developer/articles/release-notes/oneapi-fortran-compiler-release-notes.html#solution-for-package-maintainers*
*
*Configure Script Reports: "linking to Fortran libraries from C fails"*
*Symptom*
When compiling with ifx, a ./configure script generated by GNU Autconf
reports an error message similar to:
checking for Fortran 77 libraries of ifx... -loopopt=0
-L/lib/../lib64 -L/lib/../lib64/ -L/usr/lib/../lib64
-L/usr/lib/../lib64/ -L/lib64 -L/lib/ -L/usr/lib64 -L/usr/lib -lifport
-lifcoremt -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl
configure: WARNING: FLIBS does not work
checking for ifx flag to add single underscore to external names...
none
checking for dummy main to link with Fortran 77 libraries... unknown
configure: error: in '/path/to/build/dir':
configure: error: linking to Fortran libraries from C fails
See `config.log' for more details
make: *** [build/config.status] Error 1
Examining the config.log file shows that the error causing
./configure to exit was:
ld: cannot find -loopopt=0
*Problem *
In trying to determine libraries needed to link Fortran code with C or
C++ code, GNU Autoconf 2.69 and earlier mistakenly interprets
-loopopt=0 in -mllvm -loopopt=0 in verbose compiler output as a linker
flag. GNU Autoconf then adds -loopopt=0 to the FLIBS variable, which is
passed to the linker. The linker then looks for a non-existent library
causing the test to fail.
*Solution for Users Downloading Source Code*
Please inform the maintainers of packages impacted by this error about
the problem and refer them to this release note. Projects vary in how
they handle configure scripts; however, some general rules apply. Users
who need a solution before the package maintainer can respond can update
the configure script themselves. The difficulty of updating depends on
how the package is distributed.
To update, first, install GNU Autoconf-2.70 or newer, as described in
Solution for Package Maintainers
<https://www.intel.com/content/www/us/en/developer/articles/release-notes/oneapi-fortran-compiler-release-notes.html#solution-for-package-maintainers>,
below.
After installing the updated autoconf in the user's path, packages that
distribute the configure.ac file along with the configure script can be
updated simply by running:
autoreconf -if
The resulting configure script should complete without the above error
in FLIBS.
It is not uncommon for project maintainers to remove the configure.ac
file from a source distribution in a tar or zip archive. In that case,
the user usually needs to download the project from its code repository,
and build according to the project's instructions. Sometimes a version
of the configure script is committed to version control and not
automatically regenerated. In that case, either running autoreconf -if
as described above, or deleting the configure script often trigger it to
be regenerated. Ideally, documentation for the project will describe
how to rebuild the configure script.
Am 05.01.2025 um 15:37 schrieb Michael Fechtelkord via Wien:
>
> The problem seems to be that FFTW configure if using ifx as default
> Fortran compiler does not know how to link C and FORTRAN and then it
> uses default Fortran wrappers. Setting ifort as default, configure
> finds all links.
>
> I copy here the essential output for both ifort and ifx:
>
>
> ifx:
>
> checking for Fortran 77 libraries of ifx... -lm -loopopt=1
> -L/opt/intel/oneapi/tbb/2021.13/env/../lib/intel64/gcc4.8
> -L/opt/intel/oneapi/mpi/2021.13/lib -L/opt/intel/oneapi/mkl/2024.2/lib/
> -L/opt/intel/oneapi/dpl/2022.6/lib
> -L/opt/intel/oneapi/compiler/2024.2/lib
> -L/opt/intel/oneapi/compiler/2024.2/lib/clang/19/lib/x86_64-unknown-linux-gnu
>
> -L/usr/lib64/gcc/x86_64-suse-linux/13/
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../../lib64
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../../lib64/
> -L/lib/../lib64 -L/lib/../lib64/ -L/usr/lib/../lib64
> -L/usr/lib/../lib64/
> -L/opt/intel/oneapi/tbb/2021.13/env/../lib/intel64/gcc4.8/
> -L/opt/intel/oneapi/mpi/2021.13/lib/
> -L/opt/intel/oneapi/dpl/2022.6/lib/
> -L/opt/intel/oneapi/compiler/2024.2/lib/
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/lib/
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../ -L/lib64 -L/lib/
> -L/usr/lib64
> -L/usr/lib -limf -lifport -lifcoremt -lsvml -lipgo -lirc -lpthread
> -lirc_s -ldl
> checking for dummy main to link with Fortran 77 libraries... unknown
> *configure: WARNING: *** Couldn't figure out how to link C and
> Fortran; using default Fortran wrappers.*
> checking for OpenMP flag of C compiler... -fopenmp
> checking whether a cycle counter is available... yes
> checking that generated files are newer than configure... done
>
> ifort:
>
> checking for Fortran 77 libraries of ifort...
> -L/opt/intel/oneapi/tbb/2021.13/env/../lib/intel64/gcc4.8
> -L/opt/intel/oneapi/mpi/2021.13/lib -L/opt/intel/oneapi/mkl/2024.2/lib/
> -L/opt/intel/oneapi/dpl/2022.6/lib
> -L/opt/intel/oneapi/compiler/2024.2/lib
> -L/opt/intel/oneapi/compiler/2024.2/bin/../lib
> -L/opt/intel/oneapi/compiler/2024.2/bin/../opt/compiler/lib
> -L/usr/lib64/gcc/x86_64-suse-linux/13/
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../../lib64
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../../lib64/
> -L/lib/../lib64 -L/lib/../lib64/ -L/usr/lib/../lib64
> -L/usr/lib/../lib64/
> -L/opt/intel/oneapi/tbb/2021.13/env/../lib/intel64/gcc4.8/
> -L/opt/intel/oneapi/mpi/2021.13/lib/
> -L/opt/intel/oneapi/dpl/2022.6/lib/
> -L/opt/intel/oneapi/compiler/2024.2/lib/
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/lib/
> -L/usr/lib64/gcc/x86_64-suse-linux/13/../../../ -L/lib64 -L/lib/
> -L/usr/lib64
> -L/usr/lib -limf -lm -lifport -lifcoremt -lsvml -lipgo -lirc -lpthread
> -lirc_s -ldl
> checking for dummy main to link with Fortran 77 libraries... none
> checking for Fortran 77 name-mangling scheme... lower case,
> underscore, no extra underscore
> checking for OpenMP flag of C compiler... -fopenmp
> checking for Win32 threads... no
> checking for the pthreads library -lpthreads... no
> checking whether pthreads work without any flags... yes
> checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
> checking if more special flags are required for pthreads... no
> checking whether a cycle counter is available... yes
> checking that generated files are newer than configure... done
>
> Best regards,
>
> Michael
>
--
Dr. Michael Fechtelkord
Institut für Geologie, Mineralogie und Geophysik
Ruhr-Universität Bochum
Universitätsstr. 150
D-44780 Bochum
Phone: +49 (234) 32-24380
Fax: +49 (234) 32-04380
Email:Michael.Fechtelkord at ruhr-uni-bochum.de
Web Page:https://www.ruhr-uni-bochum.de/kristallographie/kc/mitarbeiter/fechtelkord/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20250114/475b9230/attachment.htm>
More information about the Wien
mailing list