sys-cluster/sionlib: fix linking issues

Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2021-08-29 17:39:40 +02:00
parent f82684ed3c
commit 9eae29ade4
3 changed files with 65 additions and 10 deletions

View File

@@ -211,26 +211,26 @@
-lib$(SION_LIBNAME_GEN).a : $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL)
+lib$(SION_LIBNAME_GEN).so : $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL)
+ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_GEN).so -shared -o $@ $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL) $(LOCKLINK)
+lib$(SION_LIBNAME_GEN).so : $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so
+ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_GEN).so -shared -o $@ $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL) $(LOCKLINK) -l$(SION_LIBNAME_COM)
@echo "*** $@ built"
-lib$(SION_LIBNAME_OMP).a : $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL)
+lib$(SION_LIBNAME_OMP).so : $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL)
+ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMP).so -shared -o $@ $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL) $(LOCKLINK) $(OMPFLAG)
+lib$(SION_LIBNAME_OMP).so : $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so
+ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMP).so -shared -o $@ $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL) $(LOCKLINK) -l$(SION_LIBNAME_COM) $(OMPFLAG)
@echo "*** $@ built"
-lib$(SION_LIBNAME_MPI).a : $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL)
+lib$(SION_LIBNAME_MPI).so : $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL)
+ $(MPICC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_MPI).so -shared -o $@ $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL) $(LOCKLINK)
+lib$(SION_LIBNAME_MPI).so : $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so
+ $(MPICC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_MPI).so -shared -o $@ $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL) $(LOCKLINK) -l$(SION_LIBNAME_COM)
@echo "*** $@ built"
-lib$(SION_LIBNAME_OMPI).a : $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL)
- $(C_AR) $(AFLAG) -rcs $@ $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL)
+lib$(SION_LIBNAME_OMPI).so : $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL)
+ $(HYBCC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMPI).so -shared -o $@ $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL) $(LOCKLINK) $(HYBFLAG)
+lib$(SION_LIBNAME_OMPI).so : $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so
+ $(HYBCC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMPI).so -shared -o $@ $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL) $(LOCKLINK) -l$(SION_LIBNAME_COM) $(HYBFLAG)
@echo "*** $@ built"
sion_generic.o : sion_generic.c

View File

@@ -0,0 +1,52 @@
diff '--color=auto' -ru sionlib-ori/src/lib/Makefile sionlib/src/lib/Makefile
--- sionlib-ori/src/lib/Makefile 2021-08-29 08:14:05.901799434 +0200
+++ sionlib/src/lib/Makefile 2021-08-29 16:49:25.241515611 +0200
@@ -66,14 +66,20 @@
SION_CXX_HDR = sion_cxx.h
endif
+ifeq ($(PTHREADSUPPORT),"yes")
+LOCKLIB = $(SION_LIBNAME_COM_LOCK_PTHREADS)
+else
+LOCKLIB = $(SION_LIBNAME_COM_LOCK_NONE)
+endif
+
USER_HDRS = sion.h sion_common.h sion_serial.h sion_const.h sion_datatypes.h sion_platform.h sion_debug.h $(SION_CXX_HDR)
USER_LIBS = lib$(SION_LIBNAME_SER).so lib$(SION_LIBNAME_COM).so lib$(SION_LIBNAME_COM_LOCK_PTHREADS).so lib$(SION_LIBNAME_COM_LOCK_NONE).so
all: lib$(SION_LIBNAME_COM).so lib$(SION_LIBNAME_SER).so lib$(SION_LIBNAME_COM_LOCK_PTHREADS).so lib$(SION_LIBNAME_COM_LOCK_NONE).so
-lib$(SION_LIBNAME_COM).so : $(SION_COMMON_OBJS)
- $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_COM).so -shared -o $@ $(SION_COMMON_OBJS)
+lib$(SION_LIBNAME_COM).so : $(SION_COMMON_OBJS) lib$(LOCKLIB).so
+ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_COM).so -shared -o $@ $(SION_COMMON_OBJS) $(SIONFWD_LIBS) -l$(LOCKLIB)
@echo "*** $@ built"
lib$(SION_LIBNAME_COM_LOCK_PTHREADS).so : $(SION_COMMON_LOCK_PTHREADS_OBJS)
diff '--color=auto' -ru sionlib-ori/src/parlib/Makefile sionlib/src/parlib/Makefile
--- sionlib-ori/src/parlib/Makefile 2021-08-29 08:14:05.888799373 +0200
+++ sionlib/src/parlib/Makefile 2021-08-29 17:21:42.262938785 +0200
@@ -93,16 +93,16 @@
$(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_GEN).so -shared -o $@ $(SION_OBJS_GEN) $(SION_OBJS_INTERNAL) $(LOCKLINK)
@echo "*** $@ built"
-lib$(SION_LIBNAME_OMP).so : $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so
- $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMP).so -shared -o $@ $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL) $(LOCKLINK) -l$(SION_LIBNAME_COM) $(OMPFLAG)
+lib$(SION_LIBNAME_OMP).so : $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so lib$(SION_LIBNAME_GEN).so
+ $(CC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMP).so -shared -o $@ $(SION_OBJS_OMP) $(SION_OBJS_INTERNAL) $(LOCKLINK) -l$(SION_LIBNAME_COM) -l$(SION_LIBNAME_GEN) $(OMPFLAG)
@echo "*** $@ built"
-lib$(SION_LIBNAME_MPI).so : $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so
- $(MPICC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_MPI).so -shared -o $@ $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL) $(LOCKLINK) -l$(SION_LIBNAME_COM)
+lib$(SION_LIBNAME_MPI).so : $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so lib$(SION_LIBNAME_GEN).so
+ $(MPICC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_MPI).so -shared -o $@ $(SION_OBJS_MPI) $(SION_OBJS_INTERNAL) $(LOCKLINK) -l$(SION_LIBNAME_COM) -l$(SION_LIBNAME_GEN)
@echo "*** $@ built"
-lib$(SION_LIBNAME_OMPI).so : $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so
- $(HYBCC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMPI).so -shared -o $@ $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL) $(LOCKLINK) -l$(SION_LIBNAME_COM) $(HYBFLAG)
+lib$(SION_LIBNAME_OMPI).so : $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL) ../lib/lib$(SION_LIBNAME_COM).so lib$(SION_LIBNAME_GEN).so
+ $(HYBCC) $(LDFLAGS) -Wl,-soname,lib$(SION_LIBNAME_OMPI).so -shared -o $@ $(SION_OBJS_HYB) $(SION_OBJS_INTERNAL) $(LOCKLINK) -l$(SION_LIBNAME_COM) -l$(SION_LIBNAME_GEN) $(HYBFLAG)
@echo "*** $@ built"
sion_generic.o : sion_generic.c

View File

@@ -38,6 +38,7 @@ REQUIRED_USE="?? ( hostname-regex deep-est-sdv )"
PATCHES=(
"${FILESDIR}/${PN}-respect-flags-v3.patch"
"${FILESDIR}/${PN}-build-shared-libraries.patch"
"${FILESDIR}/${PN}-fix-linking.patch"
)
pkg_setup() {
@@ -65,9 +66,13 @@ src_configure() {
use hostname-regex && msa="hostname-regex"
local myconf=(
--disable-gcovr
--disable-kcov
--disable-mic
--msa="${msa}"
--prefix="${T}/prefix/usr"
$(use_enable debug)
$(use_enable pthreads)
)
#custom configure?
@@ -77,9 +82,7 @@ src_configure() {
use ompi || myconf+=( "--disable-ompi" )
use openmp || myconf+=( "--disable-omp" )
use parutils || myconf+=( "--disable-parutils" )
use pthreads || myconf+=( "--disable-pthreads" )
use debug && myconf+=( "--enable-debug" )
use python && myconf+=( "--enable-python=3" )
use sionfwd && myconf+=( "--enable-sionfwd=${EPREFIX}/usr" )