Bugs item #407062, was opened at 2001-03-08 17:28
Message generated for change (Comment added) made by mainzelm
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=110493&aid=407062&group_id=10493
Category: None
Group: None
>Status: Closed
>Resolution: Wont Fix
Priority: 2
Submitted By: Olin Shivers (olin-shivers)
Assigned to: Brian D. Carlstrom (bdc)
Summary: Static linker not working
Initial Comment:
Static linker doesn't work in either 0.5.2, 0.5.3 or
0.6 tree.
----------------------------------------------------------------------
>Comment By: Martin Gasbichler (mainzelm)
Date: 2003-04-22 09:18
Message:
Logged In: YES
user_id=17553
We dropped support for the static linker a little while ago.
----------------------------------------------------------------------
Comment By: Brian D. Carlstrom (bdc)
Date: 2001-05-28 23:06
Message:
Logged In: YES
user_id=27364
From: Bruno.Verlyck@inria.fr
To: Eric Marsden <emarsden@mail.dotcom.fr>
CC: scsh-bugs@zurich.ai.mit.edu
Subject: Re: problems with static linker
Subject: Re: problems with static linker
Date: Thu, 18 May 2000 12:39:46 +0200 (MET DST)
> >>>>> "bv" == Bruno Verlyck <Bruno.Verlyck@inria.fr>
writes:
> bv> On Solaris, I get problems while compiling the
scripts; for example:
> bv> Error: unknown #\ name
> bv> space
> bv> #{Input-port}
> bv> On Linux, static linking fails with some undefined
symbols:
> bv> (gcc -rdynamic -o
> bv> /afs/inria.fr/common/usr/local/src/scsh-
0.5.2/scsh/scsh.vm
> bv> static-p0.o static-i0.o [...] static-p336.o static-
i336.o static.o
> bv> -L /usr/local/lib/scsh -lscshvm -ldl -lelf -lnsl -
lm -lc)
> bv> static-i51.o(.data+0x5c8): undefined reference to
`df_compile_re'
> bv> static-i51.o(.data+0x764): undefined reference to
`df_free_re'
> are you sure the symptoms aren't the other way round?
(I might misinterpret your question, but..)
It just happens that I compiled scsh on Solaris first,
where static linking
scsh.image worked, but the resulting heap image couldn't
interpret my
scripts in the byte-compilation phase.
Then I tried to compile scsh on Linux, where I couldn't
even static-link
scsh.image. I described my two problems in chronological
order, but to me,
they are unrelated.
> I get similar strange string-related errors on Linux
(calls to
> `make-string' of length -1 for example), and link errors
for all the
> syscalls on Solaris (though for me on Solaris 2.7 it
links fine but fails
> upon execution in unix.c:lookup_external_name).
(Just in case..) I remember I had to use this #! line:
#!/usr/local/lib/scsh/scsh.vm \
-o /usr/local/lib/scsh/scsh.vm -- <other options>
!#
The -o /usr/local/lib/scsh/scsh.vm was mandatory under
Solaris only (on
other systems it worked, and a little faster, without it).
> The link problem is fixed for me by removing the line in
> scsh/machine/sysdep.h which #undefs HAVE_DLOPEN
My machine/sysdep.h is empty :-(.
> Then I reach similar string errors to on Linux: no idea
where these come
> from.
So I'm not alone.
The manual says:
`In spite of .. we are providing the static linker .. so
that people may
get some experience with it.'
Then my experience is that it worked better in scsh 5.0.1.
Any reaction from the scsh maintainers ? (even to say I'll
have to wait :-)
Bruno.
----------------------------------------------------------------------
Comment By: Brian D. Carlstrom (bdc)
Date: 2001-05-28 23:06
Message:
Logged In: YES
user_id=27364
From: Bruno.Verlyck@inria.fr
To: scsh-bugs@zurich.ai.mit.edu
Subject: problems with static linker
Date: Wed, 10 May 2000 14:51:01 +0200 (MET DST)
I recently decided to install scsh 0.5.2 on Solaris (5.6)
and Linux
(RH 6.1, kernel 2.2.12-20). Everything compiled fine (with
gcc).
But, as I had static-linked scsh.image with scsh 0.5.1, and
changed
the #! .. !# lines of my scripts accordingly, I had to do
the same
with 0.5.2.
On Solaris, I get problems while compiling the scripts; for
example:
Error: unknown #\ name
space
#{Input-port}
If I replace #\space with #\ , compilation fails a little
later:
Error: exception
(car 'else)
This particular piece of code works under the standard
scsh.image.
On Linux, static linking fails with some undefined symbols:
(gcc -rdynamic -o
/afs/inria.fr/common/usr/local/src/scsh-
0.5.2/scsh/scsh.vm
static-p0.o static-i0.o [...] static-p336.o static-
i336.o static.o
-L /usr/local/lib/scsh -lscshvm -ldl -lelf -lnsl -lm -lc)
static-i51.o(.data+0x5c8): undefined reference to
`df_compile_re'
static-i51.o(.data+0x764): undefined reference to
`df_free_re'
static-i51.o(.data+0xb18): undefined reference to
`df_scheme_tcgetattrB'
static-i51.o(.data+0xb28): undefined reference to
`df_re_search'
static-i51.o(.data+0xb5c): undefined reference to
`df_re_errint2str'
collect2: ld returned 1 exit status
In both cases, I used this command to do the link:
time ./scsh/static.scm --cc gcc --temp /tmp -o
scsh/scsh.vm -i scsh/scsh.ima\
ge
(.. that worked for scsh 0.5.1). I didn't find anything
resembling
the scsh-hlink command referred to near the pages 173-175
of the new
manual, so I used the same recipe than with 0.5.1. I can
give you
more specific details if you need them.
Have you heard of anything like this ? Can you give me
some advice ?
Thanks in advance,
Bruno.
----------------------------------------------------------------------
Comment By: Brian D. Carlstrom (bdc)
Date: 2001-05-28 23:05
Message:
Logged In: YES
user_id=27364
From: Bruno.Verlyck@inria.fr
To: scsh-bugs@zurich.ai.mit.edu
Subject: problems with static linker
Date: Wed, 10 May 2000 14:51:01 +0200 (MET DST)
I recently decided to install scsh 0.5.2 on Solaris (5.6)
and Linux
(RH 6.1, kernel 2.2.12-20). Everything compiled fine (with
gcc).
But, as I had static-linked scsh.image with scsh 0.5.1, and
changed
the #! .. !# lines of my scripts accordingly, I had to do
the same
with 0.5.2.
On Solaris, I get problems while compiling the scripts; for
example:
Error: unknown #\ name
space
#{Input-port}
If I replace #\space with #\ , compilation fails a little
later:
Error: exception
(car 'else)
This particular piece of code works under the standard
scsh.image.
On Linux, static linking fails with some undefined symbols:
(gcc -rdynamic -o
/afs/inria.fr/common/usr/local/src/scsh-
0.5.2/scsh/scsh.vm
static-p0.o static-i0.o [...] static-p336.o static-
i336.o static.o
-L /usr/local/lib/scsh -lscshvm -ldl -lelf -lnsl -lm -lc)
static-i51.o(.data+0x5c8): undefined reference to
`df_compile_re'
static-i51.o(.data+0x764): undefined reference to
`df_free_re'
static-i51.o(.data+0xb18): undefined reference to
`df_scheme_tcgetattrB'
static-i51.o(.data+0xb28): undefined reference to
`df_re_search'
static-i51.o(.data+0xb5c): undefined reference to
`df_re_errint2str'
collect2: ld returned 1 exit status
In both cases, I used this command to do the link:
time ./scsh/static.scm --cc gcc --temp /tmp -o
scsh/scsh.vm -i scsh/scsh.ima\
ge
(.. that worked for scsh 0.5.1). I didn't find anything
resembling
the scsh-hlink command referred to near the pages 173-175
of the new
manual, so I used the same recipe than with 0.5.1. I can
give you
more specific details if you need them.
Have you heard of anything like this ? Can you give me
some advice ?
Thanks in advance,
Bruno.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=110493&aid=407062&group_id=10493
|