Linking with NETCDF

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
feffeficus
Posts: 31
Joined: Tue Apr 07, 2009 4:39 pm

Re: Linking with NETCDF

Post by feffeficus » Tue May 18, 2010 2:56 pm

Ok. The CCRT replied:


they say " apparently I should not use the precompiled nectdf from the module".

So on the machine Platine cluster bull from CCRT center compile like this:

Code: Select all

./configure --with-iotk=/home/cont003/feffe/CODES/PLATINE/espresso-4.1.2/iotk/src --with-fftw=/applications/fftw3-3.2.1/ --with-p2y=4.0 --enable-largedb FC=mpif90 FCFLAGS=-nofor-main LIBS="-lnetcdff -lnetcdf"
make yambo
make interfaces

it works.
Now I should only understand if it links properly or not the iotk....but this wil be eventually another nice post!

Thanks to all.
I will let you know.
Federico Iori - LSI - Ecole Polytechnique (Palaiseau) France - http://www.etsf.polytechnique.fr

c3031929
Posts: 14
Joined: Fri Apr 09, 2010 6:21 am

Re: Linking with NETCDF

Post by c3031929 » Wed May 26, 2010 8:08 am

Hi,

I seem to have a similar problem to Feffe here. I don't understand how he solved his. I have previously compiled YAMBO successfully without NetCDF, but now I need to re-compile YAMBO with NetCDF included. I can successfully compile NetCDF, but when it comes to linking YAMBO I keep running into the following error:

...
/home/dwalton/NetCDF/netcdf-4.1.1/libncdap3/oc/curlfunctions.c:49: undefined reference to `curl_easy_setopt'
/home/dwalton/Yambo_NetCDF/yambo-3.2.1-r.448/lib/libnetcdf.a(liboc_la-curlfunctions.o):/home/dwalton/NetCDF/netcdf-4.1.1/libncdap3/oc/curlfunctions.c:53: more undefined references to `curl_easy_setopt' follow
make[1]: *** [yambo] Error 1
make[1]: Leaving directory `/home/dwalton/Yambo_NetCDF/yambo-3.2.1-r.448/driver'
make: *** [yambo] Error 2

Any help here would be appreciated. The configure and compilation logs are attached.

Cheers,

Danno
You do not have the required permissions to view the files attached to this post.
Daniel Walton
Honours Student
Physics Department, University of Newcastle, Australia

User avatar
claudio
Posts: 456
Joined: Tue Mar 31, 2009 11:33 pm
Location: Marseille
Contact:

Re: Linking with NETCDF

Post by claudio » Wed May 26, 2010 8:25 am

Dear Daniel

may you compile Yambo with the option --enable-msgs-comps and send us again all the log files
and also the file config.log
Claudio Attaccalite
[CNRS/ Aix-Marseille Université/ CINaM laborarory / TSN department
Campus de Luminy – Case 913
13288 MARSEILLE Cedex 09
web site: http://www.attaccalite.com

c3031929
Posts: 14
Joined: Fri Apr 09, 2010 6:21 am

Re: Linking with NETCDF

Post by c3031929 » Thu May 27, 2010 3:37 am

All three files are now attached.

Cheers,

Danno
You do not have the required permissions to view the files attached to this post.
Daniel Walton
Honours Student
Physics Department, University of Newcastle, Australia

User avatar
claudio
Posts: 456
Joined: Tue Mar 31, 2009 11:33 pm
Location: Marseille
Contact:

Re: Linking with NETCDF

Post by claudio » Thu May 27, 2010 9:44 am

Dear Danno

I think you have a problem in the NetCdf libraries, for some reason your system cannot find the curl libraries that are necessary for NetCdf.
It is a general problem not related directly to yambo, but to any code that uses netcdf.

Try to recompile netcdf with the option --disable-dap and the same compilers you use for yambo

You can also check these forums:
http://curl.haxx.se/mail/lib-2005-04/0251.html
http://ubuntuforums.org/showthread.php?p=8041499
Claudio Attaccalite
[CNRS/ Aix-Marseille Université/ CINaM laborarory / TSN department
Campus de Luminy – Case 913
13288 MARSEILLE Cedex 09
web site: http://www.attaccalite.com

c3031929
Posts: 14
Joined: Fri Apr 09, 2010 6:21 am

Re: Linking with NETCDF

Post by c3031929 » Wed Jun 16, 2010 4:57 am

Claudio,

Thank you, that did the trick!

Cheers,

Danno
Daniel Walton
Honours Student
Physics Department, University of Newcastle, Australia

mpayami
Posts: 7
Joined: Sun Oct 24, 2010 2:57 am

Re: Linking with NETCDF

Post by mpayami » Mon Apr 25, 2011 12:28 pm

Dear All,

I am using the latest version netcdf-4.1.2. I had problem in "./configure" command, and followed Myrta's advice using "--disable-dap --without-curl", so that the configure, compilation, check, and install was ok.
Now, in configuring yambo, I use the command:
./configure F77=ifort FC=ifort CC=icc CXX=icpc --with-netcdf-lib=/opt/NetCDF412/lib --with-netcdf-include=/opt/NetCDF412/include --with-iotk=/opt/QE421/iotk/ --with-p2y=4.0

The configure process completes successfully. When I try to compile, using "make yambo interfaces", in the linking step the following error message appears:

>>>[Linking yambo]<<<
make[1]: Entering directory `/tmp/yambo-3.2.3-rev.11/driver'
yambo_driver.F
/opt/intel/Compiler/11.1/072/lib/intel64/libimf.so: warning: warning: feupdateenv is not implemented and will always fail
/tmp/yambo-3.2.3-rev.11/lib/libio.a(io_elemental.o): In function `io_elemental_':
io_elemental.f90:(.text+0x143): undefined reference to `netcdf_mp_nf90_redef_'
io_elemental.f90:(.text+0x264): undefined reference to `netcdf_mp_nf90_def_var_manydims_'
io_elemental.f90:(.text+0x2bd): undefined reference to `netcdf_mp_nf90_def_var_onedim_'
io_elemental.f90:(.text+0x2ec): undefined reference to `netcdf_mp_nf90_enddef_'
io_elemental.f90:(.text+0x96b): undefined reference to `netcdf_mp_nf90_inq_varid_'
io_elemental.f90:(.text+0xab4): undefined reference to `netcdf_mp_nf90_put_var_fourbyteint_'
io_elemental.f90:(.text+0xc0c): undefined reference to `netcdf_mp_nf90_get_var_fourbyteint_'
io_elemental.f90:(.text+0xe7e): undefined reference to `netcdf_mp_nf90_put_var_1d_fourbyteint_'
io_elemental.f90:(.text+0x1377): undefined reference to `netcdf_mp_nf90_get_var_1d_fourbyteint_'
io_elemental.f90:(.text+0x195f): undefined reference to `netcdf_mp_nf90_put_var_fourbytereal_'
io_elemental.f90:(.text+0x1ad3): undefined reference to `netcdf_mp_nf90_get_var_fourbytereal_'
io_elemental.f90:(.text+0x1d9b): undefined reference to `netcdf_mp_nf90_put_var_1d_fourbytereal_'
io_elemental.f90:(.text+0x249a): undefined reference to `netcdf_mp_nf90_get_var_1d_fourbytereal_'
io_elemental.f90:(.text+0x2d55): undefined reference to `netcdf_mp_nf90_put_var_fourbyteint_'
io_elemental.f90:(.text+0x2ee9): undefined reference to `netcdf_mp_nf90_get_var_fourbyteint_'
io_elemental.f90:(.text+0x323a): undefined reference to `netcdf_mp_nf90_put_var_1d_text_'
io_elemental.f90:(.text+0x3437): undefined reference to `netcdf_mp_nf90_get_var_1d_text_'
/tmp/yambo-3.2.3-rev.11/lib/libio.a(io_bulk.o): In function `io_bulk_':
io_bulk.f90:(.text+0x1506): undefined reference to `netcdf_mp_nf90_redef_'
io_bulk.f90:(.text+0x1678): undefined reference to `netcdf_mp_nf90_def_var_manydims_'
io_bulk.f90:(.text+0x16a8): undefined reference to `netcdf_mp_nf90_enddef_'
io_bulk.f90:(.text+0x16f9): undefined reference to `netcdf_mp_nf90_inq_varid_'
io_bulk.f90:(.text+0x17be): undefined reference to `netcdf_mp_nf90_put_var_fourbyteint_'
io_bulk.f90:(.text+0x1876): undefined reference to `netcdf_mp_nf90_get_var_fourbyteint_'
io_bulk.f90:(.text+0x1949): undefined reference to `netcdf_mp_nf90_put_var_1d_fourbyteint_'
io_bulk.f90:(.text+0x1a17): undefined reference to `netcdf_mp_nf90_get_var_1d_fourbyteint_'
io_bulk.f90:(.text+0x1af9): undefined reference to `netcdf_mp_nf90_put_var_2d_fourbyteint_'
io_bulk.f90:(.text+0x1bc7): undefined reference to `netcdf_mp_nf90_get_var_2d_fourbyteint_'
io_bulk.f90:(.text+0x1cbd): undefined reference to `netcdf_mp_nf90_put_var_3d_fourbyteint_'
io_bulk.f90:(.text+0x1d8c): undefined reference to `netcdf_mp_nf90_get_var_3d_fourbyteint_'
io_bulk.f90:(.text+0x1e9d): undefined reference to `netcdf_mp_nf90_put_var_1d_onebyteint_'
io_bulk.f90:(.text+0x1f6c): undefined reference to `netcdf_mp_nf90_get_var_1d_onebyteint_'
io_bulk.f90:(.text+0x1ffa): undefined reference to `netcdf_mp_nf90_put_var_3d_fourbytereal_'
io_bulk.f90:(.text+0x2064): undefined reference to `netcdf_mp_nf90_get_var_3d_onebyteint_'
io_bulk.f90:(.text+0x2163): undefined reference to `netcdf_mp_nf90_put_var_fourbytereal_'
io_bulk.f90:(.text+0x221c): undefined reference to `netcdf_mp_nf90_get_var_fourbytereal_'
io_bulk.f90:(.text+0x22f4): undefined reference to `netcdf_mp_nf90_put_var_1d_fourbytereal_'
io_bulk.f90:(.text+0x23c3): undefined reference to `netcdf_mp_nf90_get_var_1d_fourbytereal_'
io_bulk.f90:(.text+0x2452): undefined reference to `netcdf_mp_nf90_put_var_2d_fourbytereal_'
io_bulk.f90:(.text+0x24bc): undefined reference to `netcdf_mp_nf90_get_var_2d_fourbytereal_'
io_bulk.f90:(.text+0x2559): undefined reference to `netcdf_mp_nf90_put_var_3d_fourbytereal_'
io_bulk.f90:(.text+0x25c2): undefined reference to `netcdf_mp_nf90_get_var_3d_fourbytereal_'
io_bulk.f90:(.text+0x4cb3): undefined reference to `netcdf_mp_nf90_put_var_3d_onebyteint_'
io_bulk.f90:(.text+0x4d6c): undefined reference to `netcdf_mp_nf90_get_var_3d_onebyteint_'
io_bulk.f90:(.text+0x4e25): undefined reference to `netcdf_mp_nf90_put_var_2d_fourbytereal_'
io_bulk.f90:(.text+0x4ede): undefined reference to `netcdf_mp_nf90_get_var_2d_fourbytereal_'
io_bulk.f90:(.text+0x4f90): undefined reference to `netcdf_mp_nf90_put_var_3d_fourbytereal_'
io_bulk.f90:(.text+0x5048): undefined reference to `netcdf_mp_nf90_get_var_3d_fourbytereal_'
/tmp/yambo-3.2.3-rev.11/lib/libmodules.a(mod_IO.o): In function `io_m_mp_io_connect_':
mod_IO.f90:(.text+0x147b): undefined reference to `netcdf_mp_nf90_create_'
mod_IO.f90:(.text+0x14a4): undefined reference to `netcdf_mp_nf90_enddef_'
mod_IO.f90:(.text+0x1acd): undefined reference to `netcdf_mp_nf90_open_'
mod_IO.f90:(.text+0x1c1a): undefined reference to `netcdf_mp_nf90_strerror_'
mod_IO.f90:(.text+0x1d17): undefined reference to `netcdf_mp_nf90_strerror_'
mod_IO.f90:(.text+0x1e1f): undefined reference to `netcdf_mp_nf90_open_'
mod_IO.f90:(.text+0x1e87): undefined reference to `netcdf_mp_nf90_create_'
mod_IO.f90:(.text+0x1eb0): undefined reference to `netcdf_mp_nf90_enddef_'
mod_IO.f90:(.text+0x1f5a): undefined reference to `netcdf_mp_nf90_strerror_'
mod_IO.f90:(.text+0x2067): undefined reference to `netcdf_mp_nf90_strerror_'
mod_IO.f90:(.text+0x2161): undefined reference to `netcdf_mp_nf90_strerror_'
mod_IO.f90:(.text+0x2782): undefined reference to `netcdf_mp_nf90_strerror_'
/tmp/yambo-3.2.3-rev.11/lib/libmodules.a(mod_IO.o): In function `io_m_mp_io_disconnect_':
mod_IO.f90:(.text+0x2b50): undefined reference to `netcdf_mp_nf90_close_'
mod_IO.f90:(.text+0x2d51): undefined reference to `netcdf_mp_nf90_strerror_'
mod_IO.f90:(.text+0x2df7): undefined reference to `netcdf_mp_nf90_inquire_'
/tmp/yambo-3.2.3-rev.11/lib/libmodules.a(mod_IO.o): In function `io_m_mp_file_is_open_':
mod_IO.f90:(.text+0x49bd): undefined reference to `netcdf_mp_nf90_inquire_'
/tmp/yambo-3.2.3-rev.11/lib/libmodules.a(mod_IO.o): In function `io_m_mp_netcdf_call_':
mod_IO.f90:(.text+0x4ab4): undefined reference to `netcdf_mp_nf90_strerror_'
/tmp/yambo-3.2.3-rev.11/lib/libmodules.a(mod_IO.o): In function `io_m_mp_netcdf_dim_':
mod_IO.f90:(.text+0x4c06): undefined reference to `netcdf_mp_nf90_inq_dimid_'
mod_IO.f90:(.text+0x4c2a): undefined reference to `netcdf_mp_nf90_def_dim_'
mod_IO.f90:(.text+0x4cc2): undefined reference to `netcdf_mp_nf90_strerror_'
/tmp/yambo-3.2.3-rev.11/lib/libmodules.a(mod_IO.o): In function `io_m_mp_variable_is_found_':
mod_IO.f90:(.text+0x4d77): undefined reference to `netcdf_mp_nf90_inq_varid_'
mod_IO.f90:(.text+0x4d9b): undefined reference to `netcdf_mp_nf90_inq_varid_'
make[1]: *** [yambo] Error 1
make[1]: Leaving directory `/tmp/yambo-3.2.3-rev.11/driver'
make: *** [yambo] Error 2

Any suggestions is highly appreciated.

With Best regards,
Mahmoud Payami
Physics Group, AEOI, Tehran, Iran

User avatar
claudio
Posts: 456
Joined: Tue Mar 31, 2009 11:33 pm
Location: Marseille
Contact:

Re: Linking with NETCDF

Post by claudio » Wed Apr 27, 2011 8:24 am

Dear All

did Yambo work with the version 4.1.1?
if it is so, I advise you to continue to use the 4.1.1 version, because
there are not relevant changes in NetCDF from 4.1.1 to 4.1.2 that can affect yambo code.

Otherwise if you want to use the 4.1.2, try to recompile everythings from scratch,
make a "make clean_all" in yambo and then check
1) that the compiler options are exactly the same in yambo and netcdf
2) that NetCDF are compiled without CURL library

let us know
Claudio
Claudio Attaccalite
[CNRS/ Aix-Marseille Université/ CINaM laborarory / TSN department
Campus de Luminy – Case 913
13288 MARSEILLE Cedex 09
web site: http://www.attaccalite.com

mpayami
Posts: 7
Joined: Sun Oct 24, 2010 2:57 am

Re: Linking with NETCDF

Post by mpayami » Thu Apr 28, 2011 6:58 am

Dear Claudio,

I succeeded to install yambo using "parallel-netcdf" from http://trac.mcs.anl.gov/projects/parallel-netcdf and the errors I posted above is disappeared. There was no need to install zlib-1.2.5 and hdf5-1.8.6. Do you use zlib and hdf5 for installing netsdf?

Bests,
mahmoud
Phys. Group, AEOI, Tehran, Iran

User avatar
claudio
Posts: 456
Joined: Tue Mar 31, 2009 11:33 pm
Location: Marseille
Contact:

Re: Linking with NETCDF

Post by claudio » Thu Apr 28, 2011 10:22 am

Dear mahmoud

> Do you use zlib and hdf5 for installing netsdf?

not yet, but in the next version of yambo we will implement the possibility
to use netcdf with hdf5

Cla
Claudio Attaccalite
[CNRS/ Aix-Marseille Université/ CINaM laborarory / TSN department
Campus de Luminy – Case 913
13288 MARSEILLE Cedex 09
web site: http://www.attaccalite.com

Post Reply