On 23/01/2016 03:56, Bruce Dubbs wrote:
> William Harrington wrote:
>> On Fri, January 22, 2016 18:54, Bruce Dubbs wrote:
>>> I'm thinking about changing the way we build packages in separate
>>> directories.  What we do now for tool chain packages is:
>>>
>>> mkdir -v ../binutils-build
>>> cd ../binutils-build
>>>
>>> ../binutils-2.25.1/configure  ...
>>>
>>>
>>> I'm thinking about changing that to:
>>>
>>> mkdir -v build
>>> cd       build
>>>
>>> ../configure ...
>>>
>>
>> Hello Bruce,
>>
>> [...]
>>
>> We have stuck with this for the longest time:
>>
>> https://gcc.gnu.org/install/configure.html
>>
>> "First, we highly recommend that GCC be built into a separate directory
>> from the sources which does not reside within the source tree. This is how
>> we generally build GCC; building where srcdir == objdir should still work,
>> but doesn't get extensive testing; building where objdir is a subdirectory
>> of srcdir is unsupported."
> 
> When I read that, I interpret is to mean that they build for multiple targets
> and want to keep the object files from those builds separate.
> 
> I've modified LFS according to the attached diff.  I did a full build and the
> failures in the test logs are the same as with the current book.
> 
> Actually I cannot think of a good reason for differentiation between the case
> where objdir is completely separate from srcdir and the case where objdir is a
> subdirectory of srcdir, even though they say that case is unsupported.  About
> the only thing I can think of is that they may be doing some kind of recursive
> directory search and there is some sort of match in the build tree.
> 

Definitely, building with srcdir == objdir does not work: I tried that when I
saw this thread, and it failed at gcc-pass1. It looks like "make" does not get
the build order right in this case (I tried both with -j5 and -j1, and got the
same error), or misses some dependency:

Checking multilib configuration for libgcc...
mkdir -p -- x86_64-lfs-linux-gnu/libgcc
Configuring in x86_64-lfs-linux-gnu/libgcc
configure: creating cache ./config.cache
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-lfs-linux-gnu
[...]
config.status: creating Makefile
config.status: creating auto-target.h
config.status: linking ../.././libgcc/enable-execute-stack-empty.c to
enable-execute-stack.c
config.status: linking ../.././libgcc/unwind-generic.h to unwind.h
config.status: linking ../.././libgcc/config/i386/linux-unwind.h to
md-unwind-support.h
config.status: linking ../.././libgcc/config/i386/sfp-machine.h to sfp-machine.h
config.status: linking ../.././libgcc/gthr-single.h to gthr-default.h
config.status: executing default commands
make[3]: Entering directory
'/home/pierre/build/LFS-ESS/sources/gcc-5.3.0/x86_64-lfs-linux-gnu/libgcc'
Makefile:168: ../.././gcc/libgcc.mvars: No such file or directory
make[3]: *** No rule to make target '../.././gcc/libgcc.mvars'.  Stop.
make[3]: Leaving directory
'/home/pierre/build/LFS-ESS/sources/gcc-5.3.0/x86_64-lfs-linux-gnu/libgcc'
Makefile:11894: recipe for target 'all-target-libgcc' failed
make[2]: *** [all-target-libgcc] Error 2
make[2]: Leaving directory '/home/pierre/build/LFS-ESS/sources/gcc-5.3.0'
Makefile:858: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/pierre/build/LFS-ESS/sources/gcc-5.3.0'

Pierre
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to