Page 1 of 2

compilation error " No rule to make target 'lib' "

Posted: Fri May 06, 2022 3:33 am
by Sumit
Dear developers,

I am trying to install recent version Yambo 5.0 from github on my local machine having Ubuntu 18.04. I followed the steps below;

./configure FC=ifort F77=ifort CPP="icc -E" PFC=mpif90 CC=icc MPIFC='mpiifort' MPICC='mpiicc'
make -j4 hdf5
make -j4 netcdf
make -j4 yambo


No error appeared when installing hdf5 and netcdf. In the last step of yambo compilation, error appeared;

make[1]: *** No rule to make target 'lib'. Stop.
config/mk/global/actions/compile_yambo.mk:32: recipe for target 'yambo' failed
make: *** [yambo] Error 2

I searched this in yambo forum but not helped by any previous queries. Kindly suggest me to install Yambo. The config.log file is attached.
config.log
Thank You!

Regards
Sumit Kukreti
Phd Scholar Physics
Indian Institute of Technology Jodhpur
INDIA

Re: compilation error " No rule to make target 'lib' "

Posted: Fri May 06, 2022 9:04 am
by Daniele Varsano
Dear Sumit,

after a make clean, just reconfigure yambo (avoid PFC=mpif90), and then just type:
>make core

If it fails post here the error and config.log file.

Best,

Daniele

Re: compilation error " No rule to make target 'lib' "

Posted: Sat May 07, 2022 2:26 am
by Sumit
Dear Daniele sir,

I tried by the suggested way;
make clean
./configure FC=ifort F77=ifort CPP="icc -E" CC=icc MPIFC='mpiifort' MPICC='mpiicc'
make core


But again error appeared;
[lib/yambo/driver/src/interface] interface (checking work to be done)
[lib/yambo/driver/src/main] main (checking work to be done)
[lib/yambo/driver/src/options] options (checking work to be done)
make[2]: *** No rule to make target 'lib'. Stop.
config/mk/global/actions/compile_yambo.mk:32: recipe for target 'yambo' failed
make[1]: *** [yambo] Error 2
yambo build failed
config.log
Thank You

Regards
Sumit Kukreti
PhD scholar Physics
IIT Jodhpur INDIA

Re: compilation error " No rule to make target 'lib' "

Posted: Sat May 07, 2022 8:04 am
by plasmon
Dear Daniele,

I met similar error when compiling 5.1. I have attached my log files here. How to fix it? Thank you!
With best regards,
Hao Zhang
---------------------------------------------------------------------------------
[lib/qe_pseudo] qe_pseudo (checking work to be done)
[lib/qe_pseudo] libqe_pseudo.a (lib)
[lib/slatec] slatec (checking work to be done)
[lib/slatec] libslatec.a (lib)
[lib/math77] math77 (checking work to be done)
[lib/math77] libmath77.a (lib)
[lib/local] local (checking work to be done)
[lib/local] liblocal.a (lib)
[lib/yambo/driver/src/interface] interface (checking work to be done)
[lib/yambo/driver/src/main] main (checking work to be done)
[lib/yambo/driver/src/options] options (checking work to be done)
make[2]: *** No rule to make target `lib'. Stop.
make[1]: *** [yambo] Error 2
yambo build failed
-------------------------------------------------------------------------------------------------
Daniele Varsano wrote: Fri May 06, 2022 9:04 am Dear Sumit,

after a make clean, just reconfigure yambo (avoid PFC=mpif90), and then just type:
>make core

If it fails post here the error and config.log file.

Best,

Daniele

Re: compilation error " No rule to make target 'lib' "

Posted: Sun May 08, 2022 5:10 pm
by Nicola Spallanzani
Dear all,
it is a bug that we are going to fix before the final release. Here a workaround:

1) delete the directory yambo inside lib

Code: Select all

rm -rf lib/yambo
2) then clone the yambo-libraries repository in the same place:

Code: Select all

git clone https://github.com/yambo-code/yambo-libraries.git lib/yambo
Best regerds,
Nicola

Re: compilation error " No rule to make target 'lib' "

Posted: Sun May 08, 2022 10:37 pm
by DmitrySkachkov
Nicola Spallanzani wrote: Sun May 08, 2022 5:10 pm Dear all,
it is a bug that we are going to fix before the final release. Here a workaround:

1) delete the directory yambo inside lib

Code: Select all

rm -rf lib/yambo
2) then clone the yambo-libraries repository in the same place:

Code: Select all

git clone https://github.com/yambo-code/yambo-libraries.git lib/yambo
Best regerds,
Nicola
Hi Nicola,
Thank you! After fixing yambo library, the compilation started to work and created all executables except nl project, because of the following error:
ifort: error #10236: File not found: '.../yambo-5.1.1/lib/external/intel/mpiifort/lib/libiotk.a'

After copying libiotk.a from previous compilation (version 5.0.4, since iotk has the same version) everything finally compiled:
This is yambo - MPI+HDF5_MPI_IO - Ver. 5.1.1 Revision 21528 Hash 0e32e3c52
I used
Intel compiler 2019.3.199
mvapich2-2.3.1
hdf5-1.10.4

Kind,
Dmitry

Re: compilation error " No rule to make target 'lib' "

Posted: Mon May 09, 2022 8:49 am
by plasmon
Dear Spallanzani,

Thank you for the advice. I have followed your suggestion, but met with an error when compiling ypp. I have attached the log file here. How to fix it? Thank you!

With best regards,
Hao
-----------------------
[driver] ypp (checking work to be done)
[driver] ypp
[driver] ypp (link)
ypp linking failed. Check logs/compile_ypp.log
make[1]: *** [ypp] Error 1
ypp build failed

-------------------------------
Nicola Spallanzani wrote: Sun May 08, 2022 5:10 pm Dear all,
it is a bug that we are going to fix before the final release. Here a workaround:

1) delete the directory yambo inside lib

Code: Select all

rm -rf lib/yambo
2) then clone the yambo-libraries repository in the same place:

Code: Select all

git clone https://github.com/yambo-code/yambo-libraries.git lib/yambo
Best regerds,
Nicola

Re: compilation error " No rule to make target 'lib' "

Posted: Mon May 09, 2022 9:36 am
by Nicola Spallanzani
Dear Hao,
before to start to suppose what is going wrong now, I suggest to you to start the compilation from scratch doing the workaround before the configure procedure.

Best,
Nicola

Re: compilation error " No rule to make target 'lib' "

Posted: Tue May 10, 2022 3:25 am
by plasmon
DmitrySkachkov wrote: Sun May 08, 2022 10:37 pm
Nicola Spallanzani wrote: Sun May 08, 2022 5:10 pm Dear all,
it is a bug that we are going to fix before the final release. Here a workaround:

1) delete the directory yambo inside lib

Code: Select all

rm -rf lib/yambo
2) then clone the yambo-libraries repository in the same place:

Code: Select all

git clone https://github.com/yambo-code/yambo-libraries.git lib/yambo
Best regerds,
Nicola
Hi Nicola,
Thank you! After fixing yambo library, the compilation started to work and created all executables except nl project, because of the following error:
ifort: error #10236: File not found: '.../yambo-5.1.1/lib/external/intel/mpiifort/lib/libiotk.a'

After copying libiotk.a from previous compilation (version 5.0.4, since iotk has the same version) everything finally compiled:
This is yambo - MPI+HDF5_MPI_IO - Ver. 5.1.1 Revision 21528 Hash 0e32e3c52
I used
Intel compiler 2019.3.199
mvapich2-2.3.1
hdf5-1.10.4

Kind,
Dmitry
Dear Dmitry,

After following Nicola' method, my last error disappears, but I also met with the error "ifort: error #10236: File not found: '/public/src/qe/qe70-2/yambo/lib/external/intel/mpiifort/lib/libiotk.a'". And I have followed what you said, copy the file from 5.0.4 to 5.1 directory, but it still failed. Could you please describe your method with more details? Thank you!

With best regards,
Hao

Re: compilation error " No rule to make target 'lib' "

Posted: Tue May 10, 2022 8:38 pm
by DmitrySkachkov
plasmon wrote: Tue May 10, 2022 3:25 am Dear Dmitry,

After following Nicola' method, my last error disappears, but I also met with the error "ifort: error #10236: File not found: '/public/src/qe/qe70-2/yambo/lib/external/intel/mpiifort/lib/libiotk.a'". And I have followed what you said, copy the file from 5.0.4 to 5.1 directory, but it still failed. Could you please describe your method with more details? Thank you!

With best regards,
Hao
Hi Hao,

At first please check your yambo/bin directory. It should already contain all executables except yambo_nl. If not than you have some additional errors, please check your log file for additional errors before the last one, because compiler does not stop after the first error.

In my case I copied libiotk.a from 5.0.4 version to
.../yambo-5.1.1/lib/external/intel/mpiifort/lib/libiotk.a

and then made
> make nl-project

Kind,
Dmitry