This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: Help: guile-oops-0.1.2 doesn't compile
- To: "Di Profio, Ugo" <diprofio at sony dot de>
- Subject: Re: Help: guile-oops-0.1.2 doesn't compile
- From: "Gary V. Vaughan" <gary at oranda dot demon dot co dot uk>
- Date: Sun, 3 Oct 1999 18:37:17 +0100
- Cc: 'Mikael Djurfeldt' <mdj at mdj dot nada dot kth dot se>, guile at sourceware dot cygnus dot com
- References: <C1BE3A9E02BDD211885800A0C9EAA0D399929F@blackbox.fb.sony.de>
On Fri, Oct 01, 1999 at 08:15:15AM +0200, Di Profio, Ugo wrote:
> :(
>
> I got the snapshot and run
>
> ./configure --prefix=<my_local_dir>
>
> then edited the generated Makefile to change variables GUILE_CFLAGS, CFLAGS,
> GUILE_LDFLAGS and LIBS to 'point' to my local installation dirs for
> guile-1.3.4-pre.
>
> Run
>
> make install
>
> and got the following warnings
>
> *** Warning: This library needs some functionality provided by -lreadline.
> *** I have the capability to make that library automatically link in when
> *** you link to this library. But I can only do this if you have a
> *** shared version of the library, which you do not appear to have.
You are using libtool-1.3.x which uses file' to determine whther the
dependant libraries are shared or static. This warning says that the
libreadline that it found was not a shared library (or else `file' is
not working -- check that the binary is in /usr/bin/file and that
/usr/share/misc/magic is present and correct and that `/usr/bin/file
/usr/lib/libreadline.so` reports a shared library).
> *** Warning: This library needs some functionality provided by -ltermcap.
> *** I have the capability to make that library automatically link in when
> *** you link to this library. But I can only do this if you have a
> *** shared version of the library, which you do not appear to have.
And here libtool can't find libtermcap.so.
> *** The inter-library dependencies that have been dropped here will be
> *** automatically added whenever a program is linked with this library
> *** or is declared to -dlopen it.
This says that libtool will rewrite lines that say:
libtool --mode=link gcc -o prog ... libgoops.la
as:
gcc -o prog ... -lgoops -lreadline -ltermcap
So that the static libraries will be linked into the final binary
safely (i.e. without linking libreadline.la into libgoops.so).
> and guile-oops envetually.
>
> I run guile-oops but when loading goops with (use-modules (oop goops)), I
> get an error:
>
> standard input:3:1: In procedure process-use-modules in expression
> (process-use-modules (quote #)):
> standard input:3:1: no such module (oop goops)
> ABORT: (misc-error)
>
> I used default settings but a different installation directory (i.e. I
> changed prefix) to install guile-1.3.4-pre. Also, I've added guile's and
> goops's installation/lib directories to LD_LIBRARY_PATH.
Eek! Don't do that or you'll get the libraries from a previous
installation (if any) in preference to the new ones in the build tree.
> Any ideas about the problem here?
Fix /usr/bin/file or its magic. Get a shared libreadline and
libtermcap. Or upgrade to libtool-1.3b, which allows linking static
libraries into shared libraries on glibc linux. Or (if goops allows
it) configure with --disable-shared.
Cheers,
Gary.
--
___ _ ___ __ _ email:gary@oranda.demon.co.uk
/ __|__ _ _ ___ _| | / / | / /_ _ _ _ __ _| |_ __ _ ___ gary@gnu.org
| (_ / _` | '_|// / |/ /| |/ / _` | || / _` | ' \/ _` | _ \
\___\__,_|_|\_, /|___(_)___/\__,_|\_,_\__, |_||_\__,_|//_/
home page: /___/ /___/ pgp-2 public key:
http://www.oranda.demon.co.uk http://www.oranda.demon.co.uk/pgp