Page 2 of 3

Re: Another problem with SDR v3.0

Posted: Sun Nov 18, 2018 4:43 pm
by lubo
The libpthread.so.0 version is 2.11.3 which is quite old. As I wrote, I would not like to corrupt our system by upgrading the system glibc library, therefore I installed newer glibc library (v2.23) locally. But I do not know how to use this local library together with the SDR 3.1 software.

Lubo

Re: Another problem with SDR v3.0

Posted: Mon Nov 19, 2018 12:21 pm
by scottm
You might try this. In the files cspp_sdr_runtime.sh

Around line 97

# insurance
export LD_LIBRARY_PATH=${CSPP_SDR_HOME}/common/ADL/lib:${CSPP_SDR_HOME}/common/local/lib64:${CSPP_SDR_HOME}/common/local/lib
export LD_LIBRARY_PATH="pathtoyourgcclibs":${LD_LIBRARY_PATH} . #add this, fill in the correct path

Let me know what happens

Re: Another problem with SDR v3.0

Posted: Mon Nov 19, 2018 2:36 pm
by lubo
Adding the line and running the viirs_sdr.sh script resulted in:
/kspt/CSPP/SDR_3_1/viirs/viirs_sdr.sh: line 24: 3134 Segmentation fault (core dumped) $PY ${CSPP_SDR_HOME}/viirs/adl_viirs_sdr.py -vv "$@"

Re: Another problem with SDR v3.0

Posted: Fri Nov 23, 2018 11:18 am
by lubo
Hi,
I have finally made some progress in solving the issue:

First, I have removed path to new version of glibc library from LD_LIBRARY_PATH in the cspp_sdr_runtime.sh script as it was producing the segmentation fault.

Then, I relinked the glibc and related libraries of all binaries in SDR_3_1/common/ADL/bin/ and SDR_3_1/common/ADL/tools/bin/ to newer local glibc v2.23 using the patchelf utility leaving all other libraries links unchanged. From now on, there are no libpthread related errors. The sdr_luts.sh script runs without any errors (output attached). I have executed this script several times to ensure no LUTs are missing. The viirs_sdr.sh script however still produces error message at the beginning about missing cache db and, what is worse, does not produce products from the granules (please, see the logs). If it can help, I attach also one of the XML files causing problems to ProSdrViirsController.exe.

Can this problem be still related to incompatible libraries or is it another one?
Thanks.

Lubo

Re: Another problem with SDR v3.0

Posted: Sat Nov 24, 2018 5:07 am
by lubo
Attached also the log file from ProSdrViirsGeoController.exe

Re: Another problem with SDR v3.0

Posted: Tue Nov 27, 2018 4:00 pm
by kathys
Hi Lubo,

After searching through the log messages and xml files that you staged, we think that you might now have a corrupted or partially initialized cache. Can you please try the following commands and send us the output:

ls -l $CSPP_SDR_HOME/anc/cache

ls -l $CSPP_SDR_HOME/anc/cache/db

ls -l $CSPP_SDR_HOME/anc/cache/incoming_luts

Sorry again for the problems that you have been having. Kathy

Re: Another problem with SDR v3.0

Posted: Tue Nov 27, 2018 5:19 pm
by lubo
Hi Kathy and Scott,
I am pleased to inform you that the problem was finally solved. After I completely reinstalled the SDR software (following all the steps in the manual) and patchelfed again the ADL programs with the newer glibc library, the software started to work. I must have made some mistake before.

Thank you both for your help.

Lubo

Re: Another problem with SDR v3.0

Posted: Wed Nov 28, 2018 12:03 pm
by kathys
Hi Lubo,

So glad it is working now. Sorry again for the trouble.

We want to make sure that we understand exactly what you needed to do to get it to work on your SUSE Linux system. You updated to glibc v2.23 using the patchelf utility. Was there anything else?

Thank you,

Kathy

Re: Another problem with SDR v3.0

Posted: Wed Nov 28, 2018 4:52 pm
by lubo
I am not aware of any other changes I would have made except for the mentioned patchelfing of the ADL programs (checked my command-line history as well as files modification time). To be precise, only the following executables needed to be patched to make the sdr_luts.sh, viirs_sdr.sh, atms_sdr.sh and cris_sdr.sh scripts work:

$CSPP_SDR_HOME/common/ADL/tools/bin/ADL_Unpacker.exe
$CSPP_SDR_HOME/common/ADL/tools/bin/IngMsd.exe
$CSPP_SDR_HOME/common/ADL/bin/ProSdrAtmsController.exe
$CSPP_SDR_HOME/common/ADL/bin/ProSdrCrisController.exe
$CSPP_SDR_HOME/common/ADL/bin/ProSdrViirsCalController.exe
$CSPP_SDR_HOME/common/ADL/bin/ProSdrViirsGeoController.exe

Using the patchelf utility, I appended path of the newer glibc library to the rpath of these executables and, of course, updated also the interpreter, e.g.:

./patchelf --set-interpreter $glibc-2.23-build/lib/ld-linux-x86-64.so.2 --set-rpath $CSPP_SDR_HOME/common/ADL/lib:$CSPP_SDR_HOME/common/local/lib:$CSPP_SDR_HOME/common/local/lib64:$glibc-2.23-build/lib $CSPP_SDR_HOME/common/ADL/bin/ProSdrViirsCalController.exe

I used glibc v2.23 but maybe any other version of glibc containing the required pthread_getname_np function (glibc v2.12 and higher) could be used as well (did not try).

The remaining ADL executables, i.e.:

$CSPP_SDR_HOME/common/ADL/tools/bin/UridCreator.exe
$CSPP_SDR_HOME/common/ADL/bin/ProSdrCrisFSController.exe

were not modified, neither any other executables or libraries.

Lubo

Re: Another problem with SDR v3.0

Posted: Thu Nov 29, 2018 12:01 pm
by kathys
Thanks very much for your detailed explanation.

Kathy