maybe it is just enough to put ifx into the list of known Fortran compilers of configure
Ciao Gerhard DEEP THOUGHT in D. Adams; Hitchhikers Guide to the Galaxy: "I think the problem, to be quite honest with you, is that you have never actually known what the question is." ==================================== Dr. Gerhard H. Fecher Institut of Physics Johannes Gutenberg - University 55099 Mainz ________________________________________ Von: Wien [[email protected]] im Auftrag von Laurence Marks [[email protected]] Gesendet: Sonntag, 5. Januar 2025 15:55 An: A Mailing list for WIEN2k users Betreff: Re: [Wien] ifort classic compiler now discontinued in one-api 2025.0 online repositories That would be a fftw bug, I suggest reporting it to them. ___ Emeritus Professor Laurence Marks (Laurie) Department of Materials Science and Engineering, Northwestern University www.numis.northwestern.edu<http://www.numis.northwestern.edu> "Research is to see what everybody else has seen, and to think what nobody else has thought" Albert Szent-Györgyi On Sun, Jan 5, 2025, 08:44 Michael Fechtelkord via Wien <[email protected]<mailto:[email protected]>> wrote: 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 Am 05.01.2025 um 12:33 schrieb Michael Fechtelkord via Wien: LAPW0 works in my ifx compilation (currently 2024.2 because it still contains ifort, gcc is 13.2). When I run the following configure for fftw3 and compile: FC=ifort F77=ifort CC=gcc CFLAGS="-O3 -march=native -mavx2" FCFLAGS="-O3 -xAVX2 -diag-disable=10448"\ ./configure --prefix=/usr/local/ --enable-shared --enable-mpi --enable-openmp --enable-threads --enable-avx --enable-avx2 there is no compilation error for 3ddens. Do I change to FC=ifx F77=ifx CC=gcc CFLAGS="-O3 -march=native -mavx2" FCFLAGS="-O3 -xAVX2"\ ./configure --prefix=/usr/local/ --enable-shared --enable-mpi --enable-openmp --enable-threads --enable-avx --enable-avx2 I got the error for 3ddens in compilation: /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: 3ddens.o: in function `MAIN__': ifxim7AOm.i:(.text+0x4fe9): undefined reference to `dfftw_init_threads_' /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: ifxim7AOm.i:(.text+0x5004): undefined reference to `dfftw_plan_with_nthreads_' make: *** [Makefile:65: 3ddens] Fehler 1 FFTW uses also a fortran part, except you switch it of with --disable-fortran: Disables inclusion of legacy-Fortran wrapper routines (see Chapter 8 [Calling FFTW from Legacy Fortran], page 87) in the standard FFTW libraries. These wrapper routines increase the library size by only a negligible amount, so they are included by default as long as the configure script finds a Fortran compiler on your system. (To specify a particular Fortran compiler foo, pass F77=foo to configure.) So it is possible that the problem is due to different wrappers when I specify ifort or ifx as particular Fortran compiler. Best regards, Michael Am 05.01.2025 um 09:49 schrieb Fecher, Gerhard: Sorry, ifort was a typo, fftw3 is pure C++ library and does not need any Fortran compiler I used for fftw3 both the old icc and the new icx, without observing any remarkable difference during run-time.. (I iused icx (instead of gcc) already since the 2023 OneAPI without problems) For ifx (or ifort) the Fortran wrappers for fftw are in the OneAPI include directories (for gnu you probably may need the switch --with-g77-wrappers in configure) I wonder why in your case 3ddens fails, but lapw0 succeeds (does it ?) Ciao Gerhard DEEP THOUGHT in D. Adams; Hitchhikers Guide to the Galaxy: "I think the problem, to be quite honest with you, is that you have never actually known what the question is." ==================================== Dr. Gerhard H. Fecher Institut of Physics Johannes Gutenberg - University 55099 Mainz ________________________________________ Von: Wien [[email protected]<mailto:[email protected]>] im Auftrag von Michael Fechtelkord via Wien [[email protected]<mailto:[email protected]>] Gesendet: Samstag, 4. Januar 2025 19:49 An: A Mailing list for WIEN2k users Cc: Michael Fechtelkord Betreff: Re: [Wien] ifort classic compiler now discontinued in one-api 2025.0 online repositories Dear Gerhard, thanks for all your hints, they showed no difference. The link error still occurred. But I saw that you used ifort, instead of ifx for compiling the fftw3 libraries. And that makes the difference. When I compile the fftw libraries with ifx and gcc the link error occurs for 3ddens. When I compile fftw3 with ifort and gcc, no error occurs in compilation of 3ddens. I have no idea where the difference is. In the 2025 oneapi version ifort and icc do not exist any longer and people cannot use it to compile the fftw3 library. So we have now to find out what ifort does different compared to ifx when it compiles the fftw3 code concerning intel threading. Thanks again for your help and happy new year! Best regards, Michael Am 31.12.2024 um 17:42 schrieb Fecher, Gerhard: Dear Michael, as I reported before all routines were successfully compiled using current:FOPT:-free -O2 -xHost -fp-model=strict -DINTEL_VML -traceback -assume buffered_io -I$(MKLROOT) or current:FOPT:-free -w -O3 -xHost -fp-model=precise -DINTEL_VML -traceback -assume buffered_io -I$(MKLROOT) the only remaining problem (after updated some routines according to Preter and Gavin) that remained is tthat lapw0 does not run (produces a segmentation fault) when setting OMP_NUM_THREADS other than 1, however setting of MKL_NUM_THREADS works (this still remains when using the update of charge.f as suggested by Laurence) In my case 3ddens has no problems with fftw3 I suggest to use a local directory for it in your home directory, I had problems at runtime with fftw3 from the OpenSuse repositories installed in /usr/lib64 I also suggest to start with less optimization switches when making fftw3 I guess you better use only one of --enable-openmp --enable-threads and you should check that make uses intel threading maybe your configure is not complete and you need also to set a correct LD I compiled it with ifort and icc I used at least something like configure --prefix=/myhomepath/lib/FFTW3 \ CC=icc CFLAGS="-O3 -xHost -diag-disable=10441" \ --enable-shared --enable-openmp and for mpi in addition: MPICC=mpiicc --enable-mpi LDFLAGS=-L/path/to/mpi/libs CPPFLAGS=-I/path/to/mpi/include ...’ check the available configuration switches using configure --help=short If making different optimized versions, you can also give a version --comand-suffix=SUFFIX for lapw0 you can check wether you use the correct fftw3 using: ldd lapw0 is it the one you intended to be used ? Check also your LD_LIBRARY_PATH Ciao Gerhard DEEP THOUGHT in D. Adams; Hitchhikers Guide to the Galaxy: "I think the problem, to be quite honest with you, is that you have never actually known what the question is." ==================================== Dr. Gerhard H. Fecher Institut of Physics Johannes Gutenberg - University 55099 Mainz -- Dr. Michael Fechtelkord Institut für Geologie, Mineralogie und Geophysik Ruhr-Universität Bochum Universitätsstr. 150<https://www.google.com/maps/search/Universit%C3%A4tsstr.+150?entry=gmail&source=g> D-44780 Bochum Phone: +49 (234) 32-24380 Fax: +49 (234) 32-04380 Email: [email protected]<mailto:[email protected]> Web Page: https://www.ruhr-uni-bochum.de/kristallographie/kc/mitarbeiter/fechtelkord/ _______________________________________________ Wien mailing list [email protected]<mailto:[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 _______________________________________________ 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

