- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
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.
링크가 복사됨
6 응답
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
-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.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
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.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
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
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
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.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
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.
