From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Greg Troxel Newsgroups: gmane.lisp.guile.user Subject: Re: 1.6.0 problems with libguilereadline-v-12 and fix Date: 20 Sep 2002 08:04:22 -0400 Sender: guile-user-admin@gnu.org Message-ID: References: <20020918203311.3C5FA3F28@fnord.ir.bbn.com> <87k7ljgfvd.fsf@zagadka.ping.de> <87d6radoa5.fsf@raven.i.defaultvalue.org> NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1032552985 1390 127.0.0.1 (20 Sep 2002 20:16:25 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 20 Sep 2002 20:16:25 +0000 (UTC) Cc: guile-user@gnu.org Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17sUCN-0000MH-00 for ; Fri, 20 Sep 2002 22:16:23 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17sUCk-0008Fm-00; Fri, 20 Sep 2002 16:16:46 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17sMWL-0007un-00 for guile-user@gnu.org; Fri, 20 Sep 2002 08:04:29 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17sMWH-0007ub-00 for guile-user@gnu.org; Fri, 20 Sep 2002 08:04:27 -0400 Original-Received: from fnord.ir.bbn.com ([192.1.100.210]) by monty-python.gnu.org with esmtp (Exim 4.10) id 17sMWF-0007uV-00 for guile-user@gnu.org; Fri, 20 Sep 2002 08:04:23 -0400 Original-Received: by fnord.ir.bbn.com (Postfix, from userid 10853) id C06D03F29; Fri, 20 Sep 2002 08:04:22 -0400 (EDT) Original-To: Rob Browning In-Reply-To: Rob Browning's message of "Thu, 19 Sep 2002 09:53:06 -0500" Original-Lines: 72 X-Mailer: Gnus v5.7/Emacs 20.7 Errors-To: guile-user-admin@gnu.org X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.user:1053 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:1053 I admit to not understanding the debian -rpath rules. Presumably that is intended to allow a package to be installed for a different prefix than the one it was built for. But guile won't work that way, since it needs to find ice-9/foo.scm. Your point about apps needing to link with the srfi libs is one I had not considered. If they link at compile time, then one either has them in a default path, uses LD_LIBRARY_PATH, or uses -rpath/-R (or loses). This is exactly the situation for libguile today. I think my real points are 1) There is an important class of systems and reasonable user behavior (BSD with odd prefixes, at least) where guile works fine except for the dlopening of guile's internal support libraries. 2) It is always the right thing for guile to open the library in exactly the installed path. (If not, scheme files like ice-9/foo should be searched for in the same way - it makes no sense to do these differently, and without a complete solution you can't unpack a built guile someplace else.) 2a) I don't think it is important to support having a package be at a prefix other than where it was built. (But I don't understand the debian rationale, and I agree that it usually makes sense.) 3) Opening the library in the installed path is an easy fix. 4) People will think guile is lame if they have to set LD_LIBRARY_PATH just for guile. (I don't - I just think it has a bug that needs fixing....) I really don't understand why people think it is a good idea for guile to go searching in the default list of library places for libguilereadline-v-12.so. The only justification I have heard is that this is the default behavior of dlopen, and that shared libraries tend to work that way. It would be instructive to look at gimp and plugins (these files are really plugins, not 'shared libraries', although that's a fine distinction): /usr/X11R6/libexec/gimp/1.1/modules: total 71 -rwxr-xr-x 1 root wheel 10468 Nov 16 2000 libcdisplay_gamma.so -rwxr-xr-x 1 root wheel 10604 Nov 16 2000 libcdisplay_highcontrast.so -rwxr-xr-x 1 root wheel 7492 Nov 16 2000 libcolorsel_gtk.so -rwxr-xr-x 1 root wheel 20825 Nov 16 2000 libcolorsel_triangle.so -rwxr-xr-x 1 root wheel 20377 Nov 16 2000 libcolorsel_water.so /usr/X11R6/libexec/gimp/1.1/plug-ins: total 5281 -r-xr-xr-x 1 root wheel 33504 Nov 16 2000 AlienMap -r-xr-xr-x 1 root wheel 35488 Nov 16 2000 AlienMap2 [rest omitted] I'm not really clear how gimp links plugins, but I definitely don't have to set LD_LIBRARY_PATH. gimp seems to put the module path in the search path, since it looks for various libraries that aren't modules there (from a ktrace). But modules are definitely looked for in the 'right' place first. Maybe this is a sign that libguilereadline really should be in $(prefix)/libexec/guile rather than in $(lib). But that's a much longer and less useful debate... Greg Troxel _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://mail.gnu.org/mailman/listinfo/guile-user