Flavien Bridault pushed to branch master at Debian Med / sight
Commits: 66d505d0 by Flavien Bridault at 2021-10-15T09:32:14+02:00 Add patch to fix dynamic loading of libraries - - - - - 4 changed files: - debian/changelog - + debian/patches/fix-dynamic-load.patch - − debian/patches/fix-module-path.patch - debian/patches/series Changes: ===================================== debian/changelog ===================================== @@ -2,7 +2,8 @@ sight (21.0.0-1) UNRELEASED; urgency=medium [Flavien Bridault] * Rename vrrender package into sightviewer * Add package for sightcalibrator - * d/p/: refresh patches + * d/p/: remove patch to fix vrrender launch, no longer needed + Add patch to fix the loading of dynamic libraries at runtime [Andreas Tille] * Team upload. ===================================== debian/patches/fix-dynamic-load.patch ===================================== @@ -0,0 +1,29 @@ +Author: Flavien Bridault <[email protected]> +Description: Fix dynamic loading of libraries. +Bug: https://git.ircad.fr/sight/sight/-/issues/788 +--- sight.orig/libs/core/core/runtime/detail/dl/Native.cpp ++++ sight/libs/core/core/runtime/detail/dl/Native.cpp +@@ -57,7 +57,22 @@ + const std::filesystem::path Native::getFullPath() const + { + #if defined(linux) || defined(__linux) +- const std::filesystem::path result = m_searchPath / ("lib" + this->getName() + ".so"); ++ std::filesystem::path result; ++ ++ const std::regex nativeFileRegex( "lib" + this->getName() + "\\.so\\.?[0-9\\.]*" ); ++ ++ // Walk through the module directory, seeking for a matching file. ++ std::filesystem::directory_iterator curDirEntry(m_searchPath); ++ std::filesystem::directory_iterator endDirEntry; ++ for(; curDirEntry != endDirEntry; ++curDirEntry) ++ { ++ std::filesystem::path curEntryPath( *curDirEntry ); ++ if( std::regex_match( curEntryPath.filename().string(), nativeFileRegex ) ) ++ { ++ result = m_searchPath / curEntryPath.filename(); ++ break; ++ } ++ } + #elif defined(WIN32) + const std::filesystem::path result = m_searchPath / (this->getName() + ".dll"); + #elif defined(__APPLE__) ===================================== debian/patches/fix-module-path.patch deleted ===================================== @@ -1,18 +0,0 @@ -Author: Flavien Bridault <[email protected]> -Description: Fix vrrender launch. -Bug: https://git.ircad.fr/sight/sight/-/issues/680 -Bug-Debian: http://bugs.debian.org/982262 - ---- sight.orig/libs/core/core/runtime/detail/Runtime.cpp -+++ sight/libs/core/core/runtime/detail/Runtime.cpp -@@ -58,8 +58,8 @@ - - Runtime::Runtime() - { -- // The lib location is 'SIGHT_DIR/lib/sight_core.dll' -- m_workingPath = ::boost::dll::program_location().parent_path().parent_path().string(); -+ // The lib location is 'SIGHT_DIR/lib/x86_64-gnu-linux/sight_core.dll' -+ m_workingPath = ::boost::dll::program_location().parent_path().parent_path().parent_path().string(); - } - - //------------------------------------------------------------------------------ ===================================== debian/patches/series ===================================== @@ -1 +1 @@ -fix-module-path.patch +fix-dynamic-load.patch View it on GitLab: https://salsa.debian.org/med-team/sight/-/commit/66d505d0bbb40a1a419ad1947eb3aa79d2f48dfc -- View it on GitLab: https://salsa.debian.org/med-team/sight/-/commit/66d505d0bbb40a1a419ad1947eb3aa79d2f48dfc You're receiving this email because of your account on salsa.debian.org.
_______________________________________________ debian-med-commit mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-med-commit
