From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24399 invoked by alias); 15 Nov 2001 23:39:36 -0000 Mailing-List: contact guile-gtk-help@sourceware.cygnus.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: guile-gtk-owner@sources.redhat.com Received: (qmail 24377 invoked from network); 15 Nov 2001 23:39:35 -0000 Received: from unknown (HELO zagadka.ping.de) (195.138.42.63) by sourceware.cygnus.com with SMTP; 15 Nov 2001 23:39:35 -0000 Received: (qmail 1165 invoked by uid 1000); 15 Nov 2001 23:39:29 -0000 To: Bo Forslund Cc: Alexey Rodriguez Y , guile-gtk list Subject: Re: ERROR: In procedure dynamic-link: References: <3BF335B5.CC95D0F4@abc.se> <200111151337.fAFDbvQ26110@orion.memi.umss.edu.bo> <3BF3CD7C.A348EE8A@abc.se> <200111151540.fAFFemO29751@orion.memi.umss.edu.bo> <3BF43FF9.9D8E88D0@abc.se> From: Marius Vollmer Date: Thu, 18 Oct 2001 03:10:00 -0000 In-Reply-To: <3BF43FF9.9D8E88D0@abc.se> Message-ID: <87pu6j4n9q.fsf@zagadka.ping.de> User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2001-q4/txt/msg00008.txt.bz2 Bo Forslund writes: > How is it with libnames? The function `dynamic-link' is supposed to supply the extension on its own. This is the reason you shouldn't specify any. For example, Guile will first look for a `libtool archive#' with extension ".la". Such an archive is a short description file that will then direct the actual loading of the real shared library. This might be necessary on platforms that don't support inter-library dependencies, or have funny versioning schemes. Also, not all platforms use ".so". HP/UX uses ".sl" I think, and Win32 uses ".dll". So it's better the let Guile choose the extension. This does not seem to work for you, however. What version of Guile are you using? Maybe we need to make sure that it includes the right version of libltdl (the lower level that handles all the dirty bits about dynamic linking). Libltdl has been known for producing "file not found" error messages for just about any kind of error. You can't, unfortunately, assume that the real cause is indeed some file not being found. This should have been fixed already, however, but it could be that the version of Guile that you are using has not yet picked up that fix. It might be helpful to use `strace' to find out what files guile or guile-gtk are really looking for and which are opened successfully. > So I did this in dynlink.scm > > (define string-append ( Why do you define string-append? There is a builtin string-append. ) > Then at what used to be /usr/share/guile/gtk/dynlink.scm:19:34: > (dynamic-call init-func (dynamic-link (string-append libname ".so"))) > > Not very elegant but it works. Which is kinda strange. It _could_ be that you have a very old version of Guile that doesn't provide its own extensions lib shared libraries. That would have to be Guile 1.3.4 or something.