Bug #101
rpath issues with libprelude[db] perl bindings
0%
Description
https://bugs.gentoo.org/show_bug.cgi?id=105759
Compiling in a staging directory included the rpath of the staging directory in the perl module library rpath.
Patches available (within 1 day)
http://www.gentoo.org/cgi-bin/viewcvs.cgi/dev-libs/libpreludedb/files/
http://www.gentoo.org/cgi-bin/viewcvs.cgi/dev-libs/libprelude/files/
History
#1 Updated by Yoann VANDOORSELAERE over 17 years ago
Unfortunately, these patch will break the Perl bindings:
The problem is that [[MakeMaker]] will remove library it can not find when linking the module. Thus, if you compile the module on a system where libprelude is not yet installed, the module won't be linked to libprelude at all. This is what happen with your patch:
cd perl && LANG="" DESTDIR= LIBDIR=/home/yoann/dev/prelude/bin/lib /usr/bin/perl Makefile.PL Note (probably harmless): No library found for -lprelude Note (probably harmless): No library found for -lprelude Writing Makefile for Prelude
(...)
Running Mkbootstrap for Prelude () chmod 644 Prelude.bs rm -f blib/arch/auto/Prelude/Prelude.so LD_RUN_PATH="/home/yoann/dev/prelude/bin/lib:/usr/lib64" x86_64-pc-linux-gnu-gcc -L../..//src/.libs -pthread -shared Prelude.o -o blib/arch/auto/Prelude/Prelude.so -L/home/yoann/dev/prelude/bin/lib -L/usr/lib64 -lgnutls -L/usr/lib64 -lgcrypt -L/usr/lib64 -lgpg-error -lz -lrt -ldl
You can notice that -lprelude is not provided anymore. I know of no workaround for this issue and this is the reason why rpath is set to both the source and library install directory. Comment from [[MakeMaker]] expert would be welcome.
#2 Updated by over 17 years ago
The same output with the patch for me:
cd perl && DESTDIR=/var/tmp/portage/libprelude-0.9.0-r1/image/ LANG="" /usr/bin/perl Makefile.PL && make install
Writing Makefile for Prelude
maker5: Entering directory @/var/tmp/portage/libprelude-0.9.0-r1/work/libprelude-0.9.0/bindings/perl'
Running Mkbootstrap for Prelude ()
chmod 644 Prelude.bs
rm -f blib/arch/auto/Prelude/Prelude.so
LD_RUN_PATH="/usr/lib" i686-pc-linux-gnu-gcc -L../..//src/.libs -pthread -shared -L/usr/local/lib Prelude.o -o blib/arch/auto/Prelude/Prelude.so -lprelude
chmod 755 blib/arch/auto/Prelude/Prelude.so
System info:
Portage 2.0.52-r1 (hardened/x86/2.6, gcc-3.4.4, glibc-2.3.5-r1, 2.6.12-gentoo-r6 i686)
=================================================================
System uname: 2.6.12-gentoo-r6 i686 AMD Athlon(tm) XP 1900+
Gentoo Base System version 1.6.13
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [disabled]
dev-lang/python: 2.3.5-r2
sys-apps/sandbox: 1.2.13
sys-devel/autoconf: 2.13, 2.59-r6
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils: 2.16.1
sys-devel/libtool: 1.5.18-r1
virtual/os-headers: 2.6.11-r2
$ perl -v
This is perl, v5.8.6 built for i686-linux
(dev-lang/perl-5.8.6-r6 +berkdb -build -debug -doc -gdbm -ithreads -minimal -perlsuid)
This version is patched with the following patch may have made the patch for for me.
http://bugs.gentoo.org/show_bug.cgi?id=105054
http://www.gentoo.org/cgi-bin/viewcvs.cgi/dev-lang/perl/files/?hideattic=1 ( perl-5.8.7-MakeMaker-RUNPATH.patch)
I'm not even close to a [[MakeMaker]] user let alone expert. So I'm after suggestions too.
My objective of this patch was to remove the LD_RUN_PATH="/var/tmp/portage/libprelude...." that resulted in the rpath from ld.
May be able to inject make LD_RUN_PATH= at some point?
#3 Updated by Yoann VANDOORSELAERE over 17 years ago
Wasn't the above done on a system where libprelude.so was already installed ?
#4 Updated by over 17 years ago
yes you're right - still looking fir solution
#5 Updated by admin admin over 17 years ago
Dodgy patch but it works.
#6 Updated by Yoann VANDOORSELAERE over 17 years ago
Thanks Daniel, the patch look good and fix the rpath issue!
The portion of the patch fixing the rpath issue has been applied.
Could you explain that other part of the patch:
- $attributs{"PREFIX"} = "$ENV{DESTDIR}/@prefix@"; + $attributs{"PREFIX"} = "@prefix@";
#7 Updated by admin admin over 17 years ago
When installing to a staging directory ($DESTDIR) its nice to have the 'make DESTDIR=/stagingdir install' become an overlay of the filesystem. As is currently stands with $attributs{"PREFIX"} = "$ENV{DESTDIR}/prefix
"; the Makefile generated from this will have $DESTDIR appended twice. The results of this the perl files installed in:
$DESTDIR/$DESTDIR//usr/lib/perl5/site_perl/5.8.6/i686-linux/auto/Prelude/Prelude.so
(https://bugs.gentoo.org/show_bug.cgi?id=105759#c1) while the rest of the libprelude is installed in $DESTDIR/usr/lib/libprelude.so.
[[MakeMaker]] does generate the right $DESTDIR options without any help.
#8 Updated by admin admin over 17 years ago
Did that make sense?
extract from compile/install from subversion¶
autogen.sh¶
dan@frog ~/software_projects/libprelude $ ./autogen.sh Running gtkdocize... Running libtoolize... Running autoreconf... /usr/share/aclocal/soup.m4:7: warning: underquoted definition of AM_PATH_SOUP run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal /usr/share/aclocal/progsreiserfs.m4:13: warning: underquoted definition of AC_CHECK_LIBREISERFS .... .... .... /usr/share/aclocal/ORBit.m4:4: warning: underquoted definition of AM_PATH_ORBIT configure.in: installing @./install-sh' configure.in: installing @./missing' prelude-adduser/Makefile.am: installing @./depcomp' You can now run "./configure --enable-developer-mode" and "make"
configure¶
dan@frog ~/software_projects/libprelude $ ./configure --prefix=/usr --with-perl checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk .... .... .... configure: creating ./config.status config.status: creating Makefile config.status: creating config.h config.status: executing depfiles commands *** Dumping configuration *** - Generate documentation : no - Perl binding : yes - Python binding : yes
make¶
dan@frog ~/software_projects/libprelude $ make rm -f prelude-config.h echo "/* Used from libprelude headers */" >> prelude-config.h /bin/grep "HAVE_VARIADIC_MACROS" < ./config.h >> prelude-config.h /bin/grep "TIME_WITH_SYS_TIME" < ./config.h >> prelude-config.h /bin/grep "PRELUDE_ALIGNED_ACCESS" < ./config.h >> prelude-config.h /bin/grep "PRELUDE_WORDS_BIGENDIAN" < ./config.h >> prelude-config.h /bin/grep "+PRELUDE_FUNC+" < ./config.h >> prelude-config.h make all-recursive maker1: Entering directory @/home/dan/software_projects/libprelude' Making all in libltdl maker2: Entering directory @/home/dan/software_projects/libprelude/libltdl' cd . && /bin/sh /home/dan/software_projects/libprelude/libltdl/missing --run autoheader rm -f stamp-h1 touch config-h.in cd . && /bin/sh ./config.status config.h .... .... .... Running Mkbootstrap for Prelude () chmod 644 Prelude.bs rm -f blib/arch/auto/Prelude/Prelude.so LD_RUN_PATH="" i686-pc-linux-gnu-gcc -L../..//src/.libs -pthread -shared -L/usr/local/lib Prelude.o -o blib/arch/auto/Prelude/Prelude.so -L/home/dan/software_projects/libprelude/bindings/perl/../../src/.libs -lprelude chmod 755 blib/arch/auto/Prelude/Prelude.so cp Prelude.bs blib/arch/auto/Prelude/Prelude.bs chmod 644 blib/arch/auto/Prelude/Prelude.bs maker3: Leaving directory @/home/dan/software_projects/libprelude/bindings/perl' /usr/bin/swig -I../bindings -I../src/include -I../src/libprelude-error -o python/_prelude.c -python -noproxy -interface _prelude -module _prelude libprelude.i cd python && /usr/bin/python setup.py build running build running build_py creating build creating build/lib.linux-i686-2.3 copying prelude.py -> build/lib.linux-i686-2.3 running build_ext building '_prelude' extension creating build/temp.linux-i686-2.3 i686-pc-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -fPIC -I/usr/include/python2.3 -c _prelude.c -o build/temp.linux-i686-2.3/_prelude.o -DHAVE_CONFIG_H -I../../ -I../../src/include -I../..//src/include -I../..//src/libprelude-error -I../../bindings -pthread i686-pc-linux-gnu-gcc -pthread -shared build/temp.linux-i686-2.3/_prelude.o -L../..//src/.libs/ -o build/lib.linux-i686-2.3/_prelude.so -lprelude -pthread -L/usr/lib -lgnutls -lgcrypt -lgpg-error -lz -lrt maker2: Leaving directory @/home/dan/software_projects/libprelude/bindings' Making all in docs maker2: Entering directory @/home/dan/software_projects/libprelude/docs' Making all in api maker3: Entering directory @/home/dan/software_projects/libprelude/docs/api' maker3: Nothing to be done for @all'. maker3: Leaving directory @/home/dan/software_projects/libprelude/docs/api' maker3: Entering directory @/home/dan/software_projects/libprelude/docs' maker3: Nothing to be done for @all-am'. maker3: Leaving directory @/home/dan/software_projects/libprelude/docs' maker2: Leaving directory @/home/dan/software_projects/libprelude/docs' maker2: Entering directory @/home/dan/software_projects/libprelude' maker2: Nothing to be done for @all-am'. maker2: Leaving directory @/home/dan/software_projects/libprelude' maker1: Leaving directory @/home/dan/software_projects/libprelude'
== make install
dan@frog ~/software_projects/libprelude $ make DESTDIR=/home/dan/software_projects/install install make install-recursive maker1: Entering directory @/home/dan/software_projects/libprelude' Making install in libltdl maker2: Entering directory @/home/dan/software_projects/libprelude/libltdl' maker3: Entering directory @/home/dan/software_projects/libprelude/libltdl' test -z "/usr/lib" || mkdir -p -- "/home/dan/software_projects/install/usr/lib" test -z "/usr/include" || mkdir -p -- "/home/dan/software_projects/install/usr/include" maker3: Leaving directory @/home/dan/software_projects/libprelude/libltdl' maker2: Leaving directory @/home/dan/software_projects/libprelude/libltdl' Making install in libmissing maker2: Entering directory @/home/dan/software_projects/libprelude/libmissing' make install-am maker3: Entering directory @/home/dan/software_projects/libprelude/libmissing' maker4: Entering directory @/home/dan/software_projects/libprelude/libmissing' maker4: Nothing to be done for @install-exec-am'. maker4: Nothing to be done for @install-data-am'. maker4: Leaving directory @/home/dan/software_projects/libprelude/libmissing' maker3: Leaving directory @/home/dan/software_projects/libprelude/libmissing' maker2: Leaving directory @/home/dan/software_projects/libprelude/libmissing' Making install in m4 maker2: Entering directory @/home/dan/software_projects/libprelude/m4' maker3: Entering directory @/home/dan/software_projects/libprelude/m4' maker3: Nothing to be done for @install-exec-am'. test -z "/usr/share/aclocal" || mkdir -p -- "/home/dan/software_projects/install/usr/share/aclocal" /usr/bin/install -c -m 644 'libprelude.m4' '/home/dan/software_projects/install/usr/share/aclocal/libprelude.m4' maker3: Leaving directory @/home/dan/software_projects/libprelude/m4' maker2: Leaving directory @/home/dan/software_projects/libprelude/m4' Making install in src maker2: Entering directory @/home/dan/software_projects/libprelude/src' Making install in libprelude-error maker3: Entering directory @/home/dan/software_projects/libprelude/src/libprelude-error' make install-am maker4: Entering directory @/home/dan/software_projects/libprelude/src/libprelude-error' maker5: Entering directory @/home/dan/software_projects/libprelude/src/libprelude-error' maker5: Nothing to be done for @install-exec-am'. test -z "/usr/include/libprelude" || mkdir -p -- "/home/dan/software_projects/install/usr/include/libprelude" /usr/bin/install -c -m 644 'prelude-error.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-error.h' maker5: Leaving directory @/home/dan/software_projects/libprelude/src/libprelude-error' maker4: Leaving directory @/home/dan/software_projects/libprelude/src/libprelude-error' maker3: Leaving directory @/home/dan/software_projects/libprelude/src/libprelude-error' Making install in include maker3: Entering directory @/home/dan/software_projects/libprelude/src/include' maker4: Entering directory @/home/dan/software_projects/libprelude/src/include' maker4: Nothing to be done for @install-exec-am'. test -z "/usr/include/libprelude" || mkdir -p -- "/home/dan/software_projects/install/usr/include/libprelude" /usr/bin/install -c -m 644 'common.h' '/home/dan/software_projects/install/usr/include/libprelude/common.h' /usr/bin/install -c -m 644 'daemonize.h' '/home/dan/software_projects/install/usr/include/libprelude/daemonize.h' /usr/bin/install -c -m 644 'variable.h' '/home/dan/software_projects/install/usr/include/libprelude/variable.h' /usr/bin/install -c -m 644 'idmef.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef.h' /usr/bin/install -c -m 644 'idmef-additional-data.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-additional-data.h' /usr/bin/install -c -m 644 'idmef-class.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-class.h' /usr/bin/install -c -m 644 'idmef-criteria.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-criteria.h' /usr/bin/install -c -m 644 'idmef-criterion-value.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-criterion-value.h' /usr/bin/install -c -m 644 'idmef-data.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-data.h' /usr/bin/install -c -m 644 'idmef-message-id.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-message-id.h' /usr/bin/install -c -m 644 'idmef-message-read.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-message-read.h' /usr/bin/install -c -m 644 'idmef-message-print.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-message-print.h' /usr/bin/install -c -m 644 'idmef-message-write.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-message-write.h' /usr/bin/install -c -m 644 'idmef-path.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-path.h' /usr/bin/install -c -m 644 'idmef-time.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-time.h' /usr/bin/install -c -m 644 'idmef-tree-data.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-tree-data.h' /usr/bin/install -c -m 644 'idmef-tree-wrap.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-tree-wrap.h' /usr/bin/install -c -m 644 'idmef-value.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-value.h' /usr/bin/install -c -m 644 'idmef-value-type.h' '/home/dan/software_projects/install/usr/include/libprelude/idmef-value-type.h' /usr/bin/install -c -m 644 'prelude.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude.h' /usr/bin/install -c -m 644 'prelude-async.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-async.h' /usr/bin/install -c -m 644 'prelude-extract.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-extract.h' /usr/bin/install -c -m 644 'prelude-hash.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-hash.h' /usr/bin/install -c -m 644 'prelude-linked-object.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-linked-object.h' /usr/bin/install -c -m 644 'prelude-list.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-list.h' /usr/bin/install -c -m 644 'prelude-log.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-log.h' /usr/bin/install -c -m 644 'prelude-client.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-client.h' /usr/bin/install -c -m 644 'prelude-client-profile.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-client-profile.h' /usr/bin/install -c -m 644 'prelude-connection.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-connection.h' /usr/bin/install -c -m 644 'prelude-connection-pool.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-connection-pool.h' /usr/bin/install -c -m 644 'prelude-failover.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-failover.h' /usr/bin/install -c -m 644 'prelude-ident.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-ident.h' /usr/bin/install -c -m 644 'prelude-io.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-io.h' /usr/bin/install -c -m 644 'prelude-msg.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-msg.h' /usr/bin/install -c -m 644 'prelude-msgbuf.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-msgbuf.h' /usr/bin/install -c -m 644 'prelude-message-id.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-message-id.h' /usr/bin/install -c -m 644 'prelude-option.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-option.h' /usr/bin/install -c -m 644 'prelude-option-wide.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-option-wide.h' /usr/bin/install -c -m 644 'prelude-plugin.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-plugin.h' /usr/bin/install -c -m 644 'prelude-string.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-string.h' /usr/bin/install -c -m 644 'prelude-timer.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-timer.h' test -z "/usr/include/libprelude" || mkdir -p -- "/home/dan/software_projects/install/usr/include/libprelude" /usr/bin/install -c -m 644 'prelude.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude.h' /usr/bin/install -c -m 644 'prelude-inttypes.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-inttypes.h' maker4: Leaving directory @/home/dan/software_projects/libprelude/src/include' maker3: Leaving directory @/home/dan/software_projects/libprelude/src/include' maker3: Entering directory @/home/dan/software_projects/libprelude/src' maker4: Entering directory @/home/dan/software_projects/libprelude/src' test -z "/usr/lib" || mkdir -p -- "/home/dan/software_projects/install/usr/lib" /bin/sh ../libtool --mode=install /usr/bin/install -c 'libprelude.la' '/home/dan/software_projects/install/usr/lib/libprelude.la' /usr/bin/install -c .libs/libprelude.so.2.0.0 /home/dan/software_projects/install/usr/lib/libprelude.so.2.0.0 (cd /home/dan/software_projects/install/usr/lib && rm -f libprelude.so.2 && ln -s libprelude.so.2.0.0 libprelude.so.2) (cd /home/dan/software_projects/install/usr/lib && rm -f libprelude.so && ln -s libprelude.so.2.0.0 libprelude.so) /usr/bin/install -c .libs/libprelude.lai /home/dan/software_projects/install/usr/lib/libprelude.la libtool: install: warning: remember to run @libtool --finish /usr/lib' maker4: Nothing to be done for @install-data-am'. maker4: Leaving directory @/home/dan/software_projects/libprelude/src' maker3: Leaving directory @/home/dan/software_projects/libprelude/src' maker2: Leaving directory @/home/dan/software_projects/libprelude/src' Making install in prelude-adduser maker2: Entering directory @/home/dan/software_projects/libprelude/prelude-adduser' maker3: Entering directory @/home/dan/software_projects/libprelude/prelude-adduser' test -z "/usr/bin" || mkdir -p -- "/home/dan/software_projects/install/usr/bin" /bin/sh ../libtool --mode=install /usr/bin/install -c 'prelude-adduser' '/home/dan/software_projects/install/usr/bin/prelude-adduser' /usr/bin/install -c .libs/prelude-adduser /home/dan/software_projects/install/usr/bin/prelude-adduser maker3: Nothing to be done for @install-data-am'. maker3: Leaving directory @/home/dan/software_projects/libprelude/prelude-adduser' maker2: Leaving directory @/home/dan/software_projects/libprelude/prelude-adduser' Making install in bindings maker2: Entering directory @/home/dan/software_projects/libprelude/bindings' cd perl && make LD_RUN_PATH="" maker3: Entering directory @/home/dan/software_projects/libprelude/bindings/perl' Running Mkbootstrap for Prelude () chmod 644 Prelude.bs rm -f blib/arch/auto/Prelude/Prelude.so LD_RUN_PATH="" i686-pc-linux-gnu-gcc -L../..//src/.libs -pthread -shared -L/usr/local/lib Prelude.o -o blib/arch/auto/Prelude/Prelude.so -L/home/dan/software_projects/libprelude/bindings/perl/../../src/.libs -lprelude chmod 755 blib/arch/auto/Prelude/Prelude.so cp Prelude.bs blib/arch/auto/Prelude/Prelude.bs chmod 644 blib/arch/auto/Prelude/Prelude.bs maker3: Leaving directory @/home/dan/software_projects/libprelude/bindings/perl' cd python && /usr/bin/python setup.py build running build running build_py running build_ext maker3: Entering directory @/home/dan/software_projects/libprelude/bindings' make install-exec-hook maker4: Entering directory @/home/dan/software_projects/libprelude/bindings' cd perl && DESTDIR=/home/dan/software_projects/install LANG="" /usr/bin/perl Makefile.PL && make LD_RUN_PATH="" install Warning: -L../..//src/.libs changed to -L/home/dan/software_projects/libprelude/bindings/perl/../..//src/.libs Writing Makefile for Prelude maker5: Entering directory @/home/dan/software_projects/libprelude/bindings/perl' Running Mkbootstrap for Prelude () chmod 644 Prelude.bs rm -f blib/arch/auto/Prelude/Prelude.so LD_RUN_PATH="" i686-pc-linux-gnu-gcc -L../..//src/.libs -pthread -shared -L/usr/local/lib Prelude.o -o blib/arch/auto/Prelude/Prelude.so -L/home/dan/software_projects/libprelude/bindings/perl/../../src/.libs -lprelude chmod 755 blib/arch/auto/Prelude/Prelude.so cp Prelude.bs blib/arch/auto/Prelude/Prelude.bs chmod 644 blib/arch/auto/Prelude/Prelude.bs
This is where it goes bad:
Installing /home/dan/software_projects/install/home/dan/software_projects/install/usr/lib/perl5/site_perl/5.8.6/i686-linux/auto/Prelude/Prelude.so Installing /home/dan/software_projects/install/home/dan/software_projects/install/usr/lib/perl5/site_perl/5.8.6/i686-linux/auto/Prelude/Prelude.bs Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /home/dan/software_projects/install/home/dan/software_projects/install/usr/lib/perl5/site_perl/5.8.6/i686-linux/Prelude.pm Writing /home/dan/software_projects/install/home/dan/software_projects/install//usr/lib/perl5/site_perl/5.8.6/i686-linux/auto/Prelude/.packlist Appending installation info to /home/dan/software_projects/install/home/dan/software_projects/install//usr/lib/perl5/5.8.6/i686-linux/perllocal.pod maker5: Leaving directory @/home/dan/software_projects/libprelude/bindings/perl'
And continuing on:
cd python && /usr/bin/python setup.py install @test -n "/home/dan/software_projects/install" && echo --root /home/dan/software_projects/install@ running install running build running build_py running build_ext running install_lib creating /home/dan/software_projects/install/usr/lib/python2.3 creating /home/dan/software_projects/install/usr/lib/python2.3/site-packages copying build/lib.linux-i686-2.3/prelude.py -> /home/dan/software_projects/install/usr/lib/python2.3/site-packages copying build/lib.linux-i686-2.3/_prelude.so -> /home/dan/software_projects/install/usr/lib/python2.3/site-packages byte-compiling /home/dan/software_projects/install/usr/lib/python2.3/site-packages/prelude.py to prelude.pyc maker4: Leaving directory @/home/dan/software_projects/libprelude/bindings' maker3: Nothing to be done for @install-data-am'. maker3: Leaving directory @/home/dan/software_projects/libprelude/bindings' maker2: Leaving directory @/home/dan/software_projects/libprelude/bindings' Making install in docs maker2: Entering directory @/home/dan/software_projects/libprelude/docs' Making install in api maker3: Entering directory @/home/dan/software_projects/libprelude/docs/api' maker4: Entering directory @/home/dan/software_projects/libprelude/docs/api' maker4: Nothing to be done for @install-exec-am'. installfiles=@echo ./html/*@; \ if test "$installfiles" = './html/*'; \ then echo '-- Nothing to install' ; \ else \ /home/dan/software_projects/libprelude/install-sh -d /home/dan/software_projects/install/usr/share/gtk-doc/html/libprelude; \ for i in $installfiles; do \ echo '-- Installing '$i ; \ /usr/bin/install -c -m 644 $i /home/dan/software_projects/install/usr/share/gtk-doc/html/libprelude; \ done; \ echo '-- Installing ./html/index.sgml' ; \ /usr/bin/install -c -m 644 ./html/index.sgml /home/dan/software_projects/install/usr/share/gtk-doc/html/libprelude || :; \ fi -- Nothing to install maker4: Leaving directory @/home/dan/software_projects/libprelude/docs/api' maker3: Leaving directory @/home/dan/software_projects/libprelude/docs/api' maker3: Entering directory @/home/dan/software_projects/libprelude/docs' maker4: Entering directory @/home/dan/software_projects/libprelude/docs' maker4: Nothing to be done for @install-exec-am'. maker4: Nothing to be done for @install-data-am'. maker4: Leaving directory @/home/dan/software_projects/libprelude/docs' maker3: Leaving directory @/home/dan/software_projects/libprelude/docs' maker2: Leaving directory @/home/dan/software_projects/libprelude/docs' maker2: Entering directory @/home/dan/software_projects/libprelude' maker3: Entering directory @/home/dan/software_projects/libprelude' test -z "/usr/bin" || mkdir -p -- "/home/dan/software_projects/install/usr/bin" /usr/bin/install -c './libprelude-config' '/home/dan/software_projects/install/usr/bin/libprelude-config' /usr/bin/install -c -d -m 755 /home/dan/software_projects/install/usr/var/spool/prelude; /usr/bin/install -c -d -m 755 /home/dan/software_projects/install/usr/etc/prelude; /usr/bin/install -c -d -m 755 /home/dan/software_projects/install/usr/etc/prelude/default; /usr/bin/install -c -d -m 755 /home/dan/software_projects/install/usr/etc/prelude/profile; test -z "/usr/include/libprelude" || mkdir -p -- "/home/dan/software_projects/install/usr/include/libprelude" /usr/bin/install -c -m 644 'prelude-config.h' '/home/dan/software_projects/install/usr/include/libprelude/prelude-config.h' maker3: Leaving directory @/home/dan/software_projects/libprelude' maker2: Leaving directory @/home/dan/software_projects/libprelude' maker1: Leaving directory @/home/dan/software_projects/libprelude'
install directory¶
dan@frog ~/software_projects/libprelude $ cd ../install/ dan@frog ~/software_projects/install $ find . . ./usr ./usr/lib ./usr/lib/libprelude.so.2.0.0 ./usr/lib/libprelude.so.2 ./usr/lib/libprelude.so ./usr/lib/libprelude.la ./usr/lib/python2.3 ./usr/lib/python2.3/site-packages ./usr/lib/python2.3/site-packages/prelude.py ./usr/lib/python2.3/site-packages/_prelude.so ./usr/lib/python2.3/site-packages/prelude.pyc ./usr/include ./usr/include/libprelude ./usr/include/libprelude/prelude-error.h ./usr/include/libprelude/common.h ./usr/include/libprelude/daemonize.h ./usr/include/libprelude/variable.h ./usr/include/libprelude/idmef.h ./usr/include/libprelude/idmef-additional-data.h ./usr/include/libprelude/idmef-class.h ./usr/include/libprelude/idmef-criteria.h ./usr/include/libprelude/idmef-criterion-value.h ./usr/include/libprelude/idmef-data.h ./usr/include/libprelude/idmef-message-id.h ./usr/include/libprelude/idmef-message-read.h ./usr/include/libprelude/idmef-message-print.h ./usr/include/libprelude/idmef-message-write.h ./usr/include/libprelude/idmef-path.h ./usr/include/libprelude/idmef-time.h ./usr/include/libprelude/idmef-tree-data.h ./usr/include/libprelude/idmef-tree-wrap.h ./usr/include/libprelude/idmef-value.h ./usr/include/libprelude/idmef-value-type.h ./usr/include/libprelude/prelude.h ./usr/include/libprelude/prelude-async.h ./usr/include/libprelude/prelude-extract.h ./usr/include/libprelude/prelude-hash.h ./usr/include/libprelude/prelude-linked-object.h ./usr/include/libprelude/prelude-list.h ./usr/include/libprelude/prelude-log.h ./usr/include/libprelude/prelude-client.h ./usr/include/libprelude/prelude-client-profile.h ./usr/include/libprelude/prelude-connection.h ./usr/include/libprelude/prelude-connection-pool.h ./usr/include/libprelude/prelude-failover.h ./usr/include/libprelude/prelude-ident.h ./usr/include/libprelude/prelude-io.h ./usr/include/libprelude/prelude-msg.h ./usr/include/libprelude/prelude-msgbuf.h ./usr/include/libprelude/prelude-message-id.h ./usr/include/libprelude/prelude-option.h ./usr/include/libprelude/prelude-option-wide.h ./usr/include/libprelude/prelude-plugin.h ./usr/include/libprelude/prelude-string.h ./usr/include/libprelude/prelude-timer.h ./usr/include/libprelude/prelude-inttypes.h ./usr/include/libprelude/prelude-config.h ./usr/share ./usr/share/aclocal ./usr/share/aclocal/libprelude.m4 ./usr/bin ./usr/bin/prelude-adduser ./usr/bin/libprelude-config ./usr/var ./usr/var/spool ./usr/var/spool/prelude ./usr/etc ./usr/etc/prelude ./usr/etc/prelude/default ./usr/etc/prelude/default/client.conf ./usr/etc/prelude/default/global.conf ./usr/etc/prelude/default/idmef-client.conf ./usr/etc/prelude/default/tls.conf ./usr/etc/prelude/profile
This is the install continuing but this time the DESTDIR is created again.
./home ./home/dan ./home/dan/software_projects ./home/dan/software_projects/install ./home/dan/software_projects/install/usr ./home/dan/software_projects/install/usr/lib ./home/dan/software_projects/install/usr/lib/perl5 ./home/dan/software_projects/install/usr/lib/perl5/site_perl ./home/dan/software_projects/install/usr/lib/perl5/site_perl/5.8.6 ./home/dan/software_projects/install/usr/lib/perl5/site_perl/5.8.6/i686-linux ./home/dan/software_projects/install/usr/lib/perl5/site_perl/5.8.6/i686-linux/auto ./home/dan/software_projects/install/usr/lib/perl5/site_perl/5.8.6/i686-linux/auto/Prelude ./home/dan/software_projects/install/usr/lib/perl5/site_perl/5.8.6/i686-linux/auto/Prelude/Prelude.so ./home/dan/software_projects/install/usr/lib/perl5/site_perl/5.8.6/i686-linux/auto/Prelude/Prelude.bs ./home/dan/software_projects/install/usr/lib/perl5/site_perl/5.8.6/i686-linux/auto/Prelude/.packlist ./home/dan/software_projects/install/usr/lib/perl5/site_perl/5.8.6/i686-linux/Prelude.pm ./home/dan/software_projects/install/usr/lib/perl5/5.8.6 ./home/dan/software_projects/install/usr/lib/perl5/5.8.6/i686-linux ./home/dan/software_projects/install/usr/lib/perl5/5.8.6/i686-linux/perllocal.pod dan@frog ~/software_projects/install $ pwd /home/dan/software_projects/install dan@frog ~/software_projects/install $
#9 Updated by Yoann VANDOORSELAERE over 17 years ago
Thanks Daniel, it look good!
I applied the patch applied in r7360 and r7361.
#10 Updated by Yoann VANDOORSELAERE over 17 years ago
- Status changed from New to Closed
- Resolution set to fixed
#11 Updated by admin admin over 17 years ago
- Status changed from Closed to Feedback
- Resolution deleted (
fixed)
The bindings/Makefile.am LD_RUN_PATH patch applies to libprelude(unfixed) in the same way as libpreludedb(fixed).
Thanks Yoann
PS also notices that from https://trac.prelude-ids.org/changeset/7357 following the "Files:" link generated a error: "Trac detected an internal error: Insufficient permission to view this file (mod_authz_svn)"
#12 Updated by Yoann VANDOORSELAERE over 17 years ago
Sorry the libpreludedb fix was not merged to the good branche. This is corrected now in r7362.
I guess you mixed libprelude/libpreludedb, did you ?
#13 Updated by Yoann VANDOORSELAERE over 17 years ago
Sorry, all your fix had been applied at first, I reverted 7362 which backed out your fixes. Please check the files directly rather:
https://trac.prelude-ids.org/file/trunk/libprelude/bindings/Makefile.am
https://trac.prelude-ids.org/file/trunk/libprelude/bindings/perl/Makefile.PL.in
https://trac.prelude-ids.org/file/trunk/libpreludedb/bindings/Makefile.am
https://trac.prelude-ids.org/file/trunk/libpreludedb/bindings/perl/Makefile.PL.in
#14 Updated by Yoann VANDOORSELAERE over 17 years ago
- Status changed from Feedback to Closed
- Resolution set to fixed
BTW the error you got above is because of a merge to a private libpreludedb branche.
#15 Updated by Yoann VANDOORSELAERE about 14 years ago
- Project changed from PRELUDE SIEM to Libprelude
- Category deleted (
1) - Target version deleted (
0.9.1)