I have been troubleshooting the compilation of WIEN2k on a new workstation using the ifx compiler. The main issue I was having was related to compilation errors in 3ddens as well as in lapw1, but the lapw1 compilation errors only occurred when I attempted to link ELPA.
The cause of the compilation errors was FFTW. The configure script included with FFTW version 3.3.10 is not compatible with the new Intel compilers (icx/ifx etc.) unless an additional step is taken; otherwise, icx is unable to link FFTW to the applicable Fortran libraries. To fix this issue, the FFTW configure script must be updated using autoconf version 2.70 or greater by running the command "autoreconf -if" in the directory where the FFTW tarball was extracted. Once I did this, recompiled FFTW, and then recompiled WIEN2k, there were no compilation errors for 3ddens and lapw1 with ELPA. This is documented in the ifx release notes (https://www.intel.com/content/www/us/en/developer/articles/release-notes/fortran-compiler/2025.html): 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/fortran-compiler/2025.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 be completed 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 triggers it to be regenerated. Ideally, documentation for the project will describe how to rebuild the configure script. Solution for Package Maintainers To prevent users from seeing errors, update to GNU Autoconf to version 2.70 or later and re-generate the project configure script. GNU Autoconf-2.70 was released <https://lists.gnu.org/archive/html/autotools-announce/2020-12/msg00001.html> December 8, 2020. The source code is available via git clone: http://git.sv.gnu.org/r/autoconf.git. GNU Autoconf documentation is available through GNU Autoconf Project Page<https://www.gnu.org/software/autoconf/>. Daniel Straus Assistant Professor Department of Chemistry Tulane University 5088 Percival Stern Hall 6400 Freret Street New Orleans, LA 70118 (504) 862-3585 http://straus.tulane.edu/
_______________________________________________ Wien mailing list [email protected] http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/[email protected]/index.html

