From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Greg Troxel Newsgroups: gmane.lisp.guile.user Subject: Re: Managing Guile and extensions versions Date: 11 Oct 2005 10:56:07 -0400 Message-ID: References: <6efab235050925145055ba774c@mail.gmail.com> <87y85fpl60.fsf@zip.com.au> <87ll1frnni.fsf@laas.fr> <87d5mou19o.fsf@zip.com.au> <6efab2350510020425j76899e29hec6ea7e3dcce6c3@mail.gmail.com> <87fyrj8ipf.fsf@zip.com.au> <6efab2350510040406o10b238a2m54543ea373cdd7f5@mail.gmail.com> <87k6gs7s35.fsf@zip.com.au> <6efab2350510050718v130d983amc3e8226d2a52c1f6@mail.gmail.com> <87psqfe9s1.fsf@zip.com.au> <6efab2350510110320j6133856dv63d70d273c4dfe90@mail.gmail.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1129042788 6356 80.91.229.2 (11 Oct 2005 14:59:48 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 11 Oct 2005 14:59:48 +0000 (UTC) Cc: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Tue Oct 11 16:59:46 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EPLY7-0000lo-2u for guile-user@m.gmane.org; Tue, 11 Oct 2005 16:56:15 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EPLY6-0006W3-U3 for guile-user@m.gmane.org; Tue, 11 Oct 2005 10:56:14 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EPLY2-0006Vy-QF for guile-user@gnu.org; Tue, 11 Oct 2005 10:56:10 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EPLY1-0006Vl-9J for guile-user@gnu.org; Tue, 11 Oct 2005 10:56:10 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EPLY1-0006Vi-56 for guile-user@gnu.org; Tue, 11 Oct 2005 10:56:09 -0400 Original-Received: from [192.1.100.210] (helo=fnord.ir.bbn.com) by monty-python.gnu.org with esmtp (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) (Exim 4.34) id 1EPLY0-0002jd-Vi for guile-user@gnu.org; Tue, 11 Oct 2005 10:56:09 -0400 Original-Received: by fnord.ir.bbn.com (Postfix, from userid 10853) id 9F6A65286; Tue, 11 Oct 2005 10:56:07 -0400 (EDT) In-Reply-To: <6efab2350510110320j6133856dv63d70d273c4dfe90@mail.gmail.com> Original-Lines: 52 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:4832 Archived-At: INSTALL file explains how this information is supposed to be delivered to libltdl (with LD_LIBRARY_PATH). No information about how this information is supposed to be found by configure.ac/Makefile.am in extension. Neither in documentation of guile nor in code of existing extensions. IMNSHO this is insane: LD_LIBRARY_PATH=/opt/guile/lib \ PATH=/opt/guile/bin:"${PATH}" \ guile --version I concur that this is a problem, and I think it's not impossible to solve. It is somewhat difficult, though, because of several conflicting guidelines: debian doesn't allow setting RPATH, or at least used to not. I've never really understood this. Many people think setting LD_LIBRARY_PATH is bletcherous. guile used to support binary-only modules, but I think after 1.6 this compat support was dropped. ttn-guile 1.4 still does. My view is that when a program is compiled with --prefix=/foo that when parts of it need to open files they should use absolute paths with /foo so that exactly the right bits are obtained, regardless of what is in the environment and path. This means that you can't build to /foo and then install in /bar, but IMHO that's one of the reasons why we have source code. (But, I'm afraid that this may run afoul of the underlying reasons why debian doesn't like rpath.) So, when I make extension modules that have binary libraries, I make a foo.scm.in and put in it code like this: ;; Find our shared library (autoconf substitution). (define *sinew-udaanlsu-libdir* "@prefix@/lib") ;; Link shlib, and initialize it. (dynamic-call "guile_udaanlsu_init" (dynamic-link (string-append *sinew-udaanlsu-libdir* "/" "libguile_udaanlsu"))) Also, I use -R when linking, so the libraries can find other libraries. This is standard practice in NetBSD pkgsrc, but we of course need to arrive at a solution that can work for all reasonable practices. I think it's reasonable for people that decline to use rpath to have to use LD_LIBRARY_PATH. -- Greg Troxel _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user