unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Greg Troxel <gdt@ir.bbn.com>
Cc: guile-user@gnu.org
Subject: Re: Managing Guile and extensions versions
Date: 11 Oct 2005 10:56:07 -0400	[thread overview]
Message-ID: <rmiu0fow1a0.fsf@fnord.ir.bbn.com> (raw)
In-Reply-To: <6efab2350510110320j6133856dv63d70d273c4dfe90@mail.gmail.com>

  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 <gdt@ir.bbn.com>


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user


  reply	other threads:[~2005-10-11 14:56 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-25 21:50 PHP to GUILE Vorfeed Canal
2005-09-26  1:42 ` Kevin Ryde
2005-09-26  7:27   ` Zeeshan Ali
2005-09-26  8:17     ` Vorfeed Canal
2005-09-26 17:57       ` Zeeshan Ali
2005-09-26 19:05         ` Vorfeed Canal
2005-09-26 19:34           ` Zeeshan Ali
2005-09-26  7:43   ` Vorfeed Canal
2005-09-26 11:17     ` Thien-Thi Nguyen
     [not found]       ` <6efab23505092609331abd82b7@mail.gmail.com>
2005-09-26 16:34         ` Vorfeed Canal
2005-09-26 22:12           ` Thien-Thi Nguyen
2005-09-27 10:11             ` Vorfeed Canal
2005-09-27 12:48               ` Thien-Thi Nguyen
2005-09-27 14:36                 ` Vorfeed Canal
2005-09-27 17:13                   ` Thien-Thi Nguyen
2005-09-27 17:47                     ` Vorfeed Canal
2005-09-27 19:44                       ` Thien-Thi Nguyen
2005-09-26 12:23 ` Exceptions Ludovic Courtès
2005-09-26 19:20   ` Exceptions Vorfeed Canal
2005-09-27  8:42     ` Exceptions Ludovic Courtès
2005-09-27 10:54       ` Exceptions Vorfeed Canal
2005-09-27 15:45         ` Exceptions Ludovic Courtès
2005-09-27 17:18           ` Exceptions Vorfeed Canal
2005-09-28  7:10             ` Managing Guile and extensions versions Ludovic Courtès
2005-09-28 20:19               ` Vorfeed Canal
2005-09-29 15:34                 ` Ludovic Courtès
2005-09-29 16:30                   ` Vorfeed Canal
2005-09-30 22:07                     ` Neil Jerram
2005-10-19  7:58                       ` Rob Browning
2005-09-29 22:24               ` Kevin Ryde
2005-09-30  8:00                 ` Ludovic Courtès
2005-10-02  1:59                   ` Kevin Ryde
     [not found]                     ` <6efab2350510020425j76899e29hec6ea7e3dcce6c3@mail.gmail.com>
2005-10-03  1:58                       ` Kevin Ryde
2005-10-04 11:06                         ` Vorfeed Canal
2005-10-04 23:58                           ` Kevin Ryde
2005-10-05 14:18                             ` Vorfeed Canal
2005-10-09  1:53                               ` Kevin Ryde
2005-10-11 10:20                                 ` Vorfeed Canal
2005-10-11 14:56                                   ` Greg Troxel [this message]
2005-10-11 21:32                                   ` Kevin Ryde
2005-10-03 12:58                     ` Ludovic Courtès
2005-09-26 19:37 ` PHP to GUILE Neil Jerram
     [not found]   ` <6efab235050926131843ce69e2@mail.gmail.com>
2005-09-26 20:18     ` Vorfeed Canal
2005-09-26 22:39       ` Kevin Ryde
2005-09-27  9:20         ` Vorfeed Canal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=rmiu0fow1a0.fsf@fnord.ir.bbn.com \
    --to=gdt@ir.bbn.com \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).