
Dear PPL developpers
I am starting to hack the GCC compiler to enhance it with program wide static analysis. Sebastian Pop suggested me to consider using the PPL library. FWIW, We are both working within the GlobalGCC project (ITEA programme) http://gcc.gnu.org/ml/gcc/2006-10/msg00676.html
May I suggest a tiny enhancenment to PPL (I compiled and install PP 0.9 on Linux/Debian/Sid AMD64 using gcc-4.1.2)?
I did a ./configure, make, sudo make install, and also tried with
My suggestion is to update the build process so that dependencies are recorded in the libppl.so and libppl_c.so shared object ELF files.
Currently I've got
% ldd /usr/local/lib/libppl.so /usr/local/lib/libppl_c.so /usr/local/lib/libppl.so: libstdc++.so.6 => /usr/local/lib64/libstdc++.so.6 (0x00002b87d3802000) libm.so.6 => /lib/libm.so.6 (0x00002b87d3a04000) libc.so.6 => /lib/libc.so.6 (0x00002b87d3b86000) libgcc_s.so.1 => /usr/local/lib64/libgcc_s.so.1 (0x00002b87d3dc3000) /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) /usr/local/lib/libppl_c.so: libstdc++.so.6 => /usr/local/lib64/libstdc++.so.6 (0x00002b1daeca6000) libm.so.6 => /lib/libm.so.6 (0x00002b1daeea8000) libc.so.6 => /lib/libc.so.6 (0x00002b1daf02a000) libgcc_s.so.1 => /usr/local/lib64/libgcc_s.so.1 (0x00002b1daf267000) /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
The dpkg-buildpackage don't give much better results % ldd **/*.so debian/tmp/usr/lib/libppl.so: libstdc++.so.6 => /usr/local/lib64/libstdc++.so.6 (0x00002b86acc64000) libm.so.6 => /lib/libm.so.6 (0x00002b86ace66000) libc.so.6 => /lib/libc.so.6 (0x00002b86acfe8000) libgcc_s.so.1 => /usr/local/lib64/libgcc_s.so.1 (0x00002b86ad225000) /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) debian/tmp/usr/lib/libppl_c.so: libstdc++.so.6 => /usr/local/lib64/libstdc++.so.6 (0x00002ba7b8ee7000) libm.so.6 => /lib/libm.so.6 (0x00002ba7b90e9000) libc.so.6 => /lib/libc.so.6 (0x00002ba7b926b000) libgcc_s.so.1 => /usr/local/lib64/libgcc_s.so.1 (0x00002ba7b94a8000) /lib64/ld-linux-x86-64.so.2 (0x0000555555554000) debian/tmp/usr/lib/libpwl.so: libstdc++.so.6 => /usr/local/lib64/libstdc++.so.6 (0x00002b53ef135000) libm.so.6 => /lib/libm.so.6 (0x00002b53ef337000) libc.so.6 => /lib/libc.so.6 (0x00002b53ef4b9000) libgcc_s.so.1 => /usr/local/lib64/libgcc_s.so.1 (0x00002b53ef6f6000) /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
I believe that libppl_c.so should depend upon libppl.so, which should also depend upon libmpfr.so (of course, version numbers are needed in dependencies). For you information on my system, % ldd /usr/lib/libmpfr.so libgmp.so.3 => /usr/lib/libgmp.so.3 (0x00002af215670000) libc.so.6 => /lib/libc.so.6 (0x00002af2157af000) /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
To achieve such dependencies you might build the shared libraries with appropriate -l and -rpath flags
See also http://www.tldp.org/HOWTO/Program-Library-HOWTO/index.html http://www.gnu.org/software/libtool/manual.html#Inter_002dlibrary-dependenci...
I do agree that the above dependencies issues are minor, and PPL0.9 seems to be a very good software.
I'm not familiar enough with PPL or libtool to propose a patch. (I guess that recent libtool claim to adress such issues).
A big thanks for your library!
PS please reply to me also, as I don't subscribe to the ppl devel list