warning: libcudart.so.4 needed

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
Post Reply
Stephan
Posts: 62
Joined: Thu Jan 15, 2015 12:48 pm

warning: libcudart.so.4 needed

Post by Stephan » Thu May 07, 2015 3:11 pm

Hi,
I try to install yambo on our new server and receive an error message concerning a cuda-library:

/usr/bin/ld: warning: libcudart.so.4, needed by /usr/local/lib/libmpich.so, not found (try using -rpath or -rpath-link)
/usr/local/lib/libmpich.so: Nicht definierter Verweis auf `cudaGetDeviceCount'
/usr/local/lib/libmpich.so: Nicht definierter Verweis auf `cudaGetDeviceProperties'
collect2: error: ld returned 1 exit status
make[1]: *** [yambo] Fehler 1
make[1]: Verlasse Verzeichnis '/home/yambo-3.4.1-rev61/driver'
make: *** [yambo] Fehler 2

Nicht definierter Verweis heißt "not defined link"

This is strange since there is a proper link to the mentioned library:

pi1@QuanQal2:/home/yambo-3.4.1-rev61$ echo $PATH
/opt/FPLO/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/intel/composer_xe_2013_sp1.3.174/mkl/bin/intel64:/usr/local/bin/espresso-5.1/bin:/usr/local/cuda-5.5/bin:/opt/intel/mkl/include:/opt/intel/composer_xe_2013_sp1.3.174/mkl/include:/usr/local/bin/yambo-3.4.1/bin:/usr/local/bin/gamess:/opt/intel/composerxe/bin:/opt/intel/composerxe/mkl/bin/intel64:/opt/FPLO/bin:/opt/intel/bin:/opt/FPLO/bin:/usr/local/cuda-5.5/bin

and

pi1@QuanQal2:/home/yambo-3.4.1-rev61$ echo $LD_LIBRARY_PATH
/opt/intel/composer_xe_2013_sp1.3.174/mkl/lib/intel64:/usr/local:/usr/lib:/usr/lib32:/usr/lib64:/usr/local/cuda-5.5/targets/x86_64-linux/lib:/opt/intel/composer_xe_2015.0.090/mkl/lib/intel64/:/usr/local/cuda-5.5/lib64:/usr/lib32/nvidia-331

pi1@QuanQal2:/home/yambo-3.4.1-rev61$ ls /usr/local/cuda-5.5/lib64
libcublas_device.a libcufftw.so libnppc.so
libcublas.so libcufftw.so.5.5 libnppc.so.5.5
libcublas.so.5.5 libcufftw.so.5.5.22 libnppc.so.5.5.22
libcublas.so.5.5.22 libcuinj64.so libnppi.so
libcudadevrt.a libcuinj64.so.5.5 libnppi.so.5.5
libcudart.so.4 libcuinj64.so.5.5.22 libnppi.so.5.5.22
libcudart.so.5.5 libcurand.so libnpps.so
libcudart.so.5.5.22 libcurand.so.5.5 libnpps.so.5.5
libcudart_static.a libcurand.so.5.5.22 libnpps.so.5.5.22
libcufft.so libcusparse.so libnvToolsExt.so
libcufft.so.5.5 libcusparse.so.5.5 libnvToolsExt.so.1
libcufft.so.5.5.22 libcusparse.so.5.5.22 libnvToolsExt.so.1.0.0

Do I have to link the library to yambo in the configuration step? Or is my Cuda version not suitable?

My configuration file is attached. In the config.log there are just a few parts of $PATH mentioned. Does that mean, that most parts of PATH are not recognized?

Thanks and Regards

Stephan
You do not have the required permissions to view the files attached to this post.
Stephan Ludwig
1. phyical institute
University Stuttgart
Germany

andrea.ferretti
Posts: 208
Joined: Fri Jan 31, 2014 11:13 am

Re: warning: libcudart.so.4 needed

Post by andrea.ferretti » Fri May 08, 2015 8:05 am

Hi Stefan,

Cuda should actually not be required to install yambo, and here it seems to come as a requirement because of
mpich. Have you checked you mpich installation works ?

take care
Andrea
Andrea Ferretti, PhD
CNR-NANO-S3 and MaX Centre
via Campi 213/A, 41125, Modena, Italy
Tel: +39 059 2055322; Skype: andrea_ferretti
URL: http://www.nano.cnr.it

Stephan
Posts: 62
Joined: Thu Jan 15, 2015 12:48 pm

Re: warning: libcudart.so.4 needed

Post by Stephan » Mon May 11, 2015 10:09 am

Hi Andrea,
thank you for your reply. I meanwhile solved the problem by installing a soft-link to the cuda-library in the /usr/lib/ direction.
(Don't know why that's necessary but I'm glad it helped..)

Now I received a further Error concerning the p2y installation:

>>>[Linking p2y]<<<
make[1]: Verzeichnis »/home/yambo-3.4.1-rev61/interfaces/p2y« wird betreten
qexml_v4.0.f90:30.6:

USE iotk_module
1
Fatal Error: Cannot read module file 'iotk_module.mod' opened at (1), because it was created by a different version of GNU Fortran
make[1]: *** [qexml_v4.0.o] Fehler 1
make[1]: Verzeichnis »/home/yambo-3.4.1-rev61/interfaces/p2y« wird verlassen
make: *** [interfaces] Fehler 2
pi1@QuanQal2:/home/yambo-3.4.1-rev61$


Does it mean, that Quantum-Espresso was installed with an old version of Fortran? I can't imagine since it is version espresso-5.1 so nothing from the last century...
Is it possible fix the problem without reinstall QE?

In the attachment you find the cited mod-file found in /home/espresso-5.1/S3DE/iotk/src (renamed with ending .txt. since I was not able to upload a file with mod-ending. It seems to be the case that my system is interpreting the file as a music-file..)
Stephan Ludwig
1. phyical institute
University Stuttgart
Germany

Stephan
Posts: 62
Joined: Thu Jan 15, 2015 12:48 pm

Re: warning: libcudart.so.4 needed

Post by Stephan » Mon May 11, 2015 10:11 am

Hello again,
sorry the mod-file was too big to be uploaded.
So here you can see the header of the file:

FORTRAN module version '6' created from iotk_module.f90 on Mon Sep 22 14:06:16 2014
MD5:584a841efa0825fc62d5b607734a83d6 -- If you edit this, you'll get what you deserve.

(() () () () () () () () () () () () () () () () () () () () () () ()
() () () ())

()

(('iotk_basefmt' 'iotk_fmt_interf' 2) ('iotk_close_write'
'iotk_files_interf' 3) ('iotk_close_read' 'iotk_files_interf' 4) (
'iotk_copy_tag' 'iotk_misc_interf' 5) ('iotk_copyfile' 'iotk_files_interf'
6) ('iotk_error_clear' 'iotk_error_interf' 7 8) (
'iotk_error_pool_pending' 'iotk_error_interf' 9) ('iotk_error_print'
'iotk_error_interf' 10 11) ('iotk_free_unit' 'iotk_unit_interf' 12) (
'iotk_get' 'iotk_misc_interf' 13) ('iotk_getline' 'iotk_scan_interf' 14)
('iotk_init_static_vars' 'iotk_misc_interf' 15) ('iotk_index'
'iotk_misc_interf' 16 17) ('iotk_link' 'iotk_files_interf' 18) (
'iotk_open_read' 'iotk_files_interf' 19) ('iotk_open_write'
'iotk_files_interf' 20) ('iotk_phys_unit' 'iotk_unit_interf' 21) (
'iotk_read' 'iotk_attr_interf' 22 23 24 25 26 27) ('iotk_readcmdline'
'iotk_misc_interf' 28) ('iotk_scan_begin' 'iotk_scan_interf' 29) (
'iotk_scan_attr' 'iotk_attr_interf' 30 31 32 33 34 35 36 37 38 39 40 41
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60) (
'iotk_scan_dat_inside' 'iotk_dat_interf' 61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
95) ('iotk_scan_end' 'iotk_scan_interf' 96) ('iotk_set' 'iotk_misc_interf'
97) ('iotk_scan_pi' 'iotk_scan_interf' 98) ('iotk_scan_empty'
'iotk_scan_interf' 99) ('iotk_scan_dat' 'iotk_dat_interf' 100 101 102
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
121 122 123 124 125 126 127 128 129 130 131 132 133 134) ('iotk_tool'
'iotk_tool_interf' 135) ('iotk_unit_get' 'iotk_unit_interf' 136) (
'iotk_unit_print' 'iotk_unit_interf' 137) ('iotk_print_kinds'
'iotk_misc_interf' 138) ('iotk_write_begin' 'iotk_write_interf' 139) (
'iotk_write_dat' 'iotk_dat_interf' 140 141 142 143 144 145 146 147 148
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
167 168 169 170 171 172 173 174) ('iotk_write_end' 'iotk_write_interf'
175) ('iotk_write_pi' 'iotk_write_interf' 176) ('iotk_write_empty'
'iotk_write_interf' 177) ('iotk_write_comment' 'iotk_write_interf' 178)
('iotk_write_attr' 'iotk_attr_interf' 179 180 181 182 183 184 185 186
187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204
205 206 207 208 209))

()

()

()

Please can anyone help?

Thanks and Regards

Stephan
Stephan Ludwig
1. phyical institute
University Stuttgart
Germany

andrea.ferretti
Posts: 208
Joined: Fri Jan 31, 2014 11:13 am

Re: warning: libcudart.so.4 needed

Post by andrea.ferretti » Mon May 11, 2015 10:34 am

Dear Stefan,

as you say, the error message is quite clear, f90 module files were created by different versions of the GNU compiler...
Actually I am not aware of tricks about fixing the mod files. Honestly, I think the easiest option is to recompile QE, usually it takes 5 minutes and then you are done. You do not need to recompile it all (make pw would do since you just need to build the iota library).
Optionally you can save your previous build if you want to keep on using it.

I know this is a bit annoying but should be quick. in any case, exactly because of this, yambo v4.0.0 is able to self-compile iota and there is no longer any need to refer to existing builds of QE.

Andrea
Andrea Ferretti, PhD
CNR-NANO-S3 and MaX Centre
via Campi 213/A, 41125, Modena, Italy
Tel: +39 059 2055322; Skype: andrea_ferretti
URL: http://www.nano.cnr.it

Post Reply