Unable to relocate - Libraries appears to have hard-coded directories and runtime ignoring LD_LIBRARY_PATH
Thank you for making dia available.
STEPS TO REPRODUCE:
-
Installed Package: dia (0.97.3-1_amd64.deb_ from https://packages.ubuntu.com)
-
Copied payload to a USB stick
-
Attempted to run from USB stick on an HP Thin Client (oem'd Ubuntu 16.04) with result:
PROBLEM ENCOUNTERED:
$ LD_PRELOAD=/media/GenericFlash_sdb1/usr/lib/x86_64-linux-gnu/dia/libdia.so \
LD_LIBRARY_PATH=/media/GenericFlash_sdb1/usr/lib/x86_64-linux-gnu/dia \
/media/GenericFlash_sdb1/usr/bin/dia-normal
** (dia-normal:15556): CRITICAL **: Couldn't find standard objects when looking for object-libs in
'/usr/lib/x86_64-linux-gnu/dia'; exiting...
$
As can be seen above, both LD_PRELOAD
and LD_LIBRARY_PATH
appear not to have been honoured. ("ldd"ing the executable with just LD_LIBRARY_PATH
set to dia's library is sufficient to resolve all references).
RESOLUTION ATTEMPTED:
- Looked for config files -- didn't find any
- Checked the man page for command-line arguments or environment variables to handle installation relocation but didn't find any
- Inspected the executable and found embedded the hard-coded string mentioned in the error (in red above):
$ cd /media/GenericFlash_sdb1
$ grep -R x86_64-linux-gnu usr
Binary file usr/lib/x86_64-linux-gnu/dia/libcairo_filter.so matches
Binary file usr/lib/x86_64-linux-gnu/dia/libuml_objects.so matches
Binary file usr/lib/x86_64-linux-gnu/dia/libdia.so matches
Binary file usr/bin/dia-normal matches
$
The runtime environment is the above mentioned thin client and no corresponding development environment is available. Would kindly request guidance in running dia in this environment and use case.
Thank you.