Modular build: build.sh failing at libxcb, libX11 ...

Rémi Cardona remi at gentoo.org
Thu Nov 8 01:00:48 PST 2007


Jamey Sharp a écrit :
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 11/6/07, Jens Stroebel <dr-xorg at bcsoft.de> wrote:
>> While the other parts have no problem with DESTDIR, the build of
>> xorg-libs has. It fails first in libxcb (which is pretty simple to fix
>> by giving an environment variable to the make of it)
> 
> I don't understand. I routinely install libxcb using
>   make DESTDIR=... install
> and it works for me. What are you doing that doesn't work?
> 
>> then in libX11 (which gets caused by libtool trying to find *.la files
>> in $PREFIX/lib instead of $DESTDIR/$PREFIX/lib). We didn't continue at
>> that point and are using another method for xorg-libs ATM.
> 
> Similarly, Debian packages of libX11 are being built with
>   $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
> and that seems to work for them.

Gentoo works the same way, using "make DESTDIR=" and then copying the 
files to the root filesystem.

Jens, basically, I think you're bending DESTDIR for something it wasn't 
really meant for.

If you use DESTDIR, you will still have to put them in the original 
$prefix dir at some point if you want other libs/programs to find them 
correctly. Trying to work around that is hacky at best.

Basically, I think one way out is to do what package managers do. Keep a 
list of files/symlinks/permissions that are installed on the system when 
they untar the content of a package onto the root filesystem (so for you 
that would be whatever's inside $DESTDIR when you copy it to $prefix). 
Do this for each xorg module, then merge the lists for your 4 master 
packages and tar those files back together.

Since xorg (mostly) is now a model autotools citizen, it will require 
some scripting skills but it shouldn't be too hard.

Hope that helps.

Rémi



More information about the xorg mailing list