On Thursday 12 Apr 01, Alexander Mai writes:
> > ...
> >
> >So, in particular, I would expect "make install" to put libraries into
> >${exec_prefix}/lib.  (That's my deliberate intent, according to the
> >options I gave configure.)
> >
> >In lib/Xm-2.0/Makefile.am (for one, that's as far as I got), this
> >choice is overridden:
> >
> >     #
> >     # Lets put the headers in a sub directory to avoid
> >     # poluting /usr/local with more directories for default installs.
> >     #
> >     libdir = $(prefix)/LessTif/Motif2.0/lib
> >
> >(it's libs, not headers here, but never mind).  But there's more:
> >
> >     install-data-hook:
> >     if Version_2_0
> >     if LibtoolShared
> >             -rm -f $(DESTDIR)$(prefix)/lib/libXm.so.2*
> >             (cd $(DESTDIR)$(prefix)/lib && $(LN_S) 
>../LessTif/Motif2.0/lib/libXm.so.2* .)
> >     endif
> >     ...
> >
> >Since I don't have any $(prefix)/lib, and mkinstalldirs was not
> >called, the cd command fails and "make install" aborts.  (Not that I
> >would want this to work, because that's not where the libraries should
> >go!)  So this is as far as I got.
> >
> >This is my first hour with LessTif, and I'm no autoconf expert, so I'm
> >not qualified to suggest an alternative, yet.  Are the developers
> >interested in repairing problems like this?  Or is it up to me to work
> >around this for our own site?
> >
> >Thanks for your help.
> 
> We are interested, but I think I clarify some detail here first:
> LessTif may build/install >=3 versions of the libraries, actually
> being 1.2, 2.0 and 2.1.
> The default version on a system is that which is linked upon a
> "-lXm" on the linker commandline. To reduce the mess which would be
> created if we deal with removing/installing links to various libXm.so* files
> (let's assume we're on some un*x system which does it that way) we install
> all libraries (and headers) in an external dir and just put the minimum
> of symbolic links into the lib directory.
> 
> Would it be better/ok/brilliant, if we keep our scheme, but replace our $(prefix) in 
>the
> related Makefile.* by $(exec-prefix) ?

What about using libdir as configure intends, which is (IMO), where
you put the symlink targets in the default case?  Remember that some
users might go further and specify

        ./configure --libdir=...

and be rather confused when your Makefiles don't honor that.  You can
use something different (i.e., not 'libdir') for the true locations of
the libraries in their version-specific directories.

In fact, I think that autoconf gives you something like

        pkglibdir = $(libdir)/lesstif
        pkgincludedir = $(includedir)/lesstif

that you might use for this purpose.  Something like

        $(pkglibdir)/Motif2.0/libXm.so.2

would be safer than the current

        $(prefix)/lib/LessTif/Motif2.0/libXm.so.2

for example.  When I say "safer", I mean more likely to be consistent
with user-specified configure options.

If pkglibdir is too radical a change, then your suggestion to use
$(exec_prefix)/lib/LessTif/Motif2.0/... would probably suffice.  (But
my point remains that this should not be called 'libdir'.)

Hope this helps.  I would be delighted if this were taken to heart.  I
am willing to offer patches, but it might be a week or too before I
could prepare something for you.

Kind regards,
David

 -------------------------------------------------------------------
  David Starks-Browning                  | [EMAIL PROTECTED]
  EMBL Outstation --                     |
  The European Bioinformatics Institute  |
  Wellcome Trust Genome Campus           | tel: +44 (1223) 494 616
  Hinxton, Cambridge, CB10 1SD, UK       | fax: +44 (1223) 494 468
 -------------------------------------------------------------------

Reply via email to