Welcome to the Earthdata Forum! Here, the scientific user community and subject matter experts from NASA Distributed Active Archive Centers (DAACs), and other contributors, discuss research needs, data, and data applications.
by xpf7622 » Fri May 25, 2018 2:13 am America/New_York
I have downloaded file V2018077003000.LIA_SNPP.nc , when use calibrate_viirs deal with the file, there have some error as the following:
execution exception: java.io.IOException: calibrate_viirs failed with exit code 127. Check log for more details. calibrate_viirs: symbol lookup error: calibrate_viirs: undefined symbol: _ZN6netCDF6NcFileC1ERKSsNS0_8FileMode when I look for the string _ZN6netCDF6NcFileC1ERKSsNS0_8FileMode in google ?the page which url is https://alioth-lists.debian.net/pipermail/pkg-grass-devel/2015-August/034286.html give the following message: @@ -382,10 +501,14 @@ libnetcdf_c++4.so.1 libnetcdf-c++4-1 #MINVER# _ZN6netCDF6NcCharD2Ev at Base 4.2.1 _ZN6netCDF6NcChareqERKS0_ at Base 4.2.1 _ZN6netCDF6NcFileC1ERKNS_7NcGroupE at Base 4.2.1 + _ZN6netCDF6NcFileC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8FileModeE at Base 4.2.1 + _ZN6netCDF6NcFileC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_8FileModeENS0_10FileFormatE at Base 4.2.1 _ZN6netCDF6NcFileC1ERKSsNS0_8FileModeE at Base 4.2.1 So I try install libnetcdf-cxx_4.2.1.orig.tar.gz and version 4.3, and I use ldd calibrate_viirs find out the denpended lib, then I run nm /usr/local/lib/libnetcdf_c++4.so.1 |grep _ZN6netCDF6NcFileC1ERKSsNS0_8FileMode. but However, disappointingly, the string _ZN6netCDF6NcFileC1ERKSsNS0_8FileMode can't find. So ,who can give me some good method? (the OS is ubuntu 16.04 x64? seadas version is 7.4)
The name mangling for C++ changed at version g++-5, which seems to be the problem you are having. The command ldd calibrate_viirs should point to the $OCSSWROOT/opt/lib/libnetcdf_c++4.so.1 that we deliver. This assumes you have run:
by xpf7622 » Fri May 25, 2018 11:06 am America/New_York
ldd /home/xpf7622/seadas-7.4/ocssw/run/bin/linux_64/calibrate_viirs linux-vdso.so.1 => (0x00007fff5cb3e000) libnetcdf_c++4.so.1 => not found libnetcdf.so.11 => not found libhdf5.so.10.2.1 => not found libpugixml.so.1 => not found libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9e7101b000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9e70d12000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9e70990000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9e7077a000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9e703b0000) /lib64/ld-linux-x86-64.so.2 (0x00007f9e71238000) the result there can't find libnetcdf_c++4.so.1 , but I find it in directory "/home/xpf7622/seadas-7.4/ocssw/opt/lib" by the way, I have set the enviroment variables(export OCSSWROOT=/home/pfxie/seadas-7.4/ocssw?source $OCSSWROOT/OCSSW_bash.env) in ~/.bashrc even though I run the two commands in shell, the result of the " ldd /home/xpf7622/seadas-7.4/ocssw/run/bin/linux_64/calibrate_viirs" as the same before.
by gnwiii » Fri May 25, 2018 1:38 pm America/New_York
The "ldd" output indicates a problem with the environment variables. You mention: export OCSSWROOT=/home/pfxie/seadas-7.4/ocssw source $OCSSWROOT/OCSSW_bash.env, for user "pfxie", but then ldd /home/xpf7622/seadas-7.4/ocssw/run/bin/linux_64/calibrate_viirs for user "xpf7622". Are you attempting to share one seadas install across multiple users?
by xpf7622 » Fri May 25, 2018 8:42 pm America/New_York
The "ldd" output indicates a problem with the environment variables. You mention: export OCSSWROOT=/home/pfxie/seadas-7.4/ocssw source $OCSSWROOT/OCSSW_bash.env, for user "pfxie", but then ldd /home/xpf7622/seadas-7.4/ocssw/run/bin/linux_64/calibrate_viirs for user "xpf7622". Are you attempting to share one seadas install across multiple users?
above is my mistake export OCSSWROOT=/home/xpf7622/seadas-7.4/ocssw is he original configuration?only one user xpf7622.
The main problem is why system cant't find some lib that have already exist. Still not' working when I use add /home/xpf7622/seadas-7.4/ocssw/opt/lib in /etc/ld.so.conf and use sudo ldconfig command,
Sorry to mislead you in my earlier post. I have been thinking SeaDAS 7.5 when you were having problems with shared objects.
In SeaDAS 7.4 all of the OCSSW executables are statically linked, so ldd does not work on the executable we provide. I just installed 7.4 on a new install of Ubuntu 16.04 and the OCSSW binaries worked great. Including calibrate_viirs. Did you compile from source? The source for calibrate_viirs is not included in seadas 7.4 You may have a strange mix of 7.4 and 7.5
Not sure I can fix your current install. You may have to install a new copy in a different directory.
I have installed 7.5 and OCSSW by such command as " ./install_ocssw.py --install-dir=/home/pfxie/seadas-7.5/ocssw --git-branch=v7.5 --local=. --viirsn ", the above problem doesn't exist . but when i deal with V2018077003000.L1A_SNPP.nc file, there produce the follwing error. (I don't understand remote sensing technology) execution exception: java.io.IOException: calibrate_viirs failed with exit code 1. Check log for more details. Attempt to read Polar Wander file failed. VcstCmnGeo::LUT initialization failure VcstObc:: CmnGeo initialization failure VcstViirsCal::Granule initialization failure Main:: Calibration initialization failure
by the way when I use command: ./install_ocssw.py --install-dir=/home/pfxie/seadas-7.5/ocssw --git-branch=v7.5 --local=. --eval, the result as follow: Usage: install_ocssw.py [options] install_ocssw.py: error: no such option: --eval