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
-------------------------------------------------------------------