[gnutls-dev] Guile related 'make install' failure

Ludovic Courtès ludo at gnu.org
Thu Jun 28 23:08:01 CEST 2007


Hi,

Simon Josefsson <simon at josefsson.org> writes:

> ludo at gnu.org (Ludovic Courtès) writes:
>
>> Hi,
>>
>> Simon Josefsson <simon at josefsson.org> writes:
>>
>>> Right, it is the same problem as for perl, python, emacs etc and other
>>> similar systems that use a local package repository.  I think the best
>>> we can do is to offer these options:
>>>
>>> 1: Install GnuTLS guile bindings under our $prefix, and ask users to put
>>> the directory in their load-path.
>>>
>>> 2: Ask users to configure using
>>> --with-guile-site-dir=/usr/share/guile/site and getting the proper
>>> rights to that directory.
>>
>> The idea of having something that purposefully fails by default seems
>> questionable.  :-)
>
> Hm, it wouldn't fail if the user did acquire the proper rights on the
> directory, would it?  Some people do './configure && make' as a user,
> and then run 'make install' as root.  Then #2 would work.

Sure, this would work.  By "fails by default", I meant this:

  $ ./configure && make && sudo make install
  $ guile
  guile> (use-modules (gnutls))
  <unnamed port>: no code for module (gnutls)

Users would have to go through the manual or `README' and find out the
right option.

> If the user builds with --prefix=/usr, the guile paths will be
> correct.

But `$(GUILE_SITE)' could be anything outside `/usr'.

> I believe it is more important to not install anything outside of
> $prefix by default.

Well, we definitely have to make a compromise.  I won't fight strongly
against having Guile code installed under `$prefix'.  Nevertheless, I
believe that Guile users will likely be surprised to see that it
"doesn't work out of the box".

BTW, Libtool issues a message at installation-time in this sort of
circumstance:

  ----------------------------------------------------------------------
  Libraries have been installed in:
     /usr/local/lib

  If you ever happen to want to link against installed libraries
  in a given directory, LIBDIR, you must either use libtool, and
  specify the full pathname of the library, or use the `-LLIBDIR'
  flag during linking and do at least one of the following:
     - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
       during execution
     - add LIBDIR to the `LD_RUN_PATH' environment variable
       during linking
     - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
     - have your system administrator add LIBDIR to `/etc/ld.so.conf'

Maybe something similar should be done when installing Guile modules?

For the time being, let's say we can keep you approach and see if we get
feedback.

Thanks,
Ludovic.




More information about the Gnutls-dev mailing list