[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: install PREFIX during packaging
From: |
Richard Frith-Macdonald |
Subject: |
Re: install PREFIX during packaging |
Date: |
Mon, 19 May 2014 09:05:36 +0100 |
On 18 May 2014, at 21:37, Riccardo Mottola <rm@gnu.org> wrote:
> Hi,
>
> On 2014-05-16 19:32:34 +0200 Ivan Vučica <ivan@vucica.net> wrote:
>
>> Tests/GNUmakefile is a sub-make. It is very possible that DESTDIR is not
>> properly export'ed.
But the problem is not in Tests/GNUmakefile., it's in Makefile.postamble
>> I'd suggest trying:
>> export DESTDIR=blah
>> make install
>>
>> If this works, then the issue is one instance of make being naughty and not
>> exporting DESTDIR into another make's environment.
>
> Sadly not, here an excerpt on how I tried to add an export:
>
> <...>
> DESTDIR="/home/multix/code/opencsw/gnustep-base/trunk/work/install-isa-sparcv8plus"
> && export DESTDIR && gmake install
> DESTDIR=/home/multix/code/opencsw/gnustep-base/trunk/work/install-isa-sparcv8plus
> LD_OPTIONS=-R/opt/csw/lib/$ISALIST -R/opt/csw/lib -B direct -z ignore
> GARPACKAGE=trunk
> GAROSREL=5.10
> GARCH=sparc
> <...>
> Making all in Tests ...
> If you want to run the gnustep-base testsuite, please type 'make check'
> /opt/csw/bin/ginstall: cannot create regular file
> `/opt/csw/GNUstep/System/Library/Makefiles/Additional/base.make': Permission
> denied
> Makefile.postamble:46: recipe for target 'before-install' failed
> gmake[2]: *** [before-install] Error 1
>
> thus it apparently is wrong or the problem is different.
I would have thought the most likely issue is that something somewhere in one
of your makefiles has set DESTDIR to be empty.
You could narrow it down by the oldest of debug methods ... putting 'print'
statements into your code and commenting out sections.
In this casesomething like 'echo DESTDIR at point XX is $(DESTDIR)' in
various of your makefile rules, and commenting out included makefiles.
For instance, as a sanity check you can put it in the before-install rule in
Makefile.postamble immediately before the instruction that actually goes wrong.