From: Rafael L. <lab...@ps...> - 2003-03-14 16:08:45
|
* João Cardoso <jc...@fe...> [2003-03-14 15:36]: > But won't this happens in other non-debian systems that have > qhull/freetype installed as archive and not shared libraries? And even if a > shared library exists but it was not built with libtool? Oh, I guess you are confused here. *.la files are _not_ static libraries. Neither are they shared libs. Actually, they are ... shell scripts (!!!) It only makes sense to use *.la files as arguments of libtool (or, in our case, plplot_libtool). I dislike the idea of using that script (plplot_libtool) to compile the examples, but Alan seems to have strong arguments in favor of it, mainly related to portability. > The configure test that checks for the presence of qhull just checks > that a program can be compiled with -lqhull, it does not check if it is > a shared/archive library. If latter in the configure process -lqhull > is replaced with <absolute_path>/libqhull.la that will break the make. No, configure never replaces -lqhull by <absolute_path>/libqhull.la. This is done internally by libtool when generating the libplplot{d}.la file (look at the line starting with "dependency_libs="). See below. > Does the current plplot configure scheme address this issue? I have only > tested with shared libs. This is not a matter of shared vs. static libraries, as I pointed out above. At any rate, this will not be a real problem, since if the user does not have libqhull.la installed in her system, then "-lqhull" gets inserted into libplplot{d}.la. To be convinced, just do it by yourself: $ cd /usr/lib $ mv libqhull.la libqhull.la-save $ cd ~/plplot-build/src $ rm libplplotd.la $ make > /dev/null $ grep dependency_libs libplplotd.la dependency_libs='/usr/lib/libfreetype.la -lz /home/rafael/plplot-build/lib/csa/libcsa.la /home/rafael/devel/plplot-build/lib/nn/libnn.la -lqhull -lm -ldl' ^^^^^^^ $ cd /usr/lib $ mv libqhull.la-save libqhull.la $ cd ~/plplot-build/src $ rm libplplotd.la $ make > /dev/null $ grep dependency_libs libplplotd.la dependency_libs='/usr/lib/libfreetype.la -lz /home/rafael/plplot-build/lib/csa/libcsa.la /home/rafael/devel/plplot-build/lib/nn/libnn.la /usr/lib/libqhull.la -lm -ldl' ^^^^^^^^^^^^^^^^^^^^ -- Rafael |