ifort: command line warning #10159:

ifort: command line warning #10159:

Hi,

I was trying to install a Tinker program, which by default requires ifortran compiler. Unfortunately I did not manage to install it to the very end. I received that message:

/opt/intel/bin/ifort -O3 -no-ipo -no-prec-div -openmp -static-intel -mmacosx-version-min=10.4 -o alchemy.x alchemy.o libtinker.a -L/Users/ponder/tinker/fftw/lib -lfftw3_omp -lfftw3; strip alchemy.x
ifort: command line warning #10159: invalid argument for option '-m'
ld: cannot find -lfftw3_omp
ld: cannot find -lfftw3
strip: 'alchemy.x': No such file

I have no experience in that field. What am I supposed to do in this case? Is that Tinker's or compiler's fault?

Thank you in advance.

7 post / 0 nuovi
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione

-mmacosx-version-min=10.4 is not a valid option for Intel Fortran. -m is used to select the instruction set, for example, -mavx. Intel Fortran doesn't have an option that specifies a minimum MacOS version.

Steve - Intel Developer Support

With some distributions of MKL (whether as a separate product or as part of a compiler product) you have to build the FFTW libraries yourself, using the sources and makefile provided in the distribution.

First, check If you have the libraries in question (fftw3 and fftw3_omp) in the /Users/ponder/tinker/fftw/lib directpry. If not, look in the MKL examples directories and build the FFTW libraries.

Thank you for your answer. I have already checked for these libraries. The strange thing is, that I do not use Macintosh, but Linux Ubuntu 12.04 . Should I modify the Makefile than?

I think I know what I did wrong. I have forgotten to uncomment correct option. When I look at the makefile, what I can see is:
##
## Machine: Generic Linux
## CPU Type: Intel x86 Compatible
## Oper Sys: Fedora Core
## Compiler: GNU gfortran
##

#F77 = /usr/bin/gfortran
#LIBS =
#F77FLAGS = -c
#OPTFLAGS = -O
#LIBFLAGS = -crusv
#LINKFLAGS =

##
## Machine: Generic Linux
## CPU Type: Intel x86 Compatible (also AMD)
## Oper Sys: Fedora Core
## Compiler: Intel Fortran for Linux 12.0
##

F77 = /opt/intel/bin/ifort
LIBS =
F77FLAGS = -c -xHost -vec-report0
OPTFLAGS = -O3 -no-ipo -no-prec-div
LIBFLAGS = -crusv
LINKFLAGS = -static-intel

##
## Machine: Generic Linux
## CPU Type: Intel x86 Compatible (also AMD)
## Oper Sys: Fedora Core
## Compiler: Intel Fortran for Linux 12.0
## Parallel: OpenMP

F77 = /opt/intel/bin/ifort
#LIBS = -L$(TINKERDIR)/fftw/lib -lfftw3_omp -lfftw3
#F77FLAGS = -c -xHost -assume cc_omp
#OPTFLAGS = -O3 -no-ipo -no-prec-div -openmp
#LIBFLAGS = -crusv
#LINKFLAGS = $(OPTFLAGS) -static-intel

And the rest is Macintosh. So I was trying to uncomment one of these one after another and it did not help. When I choose to use the last option, I get similar message:

/opt/intel/bin/ifort -O3 -no-ipo -no-prec-div -openmp -static-intel -o alchemy.x alchemy.o libtinker.a -L/Users/ponder/tinker/fftw/lib -lfftw3_omp -lfftw3; strip alchemy.x
ld: cannot find -lfftw3_omp
ld: cannot find -lfftw3
strip: 'alchemy.x': No such file
make: *** [alchemy.x] Błąd 1

Are you targeting IA32 or X64 for your application? Note that the MKL and FFTW3 libraries may have been installed for both targets, in different sub-directories. In your makefile, make sure that you specify 32-bit library names and paths if your target is IA32.

As you said you were using ifort 12, MKL fftw would be supplied with the compiler as an optional install, and the paths for it would be set by sourceing the compilervars script. So you would leave the ifort and MKL paths out of your Makefile, relying on the compilervars setting.

Lascia un commento

Eseguire l'accesso per aggiungere un commento. Non siete membri? Iscriviti oggi