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

Having trouble compiling the Yambo source? Using an unusual architecture? Problems with the "configure" script? Problems in GPU architectures? This is the place to look.

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano, Conor Hogan, Nicola Spallanzani

Forum rules
If you have trouble compiling Yambo, please make sure to list:
(1) the compiler (vendor and release: e.g. intel 10.1)
(2) the architecture (e.g. 64-bit IBM SP5)
(3) if the problems occur compiling in serial/in parallel
(4) the version of Yambo (revision number/major release version)
(5) the relevant compiler error message
Sumit
Posts: 20
Joined: Wed Jun 09, 2021 12:10 pm

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

Post by Sumit » Fri May 06, 2022 3:33 am

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
You do not have the required permissions to view the files attached to this post.

User avatar
Daniele Varsano
Posts: 3814
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

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

Post by Daniele Varsano » 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
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Sumit
Posts: 20
Joined: Wed Jun 09, 2021 12:10 pm

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

Post by Sumit » Sat May 07, 2022 2:26 am

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
You do not have the required permissions to view the files attached to this post.

plasmon
Posts: 39
Joined: Thu Aug 23, 2018 9:18 am
Location: Fudan University, Shanghai, China
Contact:

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

Post by plasmon » Sat May 07, 2022 8:04 am

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
You do not have the required permissions to view the files attached to this post.
Dr. Hao Zhang
Department of Optical Science and Engineering, Fudan University,Shanghai 200433, China
http://homepage.fudan.edu.cn/zhanghao/

User avatar
Nicola Spallanzani
Posts: 63
Joined: Thu Nov 21, 2019 10:15 am

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

Post by Nicola Spallanzani » 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
Nicola Spallanzani, PhD
S3 Centre, Istituto Nanoscienze CNR and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu

DmitrySkachkov
Posts: 4
Joined: Mon Dec 13, 2021 8:52 pm
Contact:

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

Post by DmitrySkachkov » 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
Dmitry Skachkov
University of Central Florida
https://github.com/Dmitry-Skachkov

plasmon
Posts: 39
Joined: Thu Aug 23, 2018 9:18 am
Location: Fudan University, Shanghai, China
Contact:

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

Post by plasmon » Mon May 09, 2022 8:49 am

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
You do not have the required permissions to view the files attached to this post.
Dr. Hao Zhang
Department of Optical Science and Engineering, Fudan University,Shanghai 200433, China
http://homepage.fudan.edu.cn/zhanghao/

User avatar
Nicola Spallanzani
Posts: 63
Joined: Thu Nov 21, 2019 10:15 am

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

Post by Nicola Spallanzani » Mon May 09, 2022 9:36 am

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
Nicola Spallanzani, PhD
S3 Centre, Istituto Nanoscienze CNR and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu

plasmon
Posts: 39
Joined: Thu Aug 23, 2018 9:18 am
Location: Fudan University, Shanghai, China
Contact:

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

Post by plasmon » Tue May 10, 2022 3:25 am

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
Dr. Hao Zhang
Department of Optical Science and Engineering, Fudan University,Shanghai 200433, China
http://homepage.fudan.edu.cn/zhanghao/

DmitrySkachkov
Posts: 4
Joined: Mon Dec 13, 2021 8:52 pm
Contact:

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

Post by DmitrySkachkov » Tue May 10, 2022 8:38 pm

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
Dmitry Skachkov
University of Central Florida
https://github.com/Dmitry-Skachkov

Post Reply