BUG

Runtime error when running ArcGIS Engine C++ samples on SUSE

Last Published: April 25, 2020

Description

When using Linux-SUSE to run any ArcGIS Engine C++ samples, the following error message appears at the command prompt:

"Could not open libarcsdk_rt.so: libelf.so.1: cannot open shared object
file: No such file or directory
Could not open libarcsdk_rt.so: libelf.so.1: cannot open shared object
file: No such file or directory
Could not open libarcsdk_rt.so: libelf.so.1: cannot open shared object
file: No such file or directory
Segmentation fault"

Cause

There are two implementations of libelf available for Linux: libelf.so.0 and libelf.so.1. Redhat distribution usually ships libelf.so.1 and non-Redhat distribution usually ships libelf.so.0. ESRI samples are built on top of the libelf.so.1 version. Therefore, running the sample code causes the compiler to complain that dependencies are not found.

Workaround

Follow the steps below.

  1. Use the objdump command to find out the dependencies.

    Code:
    objdump -x $ARCENGINEHOME/bin/libarcsdk_rt.so

    The prompt replies 'NEEDED libelf.so.1', which means that libarcsdk_rt.so is linked to libelf.so.1 when the library is built.
  2. Create a symbolic link that points to libelf.so.1.
    Code:
    $ ln -s libelf.so.0 libelf.so.1

Article ID:000008150

Software:
  • ArcGIS Engine 9 x

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options

Discover more on this topic