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.
This commit is contained in:
@@ -9,6 +9,7 @@ SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package manager ] ;
|
|||||||
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package solver ] ;
|
SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package solver ] ;
|
||||||
|
|
||||||
USES_BE_API on libpackage_build.so = true ;
|
USES_BE_API on libpackage_build.so = true ;
|
||||||
|
LINKFLAGS on libpackage_build.so += $(HOST_PTHREAD_LINKFLAGS) ;
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -15,8 +15,6 @@ SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src kits package solver ] ;
|
|||||||
MakeLocate libpackage-add-on-libsolv_build.so
|
MakeLocate libpackage-add-on-libsolv_build.so
|
||||||
: $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ;
|
: $(HOST_BUILD_COMPATIBILITY_LIB_DIR) ;
|
||||||
|
|
||||||
LINKFLAGS on libpackage-add-on-libsolv_build.so += $(HOST_PTHREAD_LINKFLAGS) ;
|
|
||||||
|
|
||||||
BuildPlatformSharedLibrary libpackage-add-on-libsolv_build.so
|
BuildPlatformSharedLibrary libpackage-add-on-libsolv_build.so
|
||||||
:
|
:
|
||||||
LibsolvSolver.cpp
|
LibsolvSolver.cpp
|
||||||
|
|||||||
@@ -25,10 +25,14 @@ static pthread_once_t sLoadLibsolvSolverAddOnInitOnce = PTHREAD_ONCE_INIT;
|
|||||||
static void
|
static void
|
||||||
load_libsolv_solver_add_on()
|
load_libsolv_solver_add_on()
|
||||||
{
|
{
|
||||||
|
int flags = 0;
|
||||||
#ifdef HAIKU_TARGET_PLATFORM_HAIKU
|
#ifdef HAIKU_TARGET_PLATFORM_HAIKU
|
||||||
void* imageHandle = dlopen("libpackage-add-on-libsolv.so", 0);
|
void* imageHandle = dlopen("libpackage-add-on-libsolv.so", flags);
|
||||||
#else
|
#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
|
#endif
|
||||||
if (imageHandle == NULL)
|
if (imageHandle == NULL)
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user