[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