[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Exceptions
From: |
Ludovic Courtès |
Subject: |
Re: Exceptions |
Date: |
Tue, 27 Sep 2005 17:45:07 +0200 |
User-agent: |
Gnus/5.110004 (No Gnus v0.4) Emacs/21.4 (gnu/linux) |
Hello,
Vorfeed Canal <address@hidden> writes:
> 1. Not really:
> A. They are usually useless for programs not linked to guile - and
> such programs will know where to find them anyway since libguile will
> know this.
Libguile knows where _any_ third party library (the shared object) gets
installed? This is wrong. The user knows it, the Scheme module that
loads it knows it, but Guile itself doesn't care.
> B. If program A is linked to libguile.so.12 (guile 1.6.7) while
> program B is linked to libguile.so.16 (guile 1.7.2) they'll need
> DIFFERENT versions of such libraries - and this is somewhat
> problematic with libtool.
This is true I guess, because `dynamic-link' doesn't allow to specify
version info. _This_ is an issue and maybe this procedure could be
fixed by allowing the user to pass Libtool-like version information.
Note that `(ice-9 readline)' works around this by having the library
name contain version information.
> C. While it's true "these libraries can do this and they can do
> that" in almost 100% cases today they just export some functions for
> scheme level.
Maybe. So what?
> 2. You can not install them "in the usual place" anyway:
>
> $ ./configure --prefix=/somewhere/there ; make ; make install
> $ /somewhere/there/bin/guile -e '(use-modules (ice-9 readline))'
> ERROR: In procedure dynamic-link:
> ERROR: file: "libguilereadline-v-16", message:
> "libguilereadline-v-16.so: cannot open shared object file: No such
> file or directory"
>
> Oops ?
That doesn't look so weird to me. The convention on Unix systems is
that you _have to_ specify at run-time a list of directories where
libraries may be searched for by the loader.
> I did not. Right now it's IMPOSSIBLE to install two versions of guile
> at all - let alone in the sane way
> (/usr/bin/guile-{1.6,1.7},/usr/lib/guile-{1.6,1.7},/usr/share/guile-{1.6,1.7}
Debian has two Guile packages that may be installed together alongside.
Guile itself would work fine. Even `(ice-9 readline)' will work fine
thanks to the workaround above.
The only thing (admittedly important!) that may not work, though, is
other extension libraries, as we noted above.
> so I can not see how guile development is done in first place (it's
> standard practice to have 3-4 different versions of program while it's
> in developmet and guile does not work this way at all - and even if
> you'll fix guile itself third-party extensions will not obey your
> decision).
This is true. The point is that there is apparently no sufficient
manpower to address all these issues. In particular, I guess the
current Guile developers work hard to improve Guile itself, at the
expense of breaking binary compatibility.
Note, however, that Guile 1.6 was compatible at the source-level with
Guile 1.4 (and people were greatly encourage to drop the `gh_'
interface), and Guile 1.7 is source-level compatible with Guile 1.6 (and
it also encourage users to migrate to the new API when relevant).
Apparently, the C API of Guile 1.7 was designed to me as much
``future-proof'' as possible, given the goals that can be envisioned
today. The internals are no longer exposed to the C user. I'm
confident in the relative stability of this API.
> I've tried it few years ago and back then it was not really usable:
> was not able to even work with 10GiB partition. Today... It does not
> even detect my SATA HDD in my NForce4-based system. May be I've used
> too old version, of course... or did something wrong. Plus AFAIK even
> today it's still "not recommended for production use" - after >10
> years of development and I'm not really interested in OS development
> (or for that matter GUILE development): I want something that WORKS.
> NOW. It's Ok if I need to spend some time with tuning/fixing, but not
> YEARS, sorry.
Why don't you sponsor a few developers, or even just a single one?
Thanks,
Ludovic.
- Re: PHP to GUILE, (continued)
- Re: PHP to GUILE, Vorfeed Canal, 2005/09/27
- Re: PHP to GUILE, Thien-Thi Nguyen, 2005/09/27
- Re: PHP to GUILE, Vorfeed Canal, 2005/09/27
- Re: PHP to GUILE, Thien-Thi Nguyen, 2005/09/27
- Re: PHP to GUILE, Vorfeed Canal, 2005/09/27
- Re: PHP to GUILE, Thien-Thi Nguyen, 2005/09/27
Exceptions, Ludovic Courtès, 2005/09/26
- Re: Exceptions, Vorfeed Canal, 2005/09/26
- Re: Exceptions, Ludovic Courtès, 2005/09/27
- Re: Exceptions, Vorfeed Canal, 2005/09/27
- Re: Exceptions,
Ludovic Courtès <=
- Re: Exceptions, Vorfeed Canal, 2005/09/27
- Managing Guile and extensions versions, Ludovic Courtès, 2005/09/28
- Re: Managing Guile and extensions versions, Vorfeed Canal, 2005/09/28
- Re: Managing Guile and extensions versions, Ludovic Courtès, 2005/09/29
- Re: Managing Guile and extensions versions, Vorfeed Canal, 2005/09/29
- Re: Managing Guile and extensions versions, Neil Jerram, 2005/09/30
Re: Managing Guile and extensions versions, Kevin Ryde, 2005/09/29
Re: Managing Guile and extensions versions, Ludovic Courtès, 2005/09/30
Re: PHP to GUILE, Neil Jerram, 2005/09/26