View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0012954 | CMake | CMake | public | 2012-02-10 19:44 | 2012-09-03 16:02 | ||||
Reporter | Eric Anderson | ||||||||
Assigned To | Brad King | ||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | i386 | OS | OpenBSD | OS Version | 5.0 | ||||
Product Version | CMake 2.8.4 | ||||||||
Target Version | CMake 2.8.8 | Fixed in Version | CMake 2.8.8 | ||||||
Summary | 0012954: cmake does not properly detect shared libraries on OpenBSD 5.0 | ||||||||
Description | cmake does not properly detect shared libraries on OpenBSD 5.0. Shared libraries on that platform always end in .so.#.# When detecting shared libraries, cmake only considers files that end in .so Therefore in cmComputeLinkInformation::AddLibraryRuntimeInfo, libraries will not be considered for adding rpath information. Simplest fix is to put: LIST(APPEND CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES .so.[0-9]+.[0-9]+) Into some module, e.g. OpenBSD.cmake; there may be a better fix. I also tried CMAKE_SHARED_LIBRARY_SUFFIX, but that caused shared libraries to not build. | ||||||||
Steps To Reproduce | Put a required shared library in a non-standard path. Setup cmake to include the rpath in the build tree: SET(CMAKE_SKIP_BUILD_RPATH FALSE) SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) Add a target that depends on that non-standard path Build the target Run ldd on the built executable (or try to execute it), it will fail to link to the special path. Note that if you set CMAKE_INSTALL_RPATH to include the non-standard path, the installed binary will work fine. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | 16b1a6e4+0001-Recognize-OpenBSD-versioned-.so-names-12954.patch [^] (2,069 bytes) 2012-02-13 10:37 [Show Content] | ||||||||
Relationships | |
Relationships |
Notes | |
(0028573) Brad King (manager) 2012-02-13 10:37 |
Please build CMake from source with attached patch 16b1a6e4+0001-Recognize-OpenBSD-versioned-.so-names-12954.patch to test it. |
(0028581) Eric Anderson (reporter) 2012-02-13 19:00 |
Patch works fine, I tested on cmake-2.8.4 since that happens to be the version that ships with openbsd. I also verified that the workaround I showed above works with the patched cmake so I can have files that work with unpatched versions. Thanks for working out the correct patch. |
(0028584) Brad King (manager) 2012-02-14 10:10 |
Applied, thanks for testing: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=afc75bb7 [^] |
(0030881) David Cole (manager) 2012-09-03 16:02 |
Closing resolved issues that have not been updated in more than 4 months. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2012-02-10 19:44 | Eric Anderson | New Issue | |
2012-02-13 10:37 | Brad King | Assigned To | => Brad King |
2012-02-13 10:37 | Brad King | Status | new => assigned |
2012-02-13 10:37 | Brad King | File Added: 16b1a6e4+0001-Recognize-OpenBSD-versioned-.so-names-12954.patch | |
2012-02-13 10:37 | Brad King | Note Added: 0028573 | |
2012-02-13 19:00 | Eric Anderson | Note Added: 0028581 | |
2012-02-14 10:10 | Brad King | Note Added: 0028584 | |
2012-02-14 10:10 | Brad King | Status | assigned => resolved |
2012-02-14 10:10 | Brad King | Fixed in Version | => CMake 2.8.8 |
2012-02-14 10:10 | Brad King | Resolution | open => fixed |
2012-04-19 15:50 | David Cole | Target Version | => CMake 2.8.8 |
2012-09-03 16:02 | David Cole | Note Added: 0030881 | |
2012-09-03 16:02 | David Cole | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |