From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Vorfeed Canal Newsgroups: gmane.lisp.guile.user Subject: Re: Managing Guile and extensions versions Date: Tue, 11 Oct 2005 14:20:50 +0400 Message-ID: <6efab2350510110320j6133856dv63d70d273c4dfe90@mail.gmail.com> 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> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1129026230 13295 80.91.229.2 (11 Oct 2005 10:23:50 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 11 Oct 2005 10:23:50 +0000 (UTC) Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Tue Oct 11 12:23:41 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EPHHZ-0005xv-Gt for guile-user@m.gmane.org; Tue, 11 Oct 2005 12:22:53 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EPHHW-00026H-4H for guile-user@m.gmane.org; Tue, 11 Oct 2005 06:22:51 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EPHG4-00025p-Am for guile-user@gnu.org; Tue, 11 Oct 2005 06:21:22 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EPHFj-00024s-Tj for guile-user@gnu.org; Tue, 11 Oct 2005 06:21:04 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EPHFg-00024i-5U for guile-user@gnu.org; Tue, 11 Oct 2005 06:20:56 -0400 Original-Received: from [72.14.204.192] (helo=qproxy.gmail.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1EPHFg-0008Ml-58 for guile-user@gnu.org; Tue, 11 Oct 2005 06:20:56 -0400 Original-Received: by qproxy.gmail.com with SMTP id p32so1360250qba for ; Tue, 11 Oct 2005 03:20:50 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=RPRkQEszjTHgDhWWRifLfgpo/KATu1TvzPQh8JPxx/3XG157xUAI5r+B8OEg/cgK9AlkPEzn3etEGmCVs106Me7wTkt57+6H1PssqPQWpRRnZqrn4Sguzv6gTAsfQO96BTXsrt3DOus3p4kb2cGgg7mwb4p5ePX8X3YndCNnDw4= Original-Received: by 10.65.54.8 with SMTP id g8mr539097qbk; Tue, 11 Oct 2005 03:20:50 -0700 (PDT) Original-Received: by 10.65.100.16 with HTTP; Tue, 11 Oct 2005 03:20:50 -0700 (PDT) Original-To: guile-user@gnu.org In-Reply-To: <87psqfe9s1.fsf@zip.com.au> Content-Disposition: inline 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:4831 Archived-At: On 10/9/05, Kevin Ryde wrote: > Vorfeed Canal writes: > > > >> GUILE=3D/myexperiments/guile/bin/guile \ > >> GUILE_CONFIG=3D/myexperiments/guile/bin/guile-config \ > >> GUILE_TOOLS=3D/myexperiments/guile/bin/guile-tools \ > > I would set the PATH, this probably works though. This is how it should work. I used GUILE/GUILE_CONFIG/GUILE_TOOLS and not path since the next question will be "now what I need to do to install guile 1.8.1 as /usr/bin/guile-1.8.1 and guile 1.8.2 as /usr/bin/guile-1.8.2" (perl/php/python/ruby/tcl style). The question is HOW IT SHOULD WORK! Where configure.ac/Makefile.am should put libmysuperextension.la (+ .so, etc) file ? WHAT should I write there ? Can you show minimal GUILE extension layout ? Something trivial: export one function uuid_generate_random from libuuid to scheme level. > > $ /myexperiments/guile/bin/guile -c '(use myextension modulename) ...' > > The short answer is: nothing special. > Huh ? How guile will find my library then ? Or do you mean I should duplicate all this information by hand for each and every extension and THAT is called "nothing special" ? > To run guile from a non-default location (anywhere except /usr I > think), I believe you need to put the new libdir into > LTDL_LIBRARY_PATH. This is so guile can find its own C code modules. > Having set that it will find extensions like yours too. > Yeah, it's even written in INSTALL file - but all this will work only if I'll create my extension "in the right way", right ? If this "right way" DOES exist then why existing extensions (like guile-gnome-platform, Gnome-PG and so on) are not using this mechanism. If this "right way" DOES NOT EXIST then why it does not exist ? > The alternative, as I said, is to have your scm know the libdir you > were configured with. This has the advantage of working if the user > installs your code to a different prefix than guile. (Which may be > unlikely, but is quite possible.) > I can embed thousand and one hacks in my .scm file, true. This is NOT what I want. I want simple solution - I've tried to find it in sources of existing extensions but was unable to :-( > (Indicentally, I think guile should know its own libdir and know to > look there. But a non-standard location is just that, > ie. non-standard, so it's not totally unreasonable to have to tell the > linking process about it.) > This is EXACTLY the problem: no matter what and how GUILE knows about exactly two places: /usr/lib and /lib. No matter where it installed. 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=3D/opt/guile/lib \ PATH=3D/opt/guile/bin:"${PATH}" \ guile --version But ok - at least it's documented. But what to do with extensions ? WHAT is proposed solution ? WHEN this solution will be used by real-life extensions like guile-gnome-platform ? _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user