#1061644 octave-dev: The package should include an ld.so.conf fragment pointing to the shared libraries #1061644
- Package:
- octave-dev
- Source:
- octave-dev
- Description:
- development files for the GNU Octave language
- Submitter:
- Antony Donovan
- Date:
- 2024-01-29 13:12:04 UTC
- Severity:
- normal
- Tags:
Dear Maintainer, I installed octave-dev and after building a standalone executable with mkoctfile it failed to run. I realized that what was needed was an ld.so.conf fragment containing the directory where the shared libraries were located. I created that fragment, with the contents /usr/lib/x86_64-linux-gnu/octave/7.3.0, named it octave-dev.conf, put that file in /etc/ld.so.conf.d, and ran ldconfig. This fixed the issue of running the standalone octave executable.
* Antony Donovan <and@mit.edu> [2024-01-27 15:52]: Thank you for your bug report. Could you please provide us with a complete example that reproduces the bug? Best, Rafael Laboissière
* Antony Donovan <and@mit.edu> [2024-01-27 15:52]: Thank you for your bug report. Could you please provide us with a complete example that reproduces the bug? Best, Rafael Laboissière
Le dimanche 28 janvier 2024 à 22:18 +0100, Rafael Laboissière a écrit : I suppose that the issue appears with option --link-stand-alone of mkoctfile. I’m not sure that modifying the dynamic linker configuration for the whole system, as suggested by Antony, is the right thing to do, especially for a feature that is seldom used (mkoctfile is primarily used for building .oct and .mex files, not standalone executable). Octave libraries are private on purpose. Another solution is simply to set the rpath in the created ELF executable. I think we should ask upstream about the intended use of the --link- stand-alone option, and about the proper way of dealing with dynamic loading of private Octave libraries in that case.
Without the octave-dev.conf fragment in place, compile the attached file using $ mkoctfile --link-stand-alone embedded.cc -o embedded when I run created executable I see $ ./embedded ./embedded: error while loading shared libraries: liboctinterp.so.10: cannot open shared object file: No such file or directory After putting octave-dev.conf in /etc/ld.so.conf.d and running ldconfig I see $ ./embedded Available Octave Graphics Toolkits: fltk gnuplot Please let me know if you have any other questions or need anything else from me. Thanks, Antony Thank you for your bug report. Could you please provide us with a complete example that reproduces the bug? Best, Rafael Laboissière
Without the octave-dev.conf fragment in place, compile the attached file using $ mkoctfile --link-stand-alone embedded.cc -o embedded when I run created executable I see $ ./embedded ./embedded: error while loading shared libraries: liboctinterp.so.10: cannot open shared object file: No such file or directory After putting octave-dev.conf in /etc/ld.so.conf.d and running ldconfig I see $ ./embedded Available Octave Graphics Toolkits: fltk gnuplot Please let me know if you have any other questions or need anything else from me. Thanks, Antony Thank you for your bug report. Could you please provide us with a complete example that reproduces the bug? Best, Rafael Laboissière
* Antony N. Donovan <and@mit.edu> [2024-01-28 21:44]: Thank you for the example. I can reproduce the issue and I am hereby tagging this bug report accordingly. Best, Rafael