guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Install Guile 2.0.11 failed on L-Ubuntu 12.04


From: Chris Vine
Subject: Re: Install Guile 2.0.11 failed on L-Ubuntu 12.04
Date: Sun, 25 May 2014 10:10:55 +0100

On Sat, 24 May 2014 23:12:21 -0600
Germán Arias <address@hidden> wrote:
> Hi Mark
> 
> On 2014-05-24 15:21:11 -0600 mark damerell
> <address@hidden> wrote:
> 
> > Trying to install guile 2.0.11 on L-ubuntu 12.04. Shell
> > is /bin/bash .
> > 
> > Downloaded the tarfile from the Gnu website.
> > 
> > configured with no options
> > 
> > make check produced warnings and "unresolved" messages and one
> > failure, bug 27450. It said "please report this" but I believe that
> > as this is a known
> > bug, you do not want me to.
> > 
> > 
> > make install ran with no visible error.
> > 
> > 
> > make installcheck failed.  After several "nothing to do" messages,
> > it said:
> > 
> > make[1]: Entering directory
> > `/home/manager/downloads/guile-2.0.11/examples' /bin/mkdir -p box
> > gcc `PATH=/usr/local/bin:$PATH
> > PKG_CONFIG_PATH=/usr/local/lib/pkgconfig /usr/local/bin/guile-config
> > compile` -c box/box.c -o box/box.o /usr/local/bin/guile: error
> > while loading shared libraries: libguile-2.0.so.22: cannot open
> > shared object file: No such file or directory
> > box/box.c:22:22: fatal error: libguile.h: No such file or directory
> > compilation terminated.
> > make[1]: *** [box/box.o] Error 1
> > 
> > 
> > The shell command
> > 
> > guile
> > 
> > produces
> > 
> > guile: error while loading shared libraries: libguile-2.0.so.22:
> > cannot open shared object file: No such file or directory
> > 
> > 
> > find(1) found both files:
> > 
> > /usr/local/include/guile/2.0/libguile.h
> > /usr/local/lib/libguile-2.0.so.22
> > 
> > 
> > I conjecture that  gcc  was using incorrect search paths. So I did:
> > 
> > printenv | grep -i path
> > 
> > and got:
> > 
> > XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
> > XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
> > DEFAULTS_PATH=/usr/share/gconf/Lubuntu.default.path
> > PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
> > MANDATORY_PATH=/usr/share/gconf/Lubuntu.mandatory.path
> > 
> > 
> > I expected to see a  CPATH  and a  LIBRARY_PATH  as described in
> > man gcc.
> > 
> > Please is this problem known? what should I do about it? Thank you.
> > 
> 
> In general, when you install something from a source tarball this is
> installed in non standard path. So, to use guile you should add the
> path where this is installed. At your file ".profile" (in your user
> directory) you could add:
> 
> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
> 
> To use the headers, you will need make a symbolic link
> at /usr/include. Something like:
> 
> sudo ln -s /usr/local/include/guile/ /usr/include/
> 
> Hope this help.

Yuck.  It is much better to add /usr/local/lib to /etc/ld.so.conf (or
one of the files in /etc/ld.so.conf.d) and run ldconfig.  I am amazed
that some distributions still do not do this by default.  (The OP says
he is using lubuntu, but standard ubuntu is installed on one of my
computers and that does do so.)

The correct way to find a header is by using pkg-config with guile's
pkg-config file (guile-2.0.pc).  If the build system's 'make
installcheck' does not do this then it is technically a bug but 'make
installcheck' is widely unused and/or broken for this amongst other
reasons and is best ignored. Use 'make check' instead, which uses the
internal build tree. And it is not a good idea to start making symlinks.

Chris



reply via email to

[Prev in Thread] Current Thread [Next in Thread]