unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* I get unknown immediate error in guile 1.7
  2004-01-07 20:54                     ` Robert Uhl
@ 2004-01-08  7:11                       ` Roland Orre
  2004-01-08 17:14                         ` Roland Orre
  0 siblings, 1 reply; 5+ messages in thread
From: Roland Orre @ 2004-01-08  7:11 UTC (permalink / raw)


I've tried to get guile 1.7 work but I seem to have a problem with
loadable modules. As soon as I call a function in them I get an
"unknown-immediate" error. This possibly sounds like some include
problem but as far as I know tag principles has not changed between
1.6 and 1.7.

The most basic is readline of course as I haven't recompiled other
modules yet. About readline, the file "libtool" was not created by
autogen.sh in guile-readline so I linked to ../libtool instead.

If I load an old (1.6) libguilereadline I get segmentation fault, which
indicates some significant change. When I load the 1.7 libguilereadline
I get the errors below after (activate-readline), any ideas?
I've used gcc 3.3.2.

	Best regards
	Roland

guile-user> ERROR: In procedure apply:nconc2last:
ERROR: Wrong type argument in position 1: #<unknown-immediate 0x2974>
ABORT: (wrong-type-arg)
ERROR: In procedure %readline:
ERROR: readline is not reentrant
ABORT: (misc-error)
ERROR: In procedure %readline:
ERROR: readline is not reentrant
ABORT: (misc-error)
ERROR: In procedure %readline:
ERROR: readline is not reentrant
...



_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: I get unknown immediate error in guile 1.7
  2004-01-08  7:11                       ` I get unknown immediate error in guile 1.7 Roland Orre
@ 2004-01-08 17:14                         ` Roland Orre
  2004-01-10 20:17                           ` Kevin Ryde
  0 siblings, 1 reply; 5+ messages in thread
From: Roland Orre @ 2004-01-08 17:14 UTC (permalink / raw)


I solved the problem. It seems as linking (at least for me) is not done
in the right way for modules, neither for 1.6 or 1.7. Explanation below.

On Thu, 2004-01-08 at 08:11, Roland Orre wrote:
> I've tried to get guile 1.7 work but I seem to have a problem with
> loadable modules. As soon as I call a function in them I get an
> "unknown-immediate" error. This possibly sounds like some include
> problem but as far as I know tag principles has not changed between
> 1.6 and 1.7.
> 
> The most basic is readline of course as I haven't recompiled other
> modules yet. About readline, the file "libtool" was not created by
> autogen.sh in guile-readline so I linked to ../libtool instead.
> 
> If I load an old (1.6) libguilereadline I get segmentation fault, which
> indicates some significant change. When I load the 1.7 libguilereadline
> I get the errors below after (activate-readline), any ideas?
> I've used gcc 3.3.2.

The problem showed to be that guile loaded wrong libraries, which was
caused by the the correct library files not having been created. Guile
had been reading wrong libguilereadline.la all the time. I noticed this
when I deinstalled the (debian distributed) guile-1.6. Then the
libguilereadline.la library was not found for my locally compiled
guile-1.6 either, despite that I had included both
/usr/local/guile/guile-1.6.0/lib
/usr/local/guile/guile-1.6.0/guile-readline in the LTDL_LIBRARY_PATH.

I then relinked the readline.o file under guile-readline with
the settings I use for my own modules, then it worked. The make
script is at the end. The correct guile-1.6 libguilereadline
file was read and the same procedure worked for guile-1.7 as well.
The problem probably has to do with the guile-readline autogen.sh
but how this script works is above my head.

The fundamental problem seems to be that the installation linking
is not done in the right way. None of the .la files under the
lib directory (${exec_prefix}/lib) contains any library references.
Observe that I used the name "libgreadline" in the script.

Here are the error messages given.
After a normal make install, where LTDL library is set as:
export LTDL_LIBRARY_PATH=/usr/local/guile/guile-1.7/lib

I get the following (empty) error message:
  /usr/local/guile/guile-1.7/guile/1.7/ice-9/readline.scm:38:5:
  In procedure dynamic-link in expression 
  (load-extension "libguilereadline" "scm_init_readline"):
  /usr/local/guile/guile-1.7/guile/1.7/ice-9/readline.scm:38:5:
  file: "libguilereadline", message: ""

If I then also include /usr/local/guile/guile-1.7/guile-readline
first in the LTDL path, then I get the following error message:
 /usr/local/guile/guile-1.7/guile/1.7/ice-9/readline.scm:38:5:
 In procedure dynamic-link in expression
 (load-extension "libguilereadline" "scm_init_readline"):
 /usr/local/guile/guile-1.7/guile/1.7/ice-9/readline.scm:38:5:
 file: "libguilereadline", message: "|o\"@àÌ\x11\x08readline.a:
 cannot open shared object file: No such file or directory"

If I then run the make script below under guile-readline then
it works. This newly created .la files contains library references
to the .so files created under .libs. 
I also included my configuration parameters below.

Have I done anything obviously wrong in the configuration?

=============================================================
# This make file generates a working libguilereadline

top_builddir = /usr/local/guile/guile-1.6.0
libdir=/usr/local/guile/guile-latest/guile-readline/..//lib
LIBS=../libguile/libguile.la -lreadline -lncurses
EXTRA=-version-info 10:0:0 -export-dynamic -no-undefined
CC=gcc

all: libgreadline

libgreadline: readline.o
	echo sh ${top_builddir}/libtool --mode=link $(CC) $^ $(EXTRA) $(LIBS)
-rpath $(libdir) -o libgreadline.la
	sh ${top_builddir}/libtool --mode=link $(CC) $^ $(EXTRA) $(LIBS) 
-rpath $(libdir) -o libgreadline.la

=============================================================

#These are my configuration parameters:

GUILEROOT=`pwd`
echo ${GUILEROOT}

./configure --with-threads --with-readline \
 --prefix=${GUILEROOT}                  \
 --build=i686                           \
 --exec-prefix=${GUILEROOT}             \
 --bindir=${GUILEROOT}/bin              \
 --sbindir=${GUILEROOT}/bin             \
 --sysconfdir=${GUILEROOT}/etc          \
 --datadir=${GUILEROOT}                 \
 --sharedstatedir=${GUILEROOT}/com      \
 --localstatedir=${GUILEROOT}/var       \
 --includedir=${GUILEROOT}/include      \
 --oldincludedir=/usr/include           \
 --mandir=/usr/local/man                \
 --infodir=/usr/local/info              \
 --enable-maintainer-mode               \
 --enable-ltdl-install




_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: I get unknown immediate error in guile 1.7
@ 2004-01-08 23:16 Roland Orre
  2004-01-09  0:05 ` Roland Orre
  0 siblings, 1 reply; 5+ messages in thread
From: Roland Orre @ 2004-01-08 23:16 UTC (permalink / raw)


I found the problem. It seems as linking (at least for me) is not done
in the right way for modules, neither for 1.6 or 1.7. Explanation below.

On Thu, 2004-01-08 at 08:11, Roland Orre wrote:
> I've tried to get guile 1.7 work but I seem to have a problem with
> loadable modules. As soon as I call a function in them I get an
> "unknown-immediate" error. This possibly sounds like some include
> problem but as far as I know tag principles has not changed between
> 1.6 and 1.7.
> 
> The most basic is readline of course as I haven't recompiled other
> modules yet. About readline, the file "libtool" was not created by
> autogen.sh in guile-readline so I linked to ../libtool instead.
> 
> If I load an old (1.6) libguilereadline I get segmentation fault, which
> indicates some significant change. When I load the 1.7 libguilereadline
> I get the errors below after (activate-readline), any ideas?
> I've used gcc 3.3.2.

The problem showed to be that guile loaded wrong libraries, which was
caused by the the correct library files not having been created. Guile
had been reading wrong libguilereadline.la all the time. I noticed this
when I deinstalled the (debian distributed) guile-1.6. Then the
libguilereadline.la library was not found for my locally compiled
guile-1.6 either, despite that I had included both
/usr/local/guile/guile-1.6.0/lib
/usr/local/guile/guile-1.6.0/guile-readline in the LTDL_LIBRARY_PATH.

I then relinked the readline.o file under guile-readline with
the settings I use for my own modules, then it worked. The make
script is at the end. The correct guile-1.6 libguilereadline
file was read and the same procedure worked for guile-1.7 as well.
The problem probably has to do with the guile-readline autogen.sh
but how this script works is above my head.

The fundamental problem seems to be that the installation linking
is not done in the right way. None of the .la files under the
lib directory (${exec_prefix}/lib) contains any library references.
Observe that I used the name "libgreadline" in the script.

Here are the error messages given.
After a normal make install, where LTDL library is set as:
export LTDL_LIBRARY_PATH=/usr/local/guile/guile-1.7/lib

I get the following (empty) error message:
  /usr/local/guile/guile-1.7/guile/1.7/ice-9/readline.scm:38:5:
  In procedure dynamic-link in expression 
  (load-extension "libguilereadline" "scm_init_readline"):
  /usr/local/guile/guile-1.7/guile/1.7/ice-9/readline.scm:38:5:
  file: "libguilereadline", message: ""

If I then also include /usr/local/guile/guile-1.7/guile-readline
first in the LTDL path, then I get the following error message:
 /usr/local/guile/guile-1.7/guile/1.7/ice-9/readline.scm:38:5:
 In procedure dynamic-link in expression
 (load-extension "libguilereadline" "scm_init_readline"):
 /usr/local/guile/guile-1.7/guile/1.7/ice-9/readline.scm:38:5:
 file: "libguilereadline", message: "|o\"@àÌ\x11\x08readline.a:
 cannot open shared object file: No such file or directory"

If I then run the make script below under guile-readline then
it works. This newly created .la files contains library references
to the .so files created under .libs. 
I also included my configuration parameters below.

Have I done anything obviously wrong in the configuration?

=============================================================
# This make file generates a working libguilereadline

top_builddir = /usr/local/guile/guile-1.6.0
libdir=/usr/local/guile/guile-latest/guile-readline/..//lib
LIBS=../libguile/libguile.la -lreadline -lncurses
EXTRA=-version-info 10:0:0 -export-dynamic -no-undefined
CC=gcc

all: libgreadline

libgreadline: readline.o
	sh ${top_builddir}/libtool --mode=link $(CC) $^ $(EXTRA) $(LIBS) \
-rpath $(libdir) -o libgreadline.la

=============================================================

#These are my configuration parameters:

GUILEROOT=`pwd`
echo ${GUILEROOT}

./configure --with-threads --with-readline \
 --prefix=${GUILEROOT}                  \
 --build=i686                           \
 --exec-prefix=${GUILEROOT}             \
 --bindir=${GUILEROOT}/bin              \
 --sbindir=${GUILEROOT}/bin             \
 --sysconfdir=${GUILEROOT}/etc          \
 --datadir=${GUILEROOT}                 \
 --sharedstatedir=${GUILEROOT}/com      \
 --localstatedir=${GUILEROOT}/var       \
 --includedir=${GUILEROOT}/include      \
 --oldincludedir=/usr/include           \
 --mandir=/usr/local/man                \
 --infodir=/usr/local/info              \
 --enable-maintainer-mode               \
 --enable-ltdl-install




_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: I get unknown immediate error in guile 1.7
  2004-01-08 23:16 I get unknown immediate error in guile 1.7 Roland Orre
@ 2004-01-09  0:05 ` Roland Orre
  0 siblings, 0 replies; 5+ messages in thread
From: Roland Orre @ 2004-01-09  0:05 UTC (permalink / raw)


Sorry all, the problem was my fault. I had given to many (and obviously
some erroneous) parameters to configure. When I gave only a few
necessary parameters it worked very well, all module .so files were
created.
	Best regards
	Roland


On Fri, 2004-01-09 at 00:16, Roland Orre wrote:
> I found the problem. It seems as linking (at least for me) is not done
> in the right way for modules, neither for 1.6 or 1.7. Explanation below.
<snip>
> =============================================================
> 
> #These are my configuration parameters:
> 
> GUILEROOT=`pwd`
> echo ${GUILEROOT}
> 
> ./configure --with-threads --with-readline \
>  --prefix=${GUILEROOT}                  \
>  --build=i686                           \
>  --exec-prefix=${GUILEROOT}             \
>  --bindir=${GUILEROOT}/bin              \
>  --sbindir=${GUILEROOT}/bin             \
>  --sysconfdir=${GUILEROOT}/etc          \
>  --datadir=${GUILEROOT}                 \
>  --sharedstatedir=${GUILEROOT}/com      \
>  --localstatedir=${GUILEROOT}/var       \
>  --includedir=${GUILEROOT}/include      \
>  --oldincludedir=/usr/include           \
>  --mandir=/usr/local/man                \
>  --infodir=/usr/local/info              \
>  --enable-maintainer-mode               \
>  --enable-ltdl-install




_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: I get unknown immediate error in guile 1.7
  2004-01-08 17:14                         ` Roland Orre
@ 2004-01-10 20:17                           ` Kevin Ryde
  0 siblings, 0 replies; 5+ messages in thread
From: Kevin Ryde @ 2004-01-10 20:17 UTC (permalink / raw)


Roland Orre <roland.orre@neurologic.se> writes:
>
> The problem showed to be that guile loaded wrong libraries, which was
> caused by the the correct library files not having been created. Guile
> had been reading wrong libguilereadline.la all the time.

I think I might have struck that too, but with debian guile 1.4
getting in the way of cvs guile.

I had an idea I thought the guile library search path ought to include
its configured $prefix/lib ahead of /usr/lib, but I forget exactly.

Library versioning is probably supposed to protect against some of
this sort of thing.  Dunno what the status on that currently is
though.


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-01-10 20:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-01-08 23:16 I get unknown immediate error in guile 1.7 Roland Orre
2004-01-09  0:05 ` Roland Orre
  -- strict thread matches above, loose matches on Subject: below --
2004-01-04  3:50 First look at Guile Std Library available Richard Todd
2004-01-04 12:59 ` Thien-Thi Nguyen
2004-01-04 21:51   ` Richard Todd
2004-01-05  0:30     ` Andreas Rottmann
2004-01-05  5:00       ` Richard Todd
2004-01-05 16:03         ` Robert Uhl
2004-01-05 20:01           ` Richard Todd
2004-01-06  1:36             ` Robert Uhl
2004-01-06 18:41               ` number->string radix patch (Was Re: First look at Guile Std Library available) Richard Todd
2004-01-07  4:04                 ` Robert Uhl
2004-01-07  5:26                   ` Richard Todd
2004-01-07 20:54                     ` Robert Uhl
2004-01-08  7:11                       ` I get unknown immediate error in guile 1.7 Roland Orre
2004-01-08 17:14                         ` Roland Orre
2004-01-10 20:17                           ` Kevin Ryde

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).