Hi,
I have a strange problem compiling CL-GD with CMUCL 19b on Linux
2.6.11-6mdk i686. I have installed all required libraries like
libiconv, libpng, ... and also several ASDF installable libraries
before without problem.
The cl-gd-glue.so library builds with no problem, but then when I do
:
(asdf:oos 'asdf:compile-op :cl-gd)
it complains with this :
Error in function SYSTEM::LOAD-OBJECT-FILE:
Can't open object
"/home/neptun/.asdf-install-dir/site/cl-gd-0.4.8/cl-gd-glue.so":
"libiconv.so.2: cannot open shared object file: No such file or
directory"
[Condition of type SIMPLE-ERROR]
I have checked that the libiconv stays in /usr/local/lib, ls shows it
:
-rw-r--r-- 1 root root 780 Aug 16 20:25 libiconv.la
-rw-r--r-- 1 root root 1024519 Aug 16 20:25 libiconv_plug.so
lrwxrwxrwx 1 root root 17 Aug 16 20:25 libiconv.so ->
libiconv.so.2.2.0
lrwxrwxrwx 1 root root 17 Aug 16 20:25 libiconv.so.2 ->
libiconv.so.2.2.0
-rw-r--r-- 1 root root 1026888 Aug 16 20:25 libiconv.so.2.2.0
also the cl-gd-glue.so is on that place where the compiler complains.
The access right are set to user neptun and it's fine.
When I do this :
CL-USER> (in-package :system)
#<The SYSTEM package, 85/139 internal, 141/179 external>
SYS> (load-object-file "libiconv.so.2")
it fails with : File-error in function TRUENAME: The file
"libiconv.so.2" does not exist. - which is as it shoud be, right?
when I supply the complete path :
SYS> (load-object-file "/usr/local/lib/libiconv.so.2")
then it loads ok.
------------
So I think that the problem might be with some *variable* in my
configuration where the SYSTEM:LOAD-OBJECT-FILE looks for libraries
which is not set up properly (missing "/usr/local/lib") or something...
I am quite new to Lisp, so any ideas will be appreciated.
Regards,
Karol
From: Edi Weitz
Subject: Re: problem compiling CL-GD with CMUCL 19b
Date:
Message-ID: <ubr3xr7jx.fsf@agharta.de>
On 16 Aug 2005 12:23:16 -0700, "Karol Skocik" <············@gmail.com> wrote:
> When I do this :
> CL-USER> (in-package :system)
> #<The SYSTEM package, 85/139 internal, 141/179 external>
> SYS> (load-object-file "libiconv.so.2")
>
> it fails with : File-error in function TRUENAME: The file
> "libiconv.so.2" does not exist. - which is as it shoud be, right?
>
> when I supply the complete path :
> SYS> (load-object-file "/usr/local/lib/libiconv.so.2")
> then it loads ok.
It looks like you've been bitten by a recent change in CMUCL. The
problem is described here:
<http://article.gmane.org/gmane.lisp.cmucl.devel/8075>
(Note that "18a" and "18b" there should be "19a" and "19b"
respectively.) AFAIK the latest 19b releases should not show these
symptoms anymore, i.e.
(sys::load-object-file "libiconv.so.2")
should just work. You might want to ask on the CMUCL mailing list
about which version to use.
Cheers,
Edi.
PS: The problem /could/ also be that your lib is in /usr/local/lib and
thus not found. I'm pretty sure the error message would have been
different then, though. Just to make sure try to load an existing
library in /usr/lib the same way (i.e. without directory info) and
see if you get the same error message - or set LD_LIBRARY_PATH
before you start CMUCL.
--
Lisp is not dead, it just smells funny.
Real email: (replace (subseq ·········@agharta.de" 5) "edi")