[haiku-commits] haiku: hrev46152 - in src: kits/package/solver build/libpackage/solver build/libpackage

  • From: revol@xxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 1 Oct 2013 03:59:05 +0200 (CEST)

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;


Other related posts: