Gentoo Archives: gentoo-embedded

From: Eric G Ortego <ericortego@×××××.com>
To: gentoo-embedded@l.g.o
Subject: Re: [gentoo-embedded] Multi target cross emerge wrapper
Date: Fri, 10 Mar 2006 18:04:31
In Reply to: [gentoo-embedded] Multi target cross emerge wrapper by solar
On 3/6/06, solar <solar@g.o> wrote:
> Hey I've been playing around with mega x-compiling all last week. > I mass merged every cross compiler crossdev can build at this time. > > I've actually got a crontab setup that will auto merge new cross > compilers as they become available.
I am building from powerpc-unknown-linux-gnu-3.4.4 and so far I have had crossdev build only: arm-creole-linux-uclibc-3.4.5 i386-creole-linux-gnu-3.4.5 i386-creole-linux-uclibc-3.4.5
> I've got a little script to also automate much of the process of > figuring out what is the right x-compiler settings and what > variables should be set. > I'd appreciate it if a few of you could take it for a spin and give > me feedback.
I altered it to change the location of ROOT & PKGDIR and It has been working well for me. Mabe i am misunderstanding its purpose but when I tried to use cmerge --libc --target i386-creole-linux-gnu It was unable to build glibc for that target. It looks like its trying to x-compile cross-i386-creole-linux-gnu/glibc-2.3.6-r3 instead of sys-libs/glibc. Though I don't think that matters much. Calculating dependencies ...done!
>>> emerge (1 of 1) cross-i386-creole-linux-gnu/glibc-2.3.6-r3 to
/var/distros/creole-linux-glibc/i386/ Ive have also tried: cmerge --target i386-creole-linux-gnu sys-libs/glibc and get an identical error This is the error ... checking installed Linux kernel header files... TOO OLD! configure: error: GNU libc requires kernel header files from Linux 2.0.10 or later to be installed before configuring. The kernel header files are found usually in /usr/include/asm and /usr/include/linux; make sure these directories use files from Linux 2.0.10 or later. This check uses <linux/version.h>, so make sure that file was built correctly when installing the kernel header files. To use kernel headers not from /usr/include/linux, use the configure option --with-headers. Must mean that glibc needs virtual/os-headers so I tried to built them for that target... cmerge --target i386-creole-linux-gnu virtual/os-headers sys-libs/glibc Yay! It worked!
> It has a few quarks with merging virtuals and so on but thats not easy > to solve as long as portage itself depends on /etc/make.profile > symlinks.
I've had some success getting around make.profile by making a broken symlink. rm /etc/make.profile && ln -s /etc/make.profile /etc/make.profile At the moment Portage doesn't seem to mind but I suppose that could change... -- gentoo-embedded@g.o mailing list