Those undefined references, such as _intel_fast_memcpy, are defined in an Intel compiler library [1].?0?2 When using Intel compilers (ifort/icc/mpiifort), typically mkl is used instead of OpenBLAS as well as the Intel MPI Library [2].?0?2 Since you have used the gnu compilers (gfortran/gcc) to compile OpenBLAS, WIEN2k, and your flavor of mpi (whether that be Open-MPI [3], MVAPICH [4], or another one [5]), most likely you need to recompile FFTW3 with your mpi compiler (e.g. [6]) based on gfortran/gcc too.

[1] https://software.intel.com/en-us/forums/intel-c-compiler/topic/815696
[2] https://software.intel.com/content/www/us/en/develop/tools/mpi-library.html
[3] https://www.open-mpi.org/
[4] http://mvapich.cse.ohio-state.edu/
[5] https://en.wikipedia.org/wiki/MPICH#MPICH_derivatives
[6] https://www.open-mpi.org/faq/?category=mpi-apps#general-build

On 6/15/2020 7:36 PM, ???? wrote:

Thank you for your details.

Now, there is another problem. In order to generate the lapw0_mpi command, when I run ??make para?? in the SRC_lapw0, a part of the errors is shown as the following and the whole information is attached:

mpif90 -o ./lapw0_mpi cputim.o modules.o?0?2 W2kinit.o fft_modules.o reallocate.o acggac.o ????

ylm.o -ffree-form -O2 -ftree-vectorize -march=native -ffree-line-length-none -ffpe-summary=none -DFFTW3 -I/home-yw/Soft/fftw-3.3.8/include -fopenmp -L../SRC_lib -lfftw3_mpi -L/home-yw/Soft/fftw-3.3.8/lib -lfftw3 /home-yw/soft/packagedir/Openblas-0.39/gcc820/lib/libopenblas.so

/home-yw/Soft/fftw-3.3.8/lib/libfftw3_mpi.so: undefined reference to `_intel_fast_memcpy'

/home-yw/Soft/fftw-3.3.8/lib/libfftw3_mpi.so: undefined reference to `_intel_fast_memset'

/home-yw/Soft/fftw-3.3.8/lib/libfftw3_mpi.so: undefined reference to `_intel_fast_memmove'

/home-yw/Soft/fftw-3.3.8/lib/libfftw3_mpi.so: undefined reference to `__intel_sse2_strlen'

collect2: error: ld returned 1 exit status

make[1]: *** [lapw0_mpi] Error 1

make[1]: Leaving directory `/home-yg/users/YG_cheny/Soft/19.2/SRC_lapw0'

make: *** [para] Error 2



------------------?0?2?????????0?2------------------
*??????:*?0?2"Gavin Abo"<gs...@crimson.ua.edu>;
*????????:*?0?22020??6??8??(??????) ????8:18
*??????:*?0?2"wien"<wien@zeus.theochem.tuwien.ac.at>;
*????:*?0?2Re: [Wien] Wien Installation

In terms of OpenBLAS-0.3.9 libraries, in my OpenBLAS-0.3.9/lib, there are several files as the below: libopenblas_nehalemp-r0.3.9.a, libopenblas_nehalemp-r0.3.9.so, libopenblas.so, libopenblas.so.0, libopenblas.a. Are they as same as yours?
I have the following, but you have the same one named "libopenblas.so" that I use.

username@computername:~/WIEN2k$ ls ~/OpenBLAS-0.3.9/*.a ~/OpenBLAS-0.3.9/*.so
/home/username/OpenBLAS-0.3.9/libopenblas.a
/home/username/OpenBLAS-0.3.9/libopenblas_barcelonap-r0.3.9.a
/home/username/OpenBLAS-0.3.9/libopenblas_barcelonap-r0.3.9.so
/home/username/OpenBLAS-0.3.9/libopenblas.so
In addition, are there commands such as lapw0_mpi, lapw1_mpi and lapw1c_mpi generated by installing with gfortran+OpenBLAS, just like by installing with ifort?
No, the Intel Parallel Studio XE 2020 Cluster Edition has the Intel MPI Library [1] that provides intelmpi making it easy to build the WIEN2k *_mpi files.?0?2 For gfortran, it can be done but it is extra work as one has to install scalapack [2] and MPI (such as OpenMPI [3]) separately and then include them in the parallel compiler settings of WIEN2k in order to build the files.

[1] https://software.intel.com/content/www/us/en/develop/tools/parallel-studio-xe.html
[2] http://www.netlib.org/scalapack/
[3] https://www.open-mpi.org/software/ompi/v4.0/

Then during ./siteconfig_lapw, I choose O to set libraries ??R_LIBS(LAPACK+BLAS)??, then how to set the ??Real libraries??? Would you like to tell me how set the ??Real libraries?? parameter so that could obtain the result just like your path for R_LIBS as ??-L/home/username/OpenBLAS-0.3.9 -lopenblas -llapack_lapw ?Clpthread???

In my setting, I did a couple of tries and obtain three kinds of results as below:

1.When I set the R_LIBS such as /home/username/OpenBLAS-0.3.9/lib/libopenblas.so (or libopenblas.so.0, or libopenblas_nehalemp-r0.3.9.so), then the massage is: /usr/bin/ld: warning: libgfortran.so.3, needed by /home-yw/Soft/OpenBLAS-0.3.9/lib/libopenblas.so, may conflict with libgfortran.so.5.

2.When I set the R_LIBS such as /home/username/OpenBLAS-0.3.9/lib or /home/username/OpenBLAS-0.3.9, then the massage is: file not recognized: Is a directory.

3.When I set he R_LIBS such as ?0?2/home/username/OpenBLAS-0.3.9/lib/ libopenblas_nehalemp-r0.3.9.a (or libopenblas.a), then the error massage is much, including: /home-yw/Soft/OpenBLAS-0.3.9/lib/libopenblas_nehalemp-r0.3.9.a(blas_server.o): In function `goto_set_num_threads': blas_server.c:(.text+0x7f3): undefined reference to `pthread_create'.

All above relating files were attached.
Attached is copy of my compile.msg from SRC_aim that you can compare to yours. Below is what I used for a basic WIEN2k 19.2 install that should work for serial and k-point parallel calculations (but won't work for mpi calculations).?0?2 Of note, it looks like you will need to replace "/home/username/OpenBLAS-0.3.9" with "/home-yw/Soft/OpenBLAS-0.3.9/lib" on your system.?0?2 Also, you might notice below that the "-llapack_lapw" of WIEN2k is not needed since -lopenblas contains it own lapack library.


username@computername:~/WIEN2k$ ls WIEN2k_INSTALLDATE
WIEN2k_INSTALLDATE
username@computername:~/WIEN2k$ rm WIEN2k_INSTALLDATE
username@computername:~/WIEN2k$ ./siteconfig
...
continue or stop (c/s) c
...
?0?2 Selection: LG
...
?0?2?0?2?0?2?0?2 Press RETURN to continue
...
?0?2?0?2?0?2?0?2 Your compiler: gfortran
...
?0?2?0?2?0?2?0?2 Your compiler: gcc
...
?0?2Would you like to use LIBXC (that you have installed - usually not needed)? (y,N):
N
...
?0?2Do you want to use FFTW (recommended, but for sequential code not required)? (Y,n): n
...
Selection: R
?0?2?0?2?0?2?0?2 Real libraries=-L/home/username/OpenBLAS-0.3.9 -lopenblas 
-lpthread
...
?0?2Current settings:
?0?2 M?0?2?0?2 OpenMP switch:?0?2?0?2?0?2?0?2?0?2?0?2?0?2?0?2?0?2?0?2 -fopenmp
?0?2 O?0?2?0?2 Compiler options:?0?2?0?2?0?2?0?2?0?2?0?2?0?2 -ffree-form -O2 -ftree-vectorize -march=native -ffree-line-length-none -ffpe-summary=none
?0?2 L?0?2?0?2 Linker Flags:?0?2?0?2?0?2?0?2?0?2?0?2?0?2?0?2?0?2?0?2?0?2 
$(FOPT) -L../SRC_lib
?0?2 P?0?2?0?2 Preprocessor flags?0?2?0?2?0?2?0?2?0?2?0?2 '-DParallel'
?0?2 R?0?2?0?2 R_LIBS (LAPACK+BLAS):?0?2?0?2?0?2 -L/home/username/OpenBLAS-0.3.9 -lopenblas -lpthread
?0?2 F?0?2?0?2 FFTW options:
?0?2?0?2?0?2?0?2?0?2 FFTW-LIBS:
?0?2 X?0?2?0?2 LIBX options:
?0?2?0?2?0?2?0?2?0?2 LIBXC-LIBS:

?0?2 S?0?2?0?2 Save and Quit

?0?2?0?2?0?2?0?2?0?2 To change an item select option.
Selection: S
...
?0?2 Shared Memory Architecture? (y/N):y
?0?2 Do you know/need a command to bind your jobs to specific nodes?
?0?2 (like taskset -c). Enter N / your_specific_command: N
...
?0?2?0?2 (y/N) N
...
?0?2?0?2?0?2?0?2 Selection: Q
...
?0?2?0?2?0?2?0?2 Selection: A
...
Compile time errors (if any) were:


Check file?0?2?0?2 compile.msg?0?2?0?2 in the corresponding SRC_* directory for 
the
compilation log and more info on any compilation problem.
...
?0?2?0?2 Please enter the full path of the perl program: /usr/bin/perl
...
?0?2Please enter the full path to your temporary directory: /tmp
...
username@computername:~/WIEN2k$ userconfig
...
username@computername:~/WIEN2k$ gedit ~/.bashrc
username@computername:~/WIEN2k$ grep LD_LIBRARY ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/username/OpenBLAS-0.3.9
_______________________________________________
Wien mailing list
Wien@zeus.theochem.tuwien.ac.at
http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien
SEARCH the MAILING-LIST at:  
http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html

Reply via email to