From: František Dvořák Date: Wed, 15 Jun 2011 08:23:14 +0000 (+0000) Subject: Finalize ETICS+rpath+libtool mock build problem, workaround inside ETICS configuratio... X-Git-Tag: glite-lb-doc_R_1_2_9_1~9 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=60cafb91dd22aa5e30bbb1c406a39655ecdcd0c2;p=jra1mw.git Finalize ETICS+rpath+libtool mock build problem, workaround inside ETICS configurations now. --- diff --git a/org.glite.lb.client/Makefile b/org.glite.lb.client/Makefile index 576c053..07c2b36 100644 --- a/org.glite.lb.client/Makefile +++ b/org.glite.lb.client/Makefile @@ -5,7 +5,6 @@ globalprefix=glite lbprefix=lb package=glite-lb-client version=0.0.0 - CC:=gcc CXX:=g++ @@ -21,6 +20,12 @@ version=${module.version} VERSION_AHEAD=-3 +# hacks needed for ETICS: +# - rpath out of installation directory ${PREFIX} +# (the proper value is ${prefix}/${libdir}) +# - installed *.la files should be removed +rpath?=${PREFIX}${prefix}/${libdir} + VPATH=${top_srcdir}/src:${top_srcdir}/interface:${top_srcdir}/test:${top_srcdir}/examples:${top_srcdir}/doc AT3=${stagedir}${prefix}/sbin/glite-lb-at3 GENSAM=${top_srcdir}/examples/gen_sample_job @@ -107,7 +112,7 @@ EXT_LIB:= CPPUNIT_LIBS?=-L${cppunit_prefix}/${libdir} -lcppunit CPPUNIT_CFLAGS?=-I${cppunit_prefix}/include -LDFLAGS:=${LDFLAGS} -L${stagedir}${prefix}/${libdir} ${COVERAGE_FLAGS} +LDFLAGS:=${LDFLAGS} -L${stagedir}${prefix}/${libdir} -L${PREFIX}${prefix}/${libdir} ${COVERAGE_FLAGS} COMPILE:=libtool --mode=compile ${CC} ${CFLAGS} CXXCOMPILE:=libtool --mode=compile ${CXX} ${CXXFLAGS} @@ -206,28 +211,28 @@ default: all ifeq (${thrflavour},) ${LIB}: ${LIBTHROBJS} - ${LINK} ${version_info} -o $@ ${LIBTHRLOBJS} -rpath ${PREFIX}${prefix}/${libdir} \ + ${LINK} ${version_info} -o $@ ${LIBTHRLOBJS} -rpath ${rpath} \ ${COMMON_LIB} ${TRIO_LIB} \ -lglite_security_gss ${PLUSLIB}: ${PLUSTHROBJS} ${LIB} - ${LINKXX} ${version_info} -o $@ ${PLUSTHRLOBJS} -rpath ${PREFIX}${prefix}/${libdir} ${LIB} ${PLUS_EXTRA_LIB} + ${LINKXX} ${version_info} -o $@ ${PLUSTHRLOBJS} -rpath ${rpath} ${LIB} ${PLUS_EXTRA_LIB} else ${NOTHRLIB}: ${LIBOBJS} - ${LINK} ${version_info} -o $@ ${LIBLOBJS} -rpath ${PREFIX}${prefix}/${libdir} \ + ${LINK} ${version_info} -o $@ ${LIBLOBJS} -rpath ${rpath} \ ${COMMON_LIB_NOTHR} ${TRIO_LIB} \ -lglite_security_gss_${nothrflavour} ${THRLIB}: ${LIBTHROBJS} - ${LINK} ${version_info} -o $@ ${LIBTHRLOBJS} -rpath ${PREFIX}${prefix}/${libdir} \ + ${LINK} ${version_info} -o $@ ${LIBTHRLOBJS} -rpath ${rpath} \ ${COMMON_LIB_THR} ${TRIO_LIB} \ -lglite_security_gss_${thrflavour} ${NOTHRPLUSLIB}: ${PLUSOBJS} ${NOTHRLIB} - ${LINKXX} ${version_info} -o $@ ${PLUSLOBJS} -rpath ${PREFIX}${prefix}/${libdir} ${NOTHRLIB} ${PLUS_EXTRA_LIB} + ${LINKXX} ${version_info} -o $@ ${PLUSLOBJS} -rpath ${rpath} ${NOTHRLIB} ${PLUS_EXTRA_LIB} ${THRPLUSLIB}: ${PLUSTHROBJS} ${THRLIB} - ${LINKXX} ${version_info} -o $@ ${PLUSTHRLOBJS} -rpath ${PREFIX}${prefix}/${libdir} ${THRLIB} ${PLUS_EXTRA_LIB} + ${LINKXX} ${version_info} -o $@ ${PLUSTHRLOBJS} -rpath ${rpath} ${THRLIB} ${PLUS_EXTRA_LIB} endif logevent: logevent.o args.o @@ -400,6 +405,9 @@ check_version: ${CHECK_VERSION} ${stagedir}${prefix}/include/glite/lb/common_version.h post-install: + rm -rfv ${PREFIX}${prefix}${libdir}/*.la + +post-install-rpath: for file in `find ${PREFIX}${prefix}/${libdir} -type f` \ `find ${PREFIX}${prefix}/bin -type f` \ `find ${PREFIX}${prefix}/sbin -type f` \ @@ -407,11 +415,14 @@ post-install: if test -h $$file; then continue; fi; \ orpath=`chrpath -l $$file 2>/dev/null`; \ if test $$? = 0 ; then \ - rpath=`echo $$orpath | sed 's:.*RPATH=::' | sed "s:${PREFIX}${prefix}:${sysroot}${prefix}:g" | tr ':' '\n' | grep -v '^$$' | tr '\n' ':' | sed 's/:$$//'`; \ + orpath=`echo $$orpath | sed 's:.*RPATH=::'`; \ + rpath=`echo $$orpath | sed "s:${PREFIX}${prefix}:${sysroot}${prefix}:g" | tr ':' '\n' | grep -v '^$$' | tr '\n' ':' | sed 's/:$$//'`; \ if test "$$orpath" = "$$rpath"; then continue; fi; \ + echo "$$file"; \ + echo " -> $$rpath"; \ chrpath -r $$rpath $$file; \ chrpath -d $$file; \ fi; \ done -.PHONY: default all compile examples check stage install clean check_version link post-install +.PHONY: default all compile examples check stage install clean check_version link post-install post-install-rpath diff --git a/org.glite.lb/configure b/org.glite.lb/configure index e2b3330..18a6ccd 100755 --- a/org.glite.lb/configure +++ b/org.glite.lb/configure @@ -1165,6 +1165,10 @@ sub mode_etics { $cmd{compile} = 'make'; $cmd{test} = 'make check'; $cmd{install} = 'make install'; + if ($subsys eq 'lb' and $module eq 'client') { + $cmd{compile} = "make rpath=$project{local_prefix}/\${libdir}"; + $cmd{install} = "make install post-install rpath=$project{local_prefix}/\${libdir}"; + } } my $defprops = '';