This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Help: guile-oops-0.1.2 doesn't compile


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]