On 10/9/05, Kevin Ryde <[EMAIL PROTECTED]> wrote: > Vorfeed Canal <[EMAIL PROTECTED]> writes: > > > >> GUILE=/myexperiments/guile/bin/guile \ > >> GUILE_CONFIG=/myexperiments/guile/bin/guile-config \ > >> GUILE_TOOLS=/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=/opt/guile/lib \ PATH=/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