Snappy-conf problem with GLIBC library

Hello,

we are trying to configure Snappy using locally installed python3.4 on our SUSE Linux 11 server:

cd /bin
./snappy-conf /bin/python3

but we get the following error:

Configuring SNAP-Python interface…
java.io.IOException: Python configuration failed.
Command [/bin/python3 ./snappyutil.py --snap_home --java_module <snap_dir>/snap/modules/org-esa-snap-snap-python.jar --force --log_file ./snappyutil.log --jvm_max_mem 66G --java_home <snap_dir>/jre --req_arch amd64]
failed with return code 30.
Please check the log file ‘/.snap/snap-python/snappy/snappy/snappyutil.log’.
at org.esa.snap.python.PyBridge.configureJpy(PyBridge.java:232)
at org.esa.snap.python.PyBridge.installPythonModule(PyBridge.java:149)
at org.esa.snap.rcp.cli.SnapArgsProcessor.processPython(SnapArgsProcessor.java:103)
at org.esa.snap.rcp.cli.SnapArgsProcessor.process(SnapArgsProcessor.java:49)
at org.netbeans.modules.sendopts.DefaultProcessor.process(DefaultProcessor.java:202)
at org.netbeans.spi.sendopts.Option$1.process(Option.java:387)
at org.netbeans.api.sendopts.CommandLine.process(CommandLine.java:317)
at org.netbeans.modules.sendopts.HandlerImpl.execute(HandlerImpl.java:62)
at org.netbeans.modules.sendopts.Handler.cli(Handler.java:69)
at org.netbeans.CLIHandler.notifyHandlers(CLIHandler.java:234)
at org.netbeans.core.startup.CLICoreBridge.cli(CLICoreBridge.java:82)
at org.netbeans.CLIHandler.notifyHandlers(CLIHandler.java:234)
at org.netbeans.CLIHandler$1.exec(CLIHandler.java:268)
at org.netbeans.CLIHandler.finishInitialization(CLIHandler.java:447)
at org.netbeans.MainImpl.finishInitialization(MainImpl.java:256)
at org.netbeans.Main.finishInitialization(Main.java:92)
at org.netbeans.core.startup.Main.start(Main.java:316)
at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:123)
at java.lang.Thread.run(Thread.java:745)
Python configuration error: Python configuration failed.
Command [/bin/python3 ./snappyutil.py --snap_home --java_module /snap/modules/org-esa-snap-snap-python.jar --force --log_file ./snappyutil.log --jvm_max_mem 66G --java_home /jre --req_arch amd64]
failed with return code 30.
Please check the log file ‘/.snap/snap-python/snappy/snappy/snappyutil.log’.

The snappyutil.log file contains:

INFO: Installing from Java module ‘/snap/modules/org-esa-snap-snap-python.jar’
WARNING: Architecture requirement possibly not met: Python is x86_64 but JVM requires amd64
INFO: Installing jpy…
INFO: Extracting ‘lib/jpy-0.8.0-cp34-cp34m-linux_x86_64.whl’ from ‘/snap/modules/org-esa-snap-snap-python.jar’
INFO: Unzipping ‘/.snap/snap-python/snappy/snappy/lib/jpy-0.8.0-cp34-cp34m-linux_x86_64.whl’
INFO: Configuring jpy…
INFO: jpy Python API configuration written to ‘/.snap/snap-python/snappy/snappy/jpyconfig.py’
INFO: jpy Java API configuration written to ‘/.snap/snap-python/snappy/snappy/jpyconfig.properties’
INFO: Configuring snappy…
INFO: snappy configuration written to ‘/.snap/snap-python/snappy/snappy/snappy.ini’
INFO: Importing snappy for final test…
ERROR: Configuration failed
Traceback (most recent call last):
File “./snappyutil.py”, line 266, in _main
force=args.force)
File “./snappyutil.py”, line 213, in _configure_snappy
import(‘snappy’)
File “/.snap/snap-python/snappy/snappy/…/snappy/init.py”, line 64, in
import jpy
ImportError: /lib64/libc.so.6: version `GLIBC_2.14’ not found (required by /.snap/snap-python/snappy/snappy/jpy.cpython-34m.so)

Our current version of GLIBC was 2.11.3 so I have installed (locally) the required version GLIBC_2.14. But I do not know how to use this local library for the Snappy configuration. When I try to add the library path to LD_LIBRARY_PATH variable:

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib ./snappy-conf /bin/python3

I get a segmentation fault.

Could you, please, advice how to correctly use the local GLIBC libary at the Snappy configuration?

Thanks in advance for your help.

Luboslav

Hi Luboslav,

this has been asked a few times. See: https://forum.step.esa.int/search?q=GLIBC
But no definite guide for solving this issue has emerged.
But it seems the best way to solve it is to build jpy on your own.
See this thread and this guide for a manual jpy build