Hello folks,
I have very painfully managed to build the Trinity desktop (a KDE3 fork) on FreeBSD 13.1.
Only to discover that GPU support is broken in 13.1 for the (old) laptop I intended to run it on. So I had to revert to 12.4 which runs the basic X session (xterms and twm) happily. That's the reason for all the nonsense below.
Thing is, Trinity installs everything in /opt/trinity/{bin, lib, share...} and the Trinity binaries can't find their libraries under 12.4 as they do in 13.1 I have double checked and there seems to be absolutely nothing in the system configuration that adds /opt/trinity/lib to the library search path.
So it must be hardcoded in the exec file, isn't it? Yes is it:
So why is RUNPATH ignored when running under 12.4? Is RUNPATH something that's new to 13.x?
[Note: yes, I do realize that running something that was built on 13.1 under 12.4 is going to be a big challenge - if possible at all. I'm probably in for a world of pain, there will be missing packages etc. I know. Please let me try hacking my way along. But this library search path issue really bugs me]
Recompile everything under 12.4? not likely to succeed, the build instructions at https://wiki.trinitydesktop.org/FreeBSD_Trinity_Installation_Instructions explicitly mention FreeBSD 13 as required.
I may try this as a last resort, though. Even if I probably will have to bring in newer ports manually.
And yes of course I can set LD_LIBRARY_PATH. It's just an ugly workaround IMO (uglier that what I'm trying to achieve? open to discussion I guess
In the meantime if anyone has an explanation for this embedded run path ignored, kindly share it. Thanks in advance.
I have very painfully managed to build the Trinity desktop (a KDE3 fork) on FreeBSD 13.1.
Only to discover that GPU support is broken in 13.1 for the (old) laptop I intended to run it on. So I had to revert to 12.4 which runs the basic X session (xterms and twm) happily. That's the reason for all the nonsense below.
Thing is, Trinity installs everything in /opt/trinity/{bin, lib, share...} and the Trinity binaries can't find their libraries under 12.4 as they do in 13.1 I have double checked and there seems to be absolutely nothing in the system configuration that adds /opt/trinity/lib to the library search path.
So it must be hardcoded in the exec file, isn't it? Yes is it:
Code:
# readelf -a /opt/trinity/bin/kolourpaint
...
Dynamic section at offset 0x1474dc contains 42 entries:
Tag Type Name/Value
0x0000001d RUNPATH Library runpath: [/opt/trinity/lib]
0x00000001 NEEDED Shared library: [libtdeprint.so.14]
0x00000001 NEEDED Shared library: [libtdeio.so.14]
...
So why is RUNPATH ignored when running under 12.4? Is RUNPATH something that's new to 13.x?
[Note: yes, I do realize that running something that was built on 13.1 under 12.4 is going to be a big challenge - if possible at all. I'm probably in for a world of pain, there will be missing packages etc. I know. Please let me try hacking my way along. But this library search path issue really bugs me]
Recompile everything under 12.4? not likely to succeed, the build instructions at https://wiki.trinitydesktop.org/FreeBSD_Trinity_Installation_Instructions explicitly mention FreeBSD 13 as required.
I may try this as a last resort, though. Even if I probably will have to bring in newer ports manually.
And yes of course I can set LD_LIBRARY_PATH. It's just an ugly workaround IMO (uglier that what I'm trying to achieve? open to discussion I guess

In the meantime if anyone has an explanation for this embedded run path ignored, kindly share it. Thanks in advance.