diff --git a/lalapps/src/pulsar/hough/src2/EinsteinAtHome/eah_build2.sh b/lalapps/src/pulsar/hough/src2/EinsteinAtHome/eah_build2.sh index 988e8fc26abb6d23d90cb55bbb93bf7d9bcd9933..bb83351ac675fcb1a72ed6bb1a75d88fc1f810e8 100755 --- a/lalapps/src/pulsar/hough/src2/EinsteinAtHome/eah_build2.sh +++ b/lalapps/src/pulsar/hough/src2/EinsteinAtHome/eah_build2.sh @@ -252,9 +252,9 @@ else WITH_SSL="--with-ssl=$ssldir" fi if [ ".$release" = ".true" ]; then - CPPFLAGS="-DEXT_STACKTRACE -I$INSTALL/include/bfd $CPPFLAGS" + CPPFLAGS="-DDLOPEN_LIBGCC -DEXT_STACKTRACE -I$INSTALL/include/bfd $CPPFLAGS" export RELEASE_DEPS="erp_execinfo_plus.o libstdc++.a libz.a" - export RELEASE_LDADD="erp_execinfo_plus.o -lbfd -liberty /lib/libgcc_s.so.1" + export RELEASE_LDADD="erp_execinfo_plus.o -lbfd -liberty -ldl" build_binutils=true enable_linux_compatibility_workarounds=true fi ;; diff --git a/lalapps/src/pulsar/hough/src2/EinsteinAtHome/hs_boinc_extras.c b/lalapps/src/pulsar/hough/src2/EinsteinAtHome/hs_boinc_extras.c index b5b1169e1922ccb3df012087d070f2a6d07f24dc..ba73205260b75935704d227a24f67b1bd0efa77e 100644 --- a/lalapps/src/pulsar/hough/src2/EinsteinAtHome/hs_boinc_extras.c +++ b/lalapps/src/pulsar/hough/src2/EinsteinAtHome/hs_boinc_extras.c @@ -69,6 +69,11 @@ #include <gnu/libc-version.h> #endif +/* try to dlopen("libgcc_s.so.1") */ +#ifdef DLOPEN_LIBGCC +#include <dlfcn.h> +#endif + /* our own exception handler / runtime debugger */ #if HAVE_EXCHNDL #include "exchndl.h" @@ -1098,6 +1103,18 @@ static void worker (void) { LogPrintf (LOG_DEBUG, "glibc version/release: %s/%s\n", gnu_get_libc_version(), gnu_get_libc_release()); #endif +#ifdef DLOPEN_LIBGCC + { + void *lib_handle = dlopen("libgcc_s.so.1", RTLD_LAZY); + if(lib_handle) { + LogPrintf (LOG_DEBUG, "Successfully loaded libgcc_s.so.1\n"); + /* dlclose(lib_handle); */ + } else { + LogPrintf (LOG_DEBUG, "Couldn't load libgcc_s.so.1: %s\n", dlerror()); + } + } +#endif + /* if there already was an error, there is no use in continuing */ if (res) { LogPrintf (LOG_CRITICAL, "ERROR: error %d in command-line parsing\n", res);