On Thu, 12 Apr 2001 16:54:57 +0100, David Starks-Browning wrote:

>Greetings,
>
>Apparently LessTif has some unconventional installation directories
>(at least with respect to autoconf) and it's causing me some headache.

Hmm.

>I am attempting to install LessTif-0.92.26 on a variety of platforms
>(Linux, Solaris 2.7, Tru64 UNIX 5.0, IRIX 6.5).  They share common,
>architecture-independent files in "/sw/common".  Each platform has
>its own architecture-dependent filesystem "/sw/arch".
>
>A well-designed autoconf-based package should "do the right thing" if
>configured thusly:
>
>       ./configure --prefix=/sw/common --exec-prefix=/sw/arch
>
>If you look at *most* of the configure'd Makefiles, you can see the
>appropriate definitions being made:
>
>       prefix = /sw/common
>       exec_prefix = /sw/arch
>       
>       bindir = ${exec_prefix}/bin
>       sbindir = ${exec_prefix}/sbin
>       libexecdir = ${exec_prefix}/libexec
>       datadir = ${prefix}/share
>       sysconfdir = ${prefix}/etc
>       sharedstatedir = ${prefix}/com
>       localstatedir = ${prefix}/var
>       libdir = ${exec_prefix}/lib
>       infodir = ${prefix}/info
>       mandir = ${prefix}/man
>       includedir = ${prefix}/include
>       oldincludedir = /usr/include
>
>       DESTDIR =
>
>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) ?

Bye,


---
Alexander Mai
[EMAIL PROTECTED]


Reply via email to