abinit-6.10.3 error message with make command

option, parallelism,...

Moderators: fgoudreault, mcote

Forum rules
Please have a look at ~abinit/doc/config/build-config.ac in the source package for detailed and up-to-date information about the configuration of Abinit 8 builds.
For a video explanation on how to build Abinit 7.x for Linux, please go to: http://www.youtube.com/watch?v=DppLQ-KQA68.
IMPORTANT: when an answer solves your problem, please check the little green V-like button on its upper-right corner to accept it.
MichalP
Posts: 14
Joined: Thu Jan 10, 2013 7:02 pm

Re: abinit-6.10.3 error message with make command

Post by MichalP » Wed Jan 16, 2013 6:36 pm

Here's the output of config.log pertaining to linear algebra support.

Code: Select all

configure:30017: checking for the requested linear algebra support
configure:30019: result: goto
configure:30050: checking whether to select a fallback for linear algebra
configure:30058: result: no
configure:30083: checking for BLAS support in specified libraries
configure:30092: /usr/local/Cellar/open-mpi/1.6.3/bin/mpif90 -o conftest  -g -ffree-line-length-none         conftest.F90 -L/usr/local/Cellar/openblas/0.2.5/lib -llapack -lcblas -lf77blas -latlas -lopenblas         >&5
ld: library not found for -lf77blas
collect2: ld returned 1 exit status
configure:30092: $? = 1
configure: failed program was:
|       program main
|
|       call zgemm
|
|       end
configure:30099: result: no
configure:30104: checking for AXPBY support in specified BLAS libraries
configure:30116: /usr/local/Cellar/open-mpi/1.6.3/bin/mpif90 -o conftest  -g -ffree-line-length-none         conftest.F90 -L/usr/local/Cellar/openblas/0.2.5/lib -llapack -lcblas -lf77blas -latlas -lopenblas         >&5
ld: library not found for -lf77blas
collect2: ld returned 1 exit status
configure:30116: $? = 1
configure: failed program was:
|       program main
|
|       call saxpby
|       call daxpby
|       call caxpby
|       call zaxpby
|
|       end
configure:30123: result: no
configure:30132: checking for gemm3m in specified libraries
configure:30142: /usr/local/Cellar/open-mpi/1.6.3/bin/mpif90 -o conftest  -g -ffree-line-length-none         conftest.F90 -L/usr/local/Cellar/openblas/0.2.5/lib -llapack -lcblas -lf77blas -latlas -lopenblas         >&5
ld: library not found for -lf77blas
collect2: ld returned 1 exit status
configure:30142: $? = 1
configure: failed program was:
|       program main
|
|      call cgemm3m
|      call zgemm3m
|
|       end
configure:30149: result: no
configure:30163: checking for mkl_imatcopy in specified libraries
configure:30175: /usr/local/Cellar/open-mpi/1.6.3/bin/mpif90 -o conftest  -g -ffree-line-length-none         conftest.F90 -L/usr/local/Cellar/openblas/0.2.5/lib -llapack -lcblas -lf77blas -latlas -lopenblas         >&5
ld: library not found for -lf77blas
collect2: ld returned 1 exit status
configure:30175: $? = 1
configure: failed program was:
|       program main||       call mkl_simatcopy
|       call mkl_dimatcopy
|       call mkl_cimatcopy
|       call mkl_zimatcopy
|
|       end
configure:30182: result: no
configure:30191: checking for mkl_omatcopy in specified libraries
configure:30203: /usr/local/Cellar/open-mpi/1.6.3/bin/mpif90 -o conftest  -g -ffree-line-length-none         conftest.F90 -L/usr/local/Cellar/openblas/0.2.5/lib -llapack -lcblas -lf77blas -latlas -lopenblas         >&5
ld: library not found for -lf77blas
collect2: ld returned 1 exit statusconfigure:30203: $? = 1configure: failed program was:
|       program main
|
|       call mkl_somatcopy
|       call mkl_domatcopy
|       call mkl_comatcopy
|       call mkl_zomatcopy
|
|       end
configure:30210: result: no
configure:30219: checking for mkl_omatadd in specified libraries
configure:30231: /usr/local/Cellar/open-mpi/1.6.3/bin/mpif90 -o conftest  -g -ffree-line-length-none         conftest.F90 -L/usr/local/Cellar/openblas/0.2.5/lib -llapack -lcblas -lf77blas -latlas -lopenblas         >&5
ld: library not found for -lf77blascollect2: ld returned 1 exit statusconfigure:30231: $? = 1
configure: failed program was:
|       program main
|
|       call mkl_somatadd
|       call mkl_comatadd
|       call mkl_domatadd
|       call mkl_zomatadd
|
|       end
configure:30238: result: no
configure:30249: checking for LAPACK support in specified libraries
configure:30258: /usr/local/Cellar/open-mpi/1.6.3/bin/mpif90 -o conftest  -g -ffree-line-length-none         conftest.F90 -L/usr/local/Cellar/openblas/0.2.5/lib -llapack -lcblas -lf77blas -latlas -lopenblas         >&5
ld: library not found for -lf77blas
collect2: ld returned 1 exit status
configure:30258: $? = 1
configure: failed program was:
|       program main
|
|       call zhpev
|
|       end
configure:30265: result: no
configure:30268: checking for BLACS support in specified libraries
configure:30277: /usr/local/Cellar/open-mpi/1.6.3/bin/mpif90 -o conftest  -g -ffree-line-length-none         conftest.F90 -L/usr/local/Cellar/openblas/0.2.5/lib -llapack -lcblas -lf77blas -latlas -lopenblas         >&5
ld: library not found for -lf77blas
collect2: ld returned 1 exit status
configure:30277: $? = 1
configure: failed program was:
|       program main
|
|       call blacs_gridinit
|
|       end
configure:30284: result: no
configure:30287: checking for ScaLAPACK support in specified libraries
configure:30296: /usr/local/Cellar/open-mpi/1.6.3/bin/mpif90 -o conftest  -g -ffree-line-length-none         conftest.F90 -L/usr/local/Cellar/openblas/0.2.5/lib -llapack -lcblas -lf77blas -latlas -lopenblas         >&5
ld: library not found for -lf77blas
collect2: ld returned 1 exit status
configure:30296: $? = 1
configure: failed program was:
|       program main
|
|       call pzheevx
|
|       end
configure:30303: result: no
configure:30306: checking for MAGMA (version>=1.1.0) support in specified libraries
configure:30308: checking TEST
configure:30317: /usr/local/Cellar/open-mpi/1.6.3/bin/mpif90 -o conftest  -g -ffree-line-length-none         conftest.F90 -L/usr/local/Cellar/openblas/0.2.5/lib -llapack -lcblas -lf77blas -latlas -lopenblas         >&5
ld: library not found for -lf77blas
collect2: ld returned 1 exit status
configure:30317: $? = 1
configure: failed program was:
|       program main
|
|       call magmaf_zhegvd
|
|       end
configure:30324: result: no
configure:30932: checking whether we have a serial linear algebra support
configure:30934: result: no
configure:30963: WARNING: falling back to internal linear algebra libraries
configure:30970: checking whether we have a MPI linear algebra support
configure:30972: result: no
configure:30992: checking whether we have a GPU linear algebra support
configure:30994: result: no
configure:31244: checking for the actual linear algebra support
configure:31246: result: netlib-fallback
configure:31550: checking for the requested algorithmic support
configure:31552: result: none
configure:31998: checking for the actual algorithmic support
configure:32000: result: none
configure:32301: checking for the requested math support
configure:32303: result: none
configure:32864: checking for the actual math support
configure:32866: result: none
Last edited by MichalP on Thu Jan 17, 2013 4:01 pm, edited 1 time in total.

User avatar
gmatteo
Posts: 291
Joined: Sun Aug 16, 2009 5:40 pm

Re: abinit-6.10.3 error message with make command

Post by gmatteo » Wed Jan 16, 2013 7:03 pm

ld: library not found for -lf77blas

It seems that libf77blas has not been installed in /usr/local/Cellar/openblas/0.2.5/lib

MichalP
Posts: 14
Joined: Thu Jan 10, 2013 7:02 pm

Re: abinit-6.10.3 error message with make command

Post by MichalP » Wed Jan 16, 2013 7:56 pm

libopenblas.dylib and libopenblas_sandybridgep-r0.2.5.dylib are the only libraries in /usr/local/Cellar/openblas/0.2.5/lib
Should I also compile openblas from source to ensure all the libraries I need are present? I got openblas from homebrew/science
https://github.com/Homebrew/homebrew-sc ... penblas.rb

User avatar
Alain_Jacques
Posts: 279
Joined: Sat Aug 15, 2009 9:34 pm
Location: Université catholique de Louvain - Belgium

Re: abinit-6.10.3 error message with make command

Post by Alain_Jacques » Thu Jan 17, 2013 11:18 am

Hi Michal,

-llapack -lcblas -lf77blas -latlas is the recipe for ATLAS linalg linking, not openBLAS. The openBLAS library contains BLAS and an optimized LAPACK. So for your homebrew system, the right abinit configure option for linalg should be --with-linalg-libs="-L/usr/local/Cellar/openblas/0.2.5/lib -lopenblas". Don't forget to add /usr/local/Cellar/openblas/0.2.5/lib to the DYLIB_LIBRARY_PATH environment variable as shown earlier with someting like export DYLIB_LIBRARY_PATH=/usr/local/Cellar/openblas/0.2.5/lib:$DYLIB_LIBRARY_PATH - homebrew setup maybe already does it but it won't hurt to be sure. Same story for all the paths to the libraries that aren't in canonic locations.
Again if configure falls back on internal linalg, attach the new config.log
I also suggest to group the configure options at the beginning and the environment variables at the end i.e. configure --enable-mpi="yes" .... FCCPP=/usr/local/gfortran/bin/cpp ... there are sometimes strange side effects when they are mixed.

Kind regards,

Alain

MichalP
Posts: 14
Joined: Thu Jan 10, 2013 7:02 pm

Re: abinit-6.10.3 error message with make command

Post by MichalP » Thu Jan 17, 2013 3:50 pm

Success! Thank you very much for all your help!

Here are the configure options I used:

../configure FCCPP=/usr/local/gfortran/bin/cpp CFLAGS_OPTIM="-O2" FCFLAGS_OPTIM="-O2" --enable-mpi="yes" --enable-optim="yes" --with-mpi-prefix="/usr/local/Cellar/open-mpi/1.6.3" --with-fft-flavor="fftw3" --with-fft-libs="-L/usr/local/fftw-3.3.3/lib -lfftw3" --with-linalg-flavor="goto" --with-linalg-libs="-L/usr/local/Cellar/openblas/0.2.5/lib -lopenblas"

Summary of important options:

* C compiler : gnu version
* Fortran compiler: gnu version 4.6
* architecture : ( bits)

* debugging : basic
* optimizations : yes

* OpenMP enabled : no (collapse: ignored)
* MPI enabled : yes
* MPI-IO enabled : yes
* GPU enabled : no (none)

* TRIO flavor = netcdf-fallback+etsf_io-fallback
* TIMER flavor = abinit (libs: ignored)
* LINALG flavor = goto (libs: user-defined)
* ALGO flavor = none (libs: ignored)
* FFT flavor = fftw3 (libs: user-defined)
* MATH flavor = none (libs: ignored)
* DFT flavor = libxc-fallback+atompaw-fallback+bigdft-fallback+wannier90-fallback

Configuration complete.

tests_v1 runs without any errors, what file should I check to ensure the tests all completed correctly?

Is there any other info I can include that might help future mac users out?

Thanks
Michal

User avatar
Alain_Jacques
Posts: 279
Joined: Sat Aug 15, 2009 9:34 pm
Location: Université catholique de Louvain - Belgium

Re: abinit-6.10.3 error message with make command

Post by Alain_Jacques » Thu Jan 17, 2013 4:39 pm

Hi Michal,

Glad it worked :-)

In the tests subdirectory where you built abinit i.e. the place from which you launched make tests_v1, you can check the results with a

Code: Select all

more */*/report
It gives a short summary. If some of them fail, you should go in the corresponding tests subdirectory and look at the offending txx.err , txx.diff and txx.out files where xx is the failed case.
You should also run the full accuracy test suite with a

Code: Select all

make tests_acc4
I assume your CPU can sustain four simultaneous threads and use the same more command to check all the report files.
As we are talking about threads, keep in mind that MPI and openBLAS may compete on your available cores (depending on how openBLAS was compiled) so you should have a look at https://github.com/xianyi/OpenBLAS for info about limiting the number of openBLAS threads if you notice cores overloading.

After installing abinit in its final location, you may have to invoke the export DYLD_LIBRARY_PATH=... if you have error messages about missing libraries when you launch abinit - this is related to homebrew configuration. Same story for PATH - if you use mpirun, check that you have the right one.

Kind regards,

Alain

MichalP
Posts: 14
Joined: Thu Jan 10, 2013 7:02 pm

Re: abinit-6.10.3 error message with make command

Post by MichalP » Thu Jan 17, 2013 6:57 pm

Sounds good, thanks again for the help. How can I tell if I have cores overloading?

While I am running the tests, I have between 2 and 4 abinit processes running, each at 4 threads, fluctuating between using 90 and 260% of the cpu each according to activity monitor.

User avatar
Alain_Jacques
Posts: 279
Joined: Sat Aug 15, 2009 9:34 pm
Location: Université catholique de Louvain - Belgium

Re: abinit-6.10.3 error message with make command

Post by Alain_Jacques » Fri Jan 18, 2013 12:06 pm

Hi Michal,

On OSX, use

Code: Select all

top -o cpu
to display the load or use Activity Monitor
The tests_acc4 launches a maximum of 4 simultaneous tests in order to keep a 4 cores systems busy. I think you mentioned that you have a I7 processor - it has either 2 or 4 "real" cores ... I don't take the hyperthreading into account. So with a load larger than 2 (for 2 cores) or 4 (for 4 cores), your system looses efficiency by switching context. So you should adjust mpirun -np parameter and OPENBLAS_NUM_THREADS environment variable to keep the load into the limit of the number of available cores.

Alain

Locked