[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
opening wrong version libguilereadline
From: |
Arno Peters |
Subject: |
opening wrong version libguilereadline |
Date: |
Mon, 16 Sep 2002 02:04:34 +0200 |
User-agent: |
Mutt/1.4i |
On Thu, Aug 29, 2002 at 11:24:03AM -0500, Rob Browning wrote:
> Martin Grabmueller <address@hidden> writes:
>
> >> This is strange. Guile 1.5 uses different names for its dynamically
> >> linked libraries, as compared to 1.3.4. For example, libguilereadline
> >> is now libguilereadline-v-12. There shouldn't be any conflict with
> >> old libs.
> >
> > I haven't tried it again yet, but strace told me that Guile somehow
> > tried to load the old libguilereadline.so, which in turn tried to load
> > libguile.so.6, which didn't work and caused a nonsense `file not
> > found' message from libtdl...
>
> Hmm -- can you find out which file guile is loading that's then
> loading libguilereadline? I'm wondering if it's finding the wrong
> readline.scm, or if somehow we're not loading the versioned
> libguilereadline like I thought we were.
I am working with a recent Guile CVS snapshot in /usr/local. I also
have Guile 1.4 installed in /usr. I am unable to use readline in
version 1.7; Guile aborts due to a SIGKILL signal. By contrast
version 1.4 works ok. Below is a strace of Guile 1.7.0 that shows
what files are read. The actual strace is much larger and I can mail
it upon request.
From what I can judge, libtool picks up the wrong version of the
library. This may point to a bug in handling multiple versions of the
same library in different locations.
$ guile --version
Guile 1.7.0
...
$ strace guile -c '(use-modules (ice-9 readline))'
...
open("/usr/local/share/guile/1.7.0/ice-9/boot-9.scm", O_RDONLY) = 3
open("/usr/local/share/guile/1.7.0/ice-9/r4rs.scm", O_RDONLY) = 4
open("/usr/local/share/guile/1.7.0/ice-9/arrays.scm", O_RDONLY) = 4
open("/usr/local/share/guile/1.7.0/ice-9/posix.scm", O_RDONLY) = 4
open("/usr/local/share/guile/1.7.0/ice-9/networking.scm", O_RDONLY) = 4
open("/usr/local/share/guile/1.7.0/ice-9/readline.scm", O_RDONLY) = 3
open("/usr/local/share/guile/1.7.0/ice-9/session.scm", O_RDONLY) = 4
open("/usr/local/share/guile/1.7.0/ice-9/documentation.scm", O_RDONLY) = 5
open("/usr/local/share/guile/1.7.0/ice-9/rdelim.scm", O_RDONLY) = 6
open("/usr/local/share/guile/1.7.0/ice-9/regex.scm", O_RDONLY) = 5
open("/usr/local/share/guile/1.7.0/ice-9/buffered-input.scm", O_RDONLY) = 4
open("/lib/libguilereadline.la", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/usr/lib/libguilereadline.la", O_RDONLY) = 4
open("/usr/local/lib/libguilereadline.a", O_RDONLY) = 4
open("/usr/lib/libguilereadline.so.9", O_RDONLY) = 4
open("/usr/local/lib/libguile.so.9", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = 4
open("/usr/lib/libguile.so.9", O_RDONLY) = 4
open("/usr/local/lib/libreadline.so.4", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/lib/libreadline.so.4", O_RDONLY) = 4
...
munmap(0x40286000, 42748) = 0
times({tms_utime=10, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 12500784
times({tms_utime=10, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 12500784
times({tms_utime=11, tms_stime=1, tms_cutime=0, tms_cstime=0}) = 12500785
brk(0x807d000) = 0x807d000
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
getpid() = 12287
kill(12287, SIGABRT) = 0
--- SIGABRT (Aborted) ---
+++ killed by SIGABRT +++
The content of /usr/lib/libguilereadline.la is:
# libguilereadline.la - a libtool library file
# Generated by ltmain.sh - GNU libtool 1.4.2a (1.922.2.79 2001/11/28 21:50:31)
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libguilereadline.so.9'
# Names of this library.
library_names='libguilereadline.so.9.0.0 libguilereadline.so.9
libguilereadline.so'
# The name of the static archive.
old_library='libguilereadline.a'
# Libraries that this one depends upon.
dependency_libs=' /usr/lib/libguile.la /usr/lib/libltdl.la -ldl
/usr/lib/libqthreads.la -lpthread -lm -lreadline -lncurses'
# Version information for libguilereadline.
current=9
age=0
revision=0
# Is this an already installed library?
installed=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/usr/lib'
The content of /usr/local/lib/libguile-readline.la is:
# libguilereadline.la - a libtool library file
# Generated by ltmain.sh - GNU libtool 1.4.2a (1.922.2.100 2002/06/26 07:25:14)
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libguilereadline.so.10'
# Names of this library.
library_names='libguilereadline.so.10.0.0 libguilereadline.so.10
libguilereadline.so'
# The name of the static archive.
old_library='libguilereadline.a'
# Libraries that this one depends upon.
dependency_libs=' /usr/local/lib/libguile.la /usr/lib/libltdl.la -ldl -lcrypt
-lm -lreadline -lncurses'
# Version information for libguilereadline.
current=10
age=0
revision=0
# Is this an already installed library?
installed=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/usr/local/lib'
pgpa0FBV8cafT.pgp
Description: PGP signature
- opening wrong version libguilereadline,
Arno Peters <=