error to create gettrk.exe

Submitted by ntmanh18196 on Tue, 05/18/2021 - 04:42

Hi GFDL's support team,

I got the error on creating the gettrk.exe program after I complied the standalone_gfdl-vortextracker_v3.9a, this error is displayed detailly like that:

cd gettrk ; make
make[2]: Entering directory `/work/users/weather/user/manh/GFDL/standalone_gfdl-vortextracker_v3.9a/trk_src/gettrk'
Makefile:19: warning: overriding recipe for target `.f.o'
../../configure.trk:76: warning: ignoring old recipe for target `.f.o'
ifort -O2 -fp-model precise   -integer-size 32 -real-size 32 -I../../libs/mods/g2 -I/work/apps/intel_2016/netcdf/4.3.3.1/include -I/include -I/work/apps/intel_2016/hdf5/1.8.15p1/include -c gettrk_modules.f 
gettrk_modules.f(2): warning #6379: The structure contains one or more misaligned fields.   [TCVCARD]
        type tcvcard         ! Define a new type for a TC Vitals card
-------------^
gettrk_modules.f(33): warning #6379: The structure contains one or more misaligned fields.   [GENCARD]
        type gencard     ! Define a new type for a genesis vitals card
-------------^
gettrk_modules.f(65): warning #6380: The structure length is not a multiple of its largest element; could create misalignments for arrays of this type.   [DATECARD]
        type datecard  ! Define a new type for the input namelist parms
-------------^
gettrk_modules.f(84): warning #6379: The structure contains one or more misaligned fields.   [TRACKSTUFF]
        type trackstuff  ! Define a new type for various tracker parms
-------------^
gettrk_modules.f(411): warning #6380: The structure length is not a multiple of its largest element; could create misalignments for arrays of this type.   [NETCDFSTUFF]
        type netcdfstuff  ! Define a new type for NetCDF information
-------------^
ifort -O2 -fp-model precise   -integer-size 32 -real-size 32 -I../../libs/mods/g2 -I/work/apps/intel_2016/netcdf/4.3.3.1/include -I/include -I/work/apps/intel_2016/hdf5/1.8.15p1/include -c module_waitfor.f 
/bin/rm -f cwaitfor.o
icc -O0 -DLINUX -DUNDERSCORE -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long'  -c cwaitfor.c    
ifort -O2 -fp-model precise   -integer-size 32 -real-size 32 -I../../libs/mods/g2 -I/work/apps/intel_2016/netcdf/4.3.3.1/include -I/include -I/work/apps/intel_2016/hdf5/1.8.15p1/include -Wl,-noinhibit-exec   gettrk_modules.o module_waitfor.o cwaitfor.o  gettrk_main.f -L../../libs/ -lw3emc_i4r8 -lw3nco_i4r8 -lbacio -lg2 -L/work/apps/intel_2016/netcdf/4.3.3.1/lib -lnetcdff -lnetcdf -L/lib -lpnetcdf -L/work/apps/intel_2016/hdf5/1.8.15p1/lib -lhdf5_hl -lhdf5hl_fortran -lhdf5 -lhdf5_fortran -L/work/apps/intel_2016/libpng/1.2.56/lib -L/work/apps/intel_2016/jasper/1.900.1/lib -L/work/apps/intel_2016/zlib/1.2.8/lib -lz -lpng -ljasper -o ../../trk_exec/gettrk.exe
ld: cannot find -lpnetcdf
make[2]: [../../trk_exec/gettrk.exe] Error 1 (ignored)
make[2]: Leaving directory `/work/users/weather/user/manh/GFDL/standalone_gfdl-vortextracker_v3.9a/trk_src/gettrk'
cd vint ; make
make[2]: Entering directory `/work/users/weather/user/manh/GFDL/standalone_gfdl-vortextracker_v3.9a/trk_src/vint'
ifort -O2 -fp-model precise   -integer-size 32 -real-size 32 -I../../libs/mods/g2 -Wl,-noinhibit-exec   vint.f -L../../libs -lw3emc_i4r8 -lw3nco_i4r8  -lbacio -lg2 -L/work/apps/intel_2016/libpng/1.2.56/lib -L/work/apps/intel_2016/jasper/1.900.1/lib -L/work/apps/intel_2016/zlib/1.2.8/lib -lz -lpng -ljasper -o ../../trk_exec/vint.exe
../../libs/libg2.a(enc_png.o): In function `enc_png_':
enc_png.c:(.text+0xb1): undefined reference to `png_set_longjmp_fn'
../../libs/libg2.a(dec_png.o): In function `dec_png_':
dec_png.c:(.text+0xca): undefined reference to `png_set_longjmp_fn'
make[2]: Leaving directory `/work/users/weather/user/manh/GFDL/standalone_gfdl-vortextracker_v3.9a/trk_src/vint'
cd tave ; make
make[2]: Entering directory `/work/users/weather/user/manh/GFDL/standalone_gfdl-vortextracker_v3.9a/trk_src/tave'
ifort -O2 -fp-model precise   -integer-size 32 -real-size 32 -I../../libs/mods/g2 -Wl,-noinhibit-exec   tave.f -L../../libs -lw3emc_i4r8 -lw3nco_i4r8 -lbacio -lg2 -L/work/apps/intel_2016/libpng/1.2.56/lib -L/work/apps/intel_2016/jasper/1.900.1/lib -L/work/apps/intel_2016/zlib/1.2.8/lib -lz -lpng -ljasper -o ../../trk_exec/tave.exe
../../libs/libg2.a(enc_png.o): In function `enc_png_':
enc_png.c:(.text+0xb1): undefined reference to `png_set_longjmp_fn'
../../libs/libg2.a(dec_png.o): In function `dec_png_':
dec_png.c:(.text+0xca): undefined reference to `png_set_longjmp_fn'
make[2]: Leaving directory `/work/users/weather/user/manh/GFDL/standalone_gfdl-vortextracker_v3.9a/trk_src/tave'
make[1]: Leaving directory `/work/users/weather/user/manh/GFDL/standalone_gfdl-vortextracker_v3.9a/trk_src'

Please help me to resolve this probleam!

Any suggestions will be appreciated.

Thanks all,

Manh

Hi Manh,

The error message indicates that it cannot find the pnetcdf library. Once you load the pnetcdf library, clean and re-compile the code. I hope this resolves the issue. Please let me know if you still run into problems. 

Thanks

Biswas

Hi Biswas,

Thank you for your explanation.

My HPC don't have module with Pnetcdf, so I export PNETCDF in my environment but it don't recognize this library.

In addition, I add this library to GRIBS_LIBS of config.trk like that:

GRIB2_LIBS      =   -L/work/apps/intel_2016/libpng/1.2.56/lib -L/work/apps/intel_2016/jasper/1.900.1/lib -L/work/apps/intel_2016/zlib/1.2.8/lib -L/work/apps/intel_2016/pnetcdf/1.9.0/lib -lz -lpng -ljasper -lpnetcdf

However, it still failed. Can you kindly give me any suggestions?

Thank you very much!

Bests,

Hi Manh,

Can you try doing "echo $PNETCDF"? e.g.:

$ echo $PNETCDF

/glade/u/apps/ch/opt/pnetcdf/1.11.1/impi/2018.4.274/intel/18.0.5/

Do you see something like this? If not try setting the PNETCDF environment in your area. Also, check whether the installation went fine or not. You should have bin include share etc directories under the $PNETCDF environment. In the compile.log try searching pnetcdf and you will get an idea why it is failing. If this does not resolve the issue I would like to see the configure.trk and compile.log files. 

Thanks

Hi Biswas,

Thank you for your explanation.

I've tried unloading all of my libraries then loading each library I need for compiling GFDL like netcdf, zlib, libpng, jasper. Although, my HPC system don't have a module for pnetcdf, I've set the environment to this library. Finally, it was compiled successfully. There are five executive files were created in the trk_exec directory.

Thank you again.

Bests,

Manh,

Hi Biswas,

I got the error during the gettrk running step although I've exported my environment to pnetcdf library.

[weather@igplogin multi]$ export PNETCDF=/work/apps/intel_2016/pnetcdf/1.9.0
[weather@igplogin multi]$ export PNETCDF_INC=$PNETCDF/include
[weather@igplogin multi]$ export PNETCDF_LIB=$PNETCDF/lib
[weather@igplogin multi]$ echo PNETCDF
PNETCDF
[weather@igplogin multi]$ echo $PNETCDF
/work/apps/intel_2016/pnetcdf/1.9.0
[weather@igplogin multi]$ echo $PNETCDF_INC
/work/apps/intel_2016/pnetcdf/1.9.0/include
[weather@igplogin multi]$ echo $PNETCDF_LIB
/work/apps/intel_2016/pnetcdf/1.9.0/lib
[weather@igplogin multi]$ ls $PNETCDF_LIB

[weather@igplogin multi]$ ./gettrk.exe < input.nml 
./gettrk.exe: error while loading shared libraries: libpnetcdf.so.1: cannot open shared object file: No such file or directory

Please help to me to resolve this problem.

Thank you very much!

Bests,

Manh,

Besides, I got the other error related to the ibmad library:

[cloud@igplogin multi]$ export LIB_IBMAD=../../libibmad-1.3.13/lib
[cloud@igplogin multi]$ ./gettrk.exe input.nml 
./gettrk.exe: error while loading shared libraries: libibmad.so.5: cannot open shared object file: No such file or directory

please help me to resolve this issue.

thank you very much!

Hi Manh,

From the error of not finding the pnetcdf library, it seems that it may be an issue with the LD_LIBRARY_PATH. Can you check whether you have LD_LIBRARY_PATH in your environment? It may be possible that it is pointing towards a different pnetcdf location. If that is the case you may want to specify the exact path of the libraries in your .bashrc file. Please let me know if this resolves your issue. 

Thanks

Biswas

Hi Biswas,

Thank you for your explanation. My problem is solved.

However, I got the other error came from the atcfplot.sh program which is displayed like that:

ga-> ./atcfplot.sh 2016 al
Unable to locate ENDIF statement for the IF statement at line 99
  In file ./atcfplot.sh
The line 99 of this script is "if [ ! -d $plotdir ]; then"

Please help me to resolve this problem.

Thank you very much!

Hi,

From the login prompt (ga->), it seems that you are typing the command after initializing grads. Can you try coming out of grads and typing the command in the login prompt?

Thanks

Biswas

Hi Biswas,

I tried using this command but it reported that:

./atcfplot.sh 2016 al
-bash: ./atcfplot.sh: /bin/ksh: bad interpreter: No such file or directory

Please help me to solve this problem.

Thank you very much!

Hi,

It seems you are running bash shell. The /bin/ksh assumes that you are running sh shell. Can you try using bash ./alcfplot.sh 2016 al and see if it resolves the issue. 

Thanks

Biswas

Hi Biswas,

Thank you very much! I've used the command according to your suggestion and it worked.

However, I got the warning about the cairo library like that:

Warning: The Cairo graphics display interface does not support buttons

So do I have to recompile the cairo library to address this issue?

Thank you very much!

Manh,

Hi Manh,

The capability was discontinued in Grads v2.1+. I have a older version of Grads to use the capability. You can also use your own script to plot track and intensity. 

Thanks

Biswas