Re: Guile-gtk and odd install paths



On Mon, Mar 08, 1999 at 06:49:04PM +0100, Marius Vollmer was heard to say:
> Daniel Burrows <Daniel_Burrows@brown.edu> writes:
> 
> >   Hi, I've been trying to get Guile-GTK working and I've had some
> > problems due to the fact that I decided to install it under
> > /usr/local/gnome.
> 
> I'm pretty much confused myself what's going on with the load-paths of
> shared libraries, but a pretty sure way is probably to set the
> LD_LIBRARY_PATH environment variable to include /usr/local/gnome/lib/.
> Putting that directory in /etc/ld.so.conf should ideally have the same
> effect, but it might very well be the case that it hasn't.
> 
> I assume you are using guile-gtk-0.15, right?  On what OS (GNU/Linux,
> FreeBSD, ...)?

  Debian GNU/Linux, guile-gtk and everything else installed from CVS in
/usr/local/gnome.  I already did the ld.so.conf thing; it works for all other
Gnome programs and has since last November/December.

> Starting with 0.15, guile-gtk is shipped with a libtool that should
> get all inter-library dependencies right on GNU/Linux and use dlopen
> directly without doing any useful path searching itself.  When the
> library is in /etc/ld.so.cache, dlopen should find it just fine.  You
> can check the contents of this cache with "ldconfig -p".

  I checked, it's in there.

> >   I dug around in the documentation until I found a mention of the
> > environment variable GUILE_LOAD_PATH. (is there any way to do this
> > from inside Guile or from a site config file?)
> 
> >From Scheme, the variable is called %load-path. It's a list of
> strings.  You can of course set it in your site config file.

  Ok.

> > bluegreen:~> setenv GUILE_LOAD_PATH /usr/local/gnome/share/guile
> > bluegreen:~> guile
> > guile> (use-modules (gtk gtk))se-modules (gtk gtk))
> > 
> > ;;; WARNING (Cannot find library libguilegtk-1.3)
> > ERROR: In procedure error in expression (error "can't open library" libname):
> > ERROR: can't open library "libguilegtk-1.3"
> > ABORT: (misc-error)
> 
> I think there are some messages missing.  You should also get a line like
> 
>     (dlopening "libguilegtk-1.3.so" #f)
> 
> and one like
> 
>     dlopen: libguilegtk-1.3.so: cannot open shared object file: No such file or directory
> 
> (or some variation on this).  Is that true?

  No.  I cut that and pasted it directly into the message.

  However, after you mentioned LD_LIBRARY_PATH, it occured to me that I should
give that a shot (I had assumed that ld.so.conf was sufficient).  Lo and behold:

bluegreen:~/gaime> setenv LD_LIBRARY_PATH /usr/local/gnome/lib
bluegreen:~/gaime> guile
guile> (use-modules (gtk gtk))
(dlopening "libm.so" "/usr/lib/libm.so")
(dlopening "libm.so" "/usr/lib/libm.so")
(dlopening "libX11.so" "/usr/X11R6/lib/libX11.so")
(dlopening "libXext.so" "/usr/X11R6/lib/libXext.so")
(dlopening "libdl.so" "/usr/lib/libdl.so")
(dlopening "libglib.so" "/usr/local/gnome/lib/libglib.so")
(dlopening "libgmodule.so" "/usr/local/gnome/lib/libgmodule.so")
(dlopening "libgdk.so" "/usr/local/gnome/lib/libgdk.so")
(dlopening "libgtk.so" "/usr/local/gnome/lib/libgtk.so")
(dlopening "libguilegtk-1.3.so" "/usr/local/gnome/lib/libguilegtk-1.3.so.0")

  So..is it possible to do this using config files? (I don't like using
environment variables for config info unless it's absolutely necessary)

  For reference, ld.so.conf contains--
/usr/lib/tkstep
/usr/local/gnome/lib
/usr/X11R6/lib/Xaw3d
/usr/local/lib
/usr/lib/libc5-compat
/lib/libc5-compat
/usr/X11R6/lib

  Daniel Burrows

-- 
Imagine if every Thursday your shoes exploded if you tied them the usual
way.  This happens to us all the time with computers, and nobody thinks of
complaining.
		-- Jeff Raskin



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]