hrev46152 adds 1 changeset to branch 'master' old head: 4135f9cde383b5f60097eca36dd893cdf8974068 new head: 8bf87f93417aa5ea697a68e409ebea80569bf294 overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=8bf87f9+%5E4135f9c ---------------------------------------------------------------------------- 8bf87f9: Actually fix the build Looks like I was too quick on previous commit. It seems -pthread is actually not that much needed on Linux though... although the manpage says "compile and link with -pthread". Go figure. Now dlopen() uses RTLD_LAZY | RTLD_LOCAL for Linux, which seems to work here. [ François Revol <revol@xxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev46152 Commit: 8bf87f93417aa5ea697a68e409ebea80569bf294 URL: http://cgit.haiku-os.org/haiku/commit/?id=8bf87f9 Author: François Revol <revol@xxxxxxx> Date: Tue Oct 1 01:57:24 2013 UTC ---------------------------------------------------------------------------- 3 files changed, 7 insertions(+), 4 deletions(-) src/build/libpackage/Jamfile | 1 + src/build/libpackage/solver/Jamfile | 2 -- src/kits/package/solver/Solver.cpp | 8 ++++++-- ---------------------------------------------------------------------------- diff --git a/src/build/libpackage/Jamfile b/src/build/libpackage/Jamfile index 1d35d4c..464f406 100644 --- a/src/build/libpackage/Jamfile +++ b/src/build/libpackage/Jamfile @@ -9,6 +9,7 @@ SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package manager ] ; SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package solver ] ; USES_BE_API on libpackage_build.so = true ; +LINKFLAGS on libpackage_build.so += $(HOST_PTHREAD_LINKFLAGS) ; { diff --git a/src/build/libpackage/solver/Jamfile b/src/build/libpackage/solver/Jamfile index dd06685..51e83ee 100644 --- a/src/build/libpackage/solver/Jamfile +++ b/src/build/libpackage/solver/Jamfile @@ -15,8 +15,6 @@ SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package solver ] ; MakeLocate libpackage-add-on-libsolv_build.so : $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ; -LINKFLAGS on libpackage-add-on-libsolv_build.so += $(HOST_PTHREAD_LINKFLAGS) ; - BuildPlatformSharedLibrary libpackage-add-on-libsolv_build.so : LibsolvSolver.cpp diff --git a/src/kits/package/solver/Solver.cpp b/src/kits/package/solver/Solver.cpp index 7f5c630..53bb31b 100644 --- a/src/kits/package/solver/Solver.cpp +++ b/src/kits/package/solver/Solver.cpp @@ -25,10 +25,14 @@ static pthread_once_t sLoadLibsolvSolverAddOnInitOnce = PTHREAD_ONCE_INIT; static void load_libsolv_solver_add_on() { + int flags = 0; #ifdef HAIKU_TARGET_PLATFORM_HAIKU - void* imageHandle = dlopen("libpackage-add-on-libsolv.so", 0); + void* imageHandle = dlopen("libpackage-add-on-libsolv.so", flags); #else - void* imageHandle = dlopen("libpackage-add-on-libsolv_build.so", 0); +#ifdef HAIKU_HOST_PLATFORM_LINUX + flags = RTLD_LAZY | RTLD_LOCAL; +#endif + void* imageHandle = dlopen("libpackage-add-on-libsolv_build.so", flags); #endif if (imageHandle == NULL) return;