Menu

#194 error using custom lib directory (linux 64bit)

open
nobody
None
5
2010-09-08
2010-09-08
Dan
No

When compiling tilp and its libs on Fedora 13 64bit, I am running into trouble when trying to use a custom lib directory. Fedora typically installs its 64bit libraries into PREFIX/lib64, so I added --libdir=/usr/local/lib64 as the only argument to configure when compiling the four libraries. This works find for libticables2-1.3.1, libticonv-1.1.1, and libtifiles2-1.1.3, but when I get the the make step of libticalcs2-1.1.5, I receive the following error:

/bin/sed: can't read /usr/local/lib/libticonv.la: No such file or directory
libtool: link: `/usr/local/lib/libticonv.la' is not a valid libtool archive
make[2]: *** [libticalcs2.la] Error 1
make[2]: Leaving directory `/home/dan/src/libticalcs2-1.1.5/src'

libticonv.la is indeed not in /usr/local/lib. I installed it in /usr/local/lib64, and configure found it there. I've noticed that the libticonv.la and libtifiles2.la files in /usr/local/lib64 have libdir=/usr/local/lib, but libticables2.la has libdir=/usr/local/lib64. Maybe a problem with the libticonv and libtifiles2 packages? I manually changed those values, ran ldconfig, and tried compiling libticalcs2 again, but got the same result.

I finally got it to compile and install by putting a symbolic link to libticonv.la in /usr/local/lib, but something is definitely wrong with one of the libraries' packages.

Discussion

  • Lionel Debroux

    Lionel Debroux - 2010-09-08

    Hello,

    I'm currently trying to set my computer up for reproducing with SVN HEAD the problem you're experiencing, hopefully without having to install a F13 VM (I use Debian stable 64 bits). I have also looked at the configure.ac and root Makefile.am for each of the libraries, without finding obvious reasons why it could work for me but go wrong for you.
    So far, I haven't been able to reproduce your exact issue, with either libtool 1.x or 2.x. The installed .la and .pc files contain the appropriate values for libdir and I can launch TILP, no matter I'm installing to /usr/local with default libdir (/usr/local/lib), /usr/local with --libdir=/usr/local/lib64 or to $HOME/test with --libdir=$HOME/test/lib64.
    In the two latter cases, it was necessary to add the libdir to the PKG_CONFIG_PATH environment variable, as is often the case when installing to custom directories, otherwise the build process aborts in the configure of libtifiles, because libticonv was not found. In all three cases, it was necessary to modify LD_LIBRARY_PATH, obviously.

    To help me, could you post the complete list of libti*-related files that the /usr/local/lib, /usr/local/lib/pkgconfig, /usr/local/lib64 and /usr/local/lib64/pkgconfig directories respectively contain ? TIA.

    After doing that: I've recently committed changes that improve libtool 2.x compatibility (as Fedora 13 is probably using), but I don't expect them to fix your problem, at least without regenerating the autotools stuff. You can compile libti*+gfm+tilp from SVN, through http://lpg.ticalc.org/prj_tilp/download/install_tilp.sh (the script is linked from the TILP site, as compiling libti*+gfm+tilp is nontrivial if one does not know the dependencies between the libs).
    Be sure to look inside the script for a description of the build prerequisites, for customizing the PREFIX, and for adding
    rm m4/*.m4; autoreconf -i -f || exit 1
    before
    ./configure "--prefix=$PREFIX" $@
    (to trigger regeneration of configure and other stuff with the Fedora versions)

    Waiting for your feedback,
    Lionel.

     
  • Dan

    Dan - 2010-09-08

    I won't be able to get you that file list since I have already uninstalled. I was using what was available from lpg.ticalc.org since I could not find the SVN. I have since discovered the calcforge versions of the libraries, and SVN head from there compiles without problems. I can't see any related changes in the logs there since it split off, so I would guess that whatever was wrong is also fixed in SVN head here.

    Just fyi, I did set PKG_CONFIG_PATH, and /usr/local/lib64 is in my ld.so.conf.

     

Log in to post a comment.