Use system libdir when searching for dynamically loaded libraries #25

Merged
SlavekB merged 1 commits from feat/search-libs-in-system-libdir into master 5 years ago
Owner

To dynamically load libraries, we need to identify the directory in which the library will be searched for.

Here are different ways to deal with multi-arch in individual distributions. Some consider only 64 × 32 bits and use lib64 × lib (RedHat, Slackware), some consider full multi-arch and use lib/x86_64-linux-gnu, lib/i386-linux-gnu, lib/arm-linux-gnueabihf,… (Debian, Ubuntu).

Currently, KDELIBSUFF was used, which assumed the '64' setting for lib64. However, this is not enough for a full multi-arch case. When searching for an SSL libraries, it is currently looking for all the lib/*-*-* directories, which can lead to finding a library that is for the other architecture.

The proposed patch uses the fact that CMake rules contain the default path for libraries. Instead of KDELIBSUFF, SYSTEM_LIBDIR is now used, which is set according to the CMake value. As a result, on fully multi-arch systems, a directory for the right architecture will be searched.

To dynamically load libraries, we need to identify the directory in which the library will be searched for. Here are different ways to deal with multi-arch in individual distributions. Some consider only 64 × 32 bits and use lib64 × lib (RedHat, Slackware), some consider full multi-arch and use lib/x86_64-linux-gnu, lib/i386-linux-gnu, lib/arm-linux-gnueabihf,… (Debian, Ubuntu). Currently, `KDELIBSUFF` was used, which assumed the '64' setting for lib64. However, this is not enough for a full multi-arch case. When searching for an SSL libraries, it is currently looking for all the `lib/*-*-*` directories, which can lead to finding a library that is for the other architecture. The proposed patch uses the fact that CMake rules contain the default path for libraries. Instead of `KDELIBSUFF`, `SYSTEM_LIBDIR` is now used, which is set according to the CMake value. As a result, on fully multi-arch systems, a directory for the right architecture will be searched.
SlavekB added this to the R14.0.6 release milestone 5 years ago
SlavekB closed this pull request 5 years ago
SlavekB deleted branch feat/search-libs-in-system-libdir 5 years ago
The pull request has been merged as 8a859540c3.
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: TDE/tdelibs#25
Loading…
There is no content yet.