OK, removing DESTDIR from my "build-userland" shell script fixed the problem.
To be specific, the FAQ says:
Make sure all the appropriate directories are created.
# cd /usr/src/etc && env DESTDIR=/ make distrib-dirs
And here is what I had in my build script (ksh):
cd ${BSDSRCDIR}/etc
export DESTDIR=/
make distrib-dirs
And up until now, that has always worked for me. But now it doesn't, so based
on Stuart's advice, I removed the
"export DESTDIR=/"
Is the FAQ incorrect, or was my translation of the FAQ into a ksh script
incorrect, which then failed when DESTDIR suppport during userland builds
changed?
Thank you so much for pointing out a workaround to my problem, I've been stuck
on this for days!
Don
On Nov 23, 2010, at 9:32 PM, Don Jackson wrote:
> On Nov 23, 2010, at 3:06 PM, Stuart Henderson wrote:
>
>> looks like you are setting DESTDIR during build. unfortunately DESTDIR
> builds
>> got broken with the move to GCC 4 and aren't supported during the build
> phase
>> any more.
>>
>> http://marc.info/?l=openbsd-tech&m=128072148432121&w=2
>>
>> the patches in the previous message in the thread do work (you must build
>> and install gcc with the patch *before* doing the DESTDIR build), but
> you're
>> creating maintenance problems that way.
>>
>> the simplest way to do what you're trying to do now is probably to unpack
>> OS tgz sets to some other directory and build in a chroot jail (watch out
>> for mount options nodev/nosuid).
>>
>> but the simplest way overall is to do the build without setting DESTDIR.
>
>
> I'm willing to try not using DESTDIR.
>
> But the FAQ clearly states to set it:
>
> Make sure all the appropriate directories are created.
> # cd /usr/src/etc && env DESTDIR=/ make distrib-dirs
> http://www.openbsd.org/faq/faq5.html#BldUserland
>
> I will try this without setting DESTDIR.