Thanks for continuing the discussion, I'm learning some new things here like "patchelf".
I am trying to piece together the story here and I am nowhere near the level of understanding of you two so bear with me...
First, the armv8 plex .deb build from plex.tv is 64bit software. I have checked it with readelf and it reports it as such:
Code:
bob@rockpro64:~$ readelf -h /usr/lib/plexmediaserver/Plex\ Media\ Server
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: AArch64
Version: 0x1
Entry point address: 0x9b0000
Start of program headers: 64 (bytes into file)
Start of section headers: 24115208 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 11
Size of section headers: 64 (bytes)
Number of section headers: 34
Section header string table index: 33
However it is looking for the interpreter in /lib, as sndwvs says:
Code:
bob@rockpro64:~$ patchelf --print-interpreter /usr/lib/plexmediaserver/Plex\ Media\ Server
/lib/ld-linux-aarch64.so.1
So that would be why that symlink fixes it. The funny thing is that on my x86_64 machine with the plex.tv x86_64 version of the .deb package they have the interpreter set right:
Code:
bob@slackbox:~$ patchelf --print-interpreter /usr/lib/plexmediaserver/Plex\ Media\ Server
/lib64/ld-linux-x86-64.so.2
I guess that would be due to differences in build machine configuration? I would prefer to build plex myself but the code is closed and they only release .deb packages.
@ sndwvs:
With your second fix you listed, does that "find" command change the interpreter in the already installed binaries? i.e. you would run that against plex's binaries? I guess that could be used as a "patch" in the slackbuild to correct the interpreter before installing. Thanks for the info.