I have built CLFS-svn. Things mostly work. Steam. Games. Desktop Environment.
32-bit libraries are in /lib & /usr/lib. 64-bit versions are in /lib64 & /usr/lib64.
The CLFS book dictated those library placements.
The biggest issue I have is dynamic library loading. For instance, to start
steam I use:
Code:
LD_PRELOAD="/usr/lib64/libstdc++.so.6 /usr/lib/libstdc++.so.6" steam
That starts steam and runs both 32-bit and 64-bit games. But, it doesn't stop
the flurry of warnings about elf incompatibilities to the console.
Code:
ERROR: ld.so: object '/usr/lib/libstdc++.so.6' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Since steam is a 32-bit app that warning makes no sense. That said file is not a 64-bit
library.
My issue is vulkan applications will not load. Using LunarG's vulkaninfo I find another library issue. 'vulkaninfo' in turn being a 64-bit executable.
Code:
INFO: [loader] Code 0 : Found ICD manifest file /usr/share/vulkan/icd.d/radeon_icd.x86.json
ERROR: [loader] Code 0 : /usr/lib/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
INFO: [loader] Code 0 : Found ICD manifest file /usr/share/vulkan/icd.d/radeon_icd.x86_64.json
...
...demos/vulkaninfo.c:1464: failed with VK_ERROR_INITIALIZATION_FAILED
/usr/lib
64/libvulkan_radeon.so exists for me. Both 32 and 64 are in place and
in the right folders. I tried to preload lib64/libvulkan_radeon.so to no effect.
I'm scratching my head. Here is my ld.so.conf.
Code:
/lib64
/usr/lib64
/lib (32-bit)
/usr/lib 32-bit