* [Buildroot] problems building x86_64 target
@ 2007-06-05 17:16 kevint
2007-06-06 17:38 ` Bernhard Fischer
0 siblings, 1 reply; 9+ messages in thread
From: kevint @ 2007-06-05 17:16 UTC (permalink / raw)
To: buildroot
Hello,
This is my first post to this mailing list, so please excuse (and
point out) anything that doesn't follow the list's protocol.
I have been trying to build an x86_64 toolchain using different
buildroot snapshots, uClibc versions, gcc versions. I have
successfully built i386 images with several configuration
combinations, but no configuration combinations are providing a
successful build for x86_64.
The two most common errors I come across are the following (using
buildroot-20070605.tar.bz2):
(1)
Target Architecture: x86_64
Target Architecture Variant: opteron
uClibc C library version (uClibc 0.9.29)
(toolchain/uClibc/uClibc-0.9.29.config) uClibc configuration file to
use?
GCC Compiler version (gcc 3.4.6)
All other options are default. This is my desired configuration, but
I tried different compiler versions, described in (2).
This configuration appears to build the target toolchain with no
errors, but when it starts to compile busybox, it errors out on:
/tmp/buildroot/build_x86_64/staging_dir/lib/gcc/x86_64-linux-uclibc/
3.4.6/../../../../x86_64-linux-uclibc/sys-include/asm/param.h:5:32:
asm-x86_64/param.h: No such file or directory
I tried linking /tmp/buildroot/build_x86_64/staging_dir/include/asm
to /tmp/buildroot/build_x86_64/staging_dir/include/asm-x86_64 just to
see how far it would get, and the busybox compile fails here:
console-tools/resize.c: In function `resize_main':
console-tools/resize.c:61: error: `TIOCSWINSZ' undeclared (first use
in this function)
console-tools/resize.c:61: error: (Each undeclared identifier is
reported only once
console-tools/resize.c:61: error: for each function it appears in.)
(2)
Target Architecture: x86_64
Target Architecture Variant: opteron
uClibc C library version (uClibc 0.9.29)
(toolchain/uClibc/uClibc-0.9.29.config) uClibc configuration file to
use?
GCC Compiler version (gcc 4.1.2)
Almost the same as above, except for compiler versions. This
configuration does not successfully build gcc, and errors out on:
In file included from /tmp/buildroot/toolchain_build_x86_64/gcc-4.1.2/
libmudflap/mf-hooks1.c:58:
/tmp/buildroot/build_x86_64/staging_dir/x86_64-linux-uclibc/sys-
include/unistd.h:243: error: two or more data types in declaration
specifiers
I would appreciate any insight you are willing to offer on x86_64
builds, as we will be using buildroot extensively in the months ahead.
Thank you for your help,
********************************************
Kevin Tegtmeier
HPC-3 Scientific Computing Resources
Los Alamos National Laboratory
email: kevint at lanl.gov
********************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://busybox.net/lists/buildroot/attachments/20070605/0679f3c5/attachment.htm
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] problems building x86_64 target
2007-06-05 17:16 [Buildroot] problems building x86_64 target kevint
@ 2007-06-06 17:38 ` Bernhard Fischer
2007-06-06 18:40 ` Bernhard Fischer
0 siblings, 1 reply; 9+ messages in thread
From: Bernhard Fischer @ 2007-06-06 17:38 UTC (permalink / raw)
To: buildroot
On Tue, Jun 05, 2007 at 10:16:26AM -0700, kevint wrote:
>Hello,
>
>This is my first post to this mailing list, so please excuse (and
>point out) anything that doesn't follow the list's protocol.
>
>I have been trying to build an x86_64 toolchain using different
>buildroot snapshots, uClibc versions, gcc versions. I have
>successfully built i386 images with several configuration
>combinations, but no configuration combinations are providing a
>successful build for x86_64.
>
>The two most common errors I come across are the following (using
>buildroot-20070605.tar.bz2):
>
>(1)
>Target Architecture: x86_64
>Target Architecture Variant: opteron
>uClibc C library version (uClibc 0.9.29)
>(toolchain/uClibc/uClibc-0.9.29.config) uClibc configuration file to
>use?
>GCC Compiler version (gcc 3.4.6)
>
>All other options are default. This is my desired configuration, but
>I tried different compiler versions, described in (2).
gcc-3.4 certainly is nothing you should want to use, imho.
>
>This configuration appears to build the target toolchain with no
>errors, but when it starts to compile busybox, it errors out on:
>
>/tmp/buildroot/build_x86_64/staging_dir/lib/gcc/x86_64-linux-uclibc/
>3.4.6/../../../../x86_64-linux-uclibc/sys-include/asm/param.h:5:32:
>asm-x86_64/param.h: No such file or directory
>
>I tried linking /tmp/buildroot/build_x86_64/staging_dir/include/asm
>to /tmp/buildroot/build_x86_64/staging_dir/include/asm-x86_64 just to
>see how far it would get, and the busybox compile fails here:
>
>console-tools/resize.c: In function `resize_main':
>console-tools/resize.c:61: error: `TIOCSWINSZ' undeclared (first use
>in this function)
>console-tools/resize.c:61: error: (Each undeclared identifier is
>reported only once
>console-tools/resize.c:61: error: for each function it appears in.)
>
>
>(2)
>Target Architecture: x86_64
>Target Architecture Variant: opteron
>uClibc C library version (uClibc 0.9.29)
>(toolchain/uClibc/uClibc-0.9.29.config) uClibc configuration file to
>use?
>GCC Compiler version (gcc 4.1.2)
>
>Almost the same as above, except for compiler versions. This
>configuration does not successfully build gcc, and errors out on:
>
>In file included from /tmp/buildroot/toolchain_build_x86_64/gcc-4.1.2/
>libmudflap/mf-hooks1.c:58:
>/tmp/buildroot/build_x86_64/staging_dir/x86_64-linux-uclibc/sys-
>include/unistd.h:243: error: two or more data types in declaration
>specifiers
If you don't need mudflap, then i suggest you disable it..
Are you preparing a node-image?
>
>I would appreciate any insight you are willing to offer on x86_64
>builds, as we will be using buildroot extensively in the months ahead.
I'm about to checkin the gcc-4.2.0 support and will then look a little
bit at gcc-4.3 (this is what i will be using, on ia32 boxes, as always).
Generally, i do not use gcc-3.x, nor any binutils older than 2.17, fwiw.
And generally, i think that mudflap is a little bit odd, doesn't work
for me for the most part:
Consider a binary that links against liba.so; this liba.so links against
libb.so, which has an undefined symbol. Now you'd want to print the
libmudflap help-text, and guess what? Since the option (resp. env var)
parsing of mudflap happens after symbol resolution, you will (currently)
never ever be able to trick mudflap into printing *any* help. Last time
i looked, there was no PR about this and i don't have the time to
provide a testcase for this misfeature (since i don't need mudflap).
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] problems building x86_64 target
2007-06-06 17:38 ` Bernhard Fischer
@ 2007-06-06 18:40 ` Bernhard Fischer
2007-06-07 0:31 ` kevint
0 siblings, 1 reply; 9+ messages in thread
From: Bernhard Fischer @ 2007-06-06 18:40 UTC (permalink / raw)
To: buildroot
On Wed, Jun 06, 2007 at 07:38:26PM +0200, Bernhard Fischer wrote:
>On Tue, Jun 05, 2007 at 10:16:26AM -0700, kevint wrote:
>>Target Architecture: x86_64
>>Target Architecture Variant: opteron
>>uClibc C library version (uClibc 0.9.29)
>>(toolchain/uClibc/uClibc-0.9.29.config) uClibc configuration file to
>>use?
>>GCC Compiler version (gcc 3.4.6)
ok. svn up, select gcc-4.2.0, binutils-2.17.50.0.9,
kernel-headers-2.6.20
then rm -rf build_* toolchain_* && make
I'll note that the "opteron" support was something i accidentally added
from a WIP for better CPU selection, which is not yet in trunk. Adjust
your custom cflags accordingly for now (as you should always do, fwiw),
via the corresponding menu option.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] problems building x86_64 target
2007-06-06 18:40 ` Bernhard Fischer
@ 2007-06-07 0:31 ` kevint
2007-06-07 10:19 ` Bernhard Fischer
0 siblings, 1 reply; 9+ messages in thread
From: kevint @ 2007-06-07 0:31 UTC (permalink / raw)
To: buildroot
Hello,
Thanks for your tips. I set --disable-libmudflap in "Additional gcc
options", and that got past the error I first came across, but I also
had to modify a couple things to get it to compile the rest of the way:
toolchain_build_x86_64/gcc-4.2.0-final/x86_64-linux-uclibc/libiberty/
Makefile (line 368, in install_to_tooldir):
cd $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)
to
cd `cd $(DESTDIR)$(tooldir)/lib; pwd -P`/$(MULTIOSDIR)
because my bourne shell was changing directory to the symlinked
directory, not the physical directory (in which case the relative ../
lib64 did not exist). This is obviously a pretty big hack, so I will
try to find a more appropriate solution tomorrow.
I also had to copy /tmp/buildroot/toolchain_build_x86_64/linux/
include/asm-x86_64 to /tmp/buildroot/build_x86_64/staging_dir/x86_64-
linux-uclibc/sys-include
to build the rest of the way. I will try to clean this up a little
bit in the next couple of days.
Thanks again for your help,
Kevin
On Jun 6, 2007, at 11:40 AM, Bernhard Fischer wrote:
> On Wed, Jun 06, 2007 at 07:38:26PM +0200, Bernhard Fischer wrote:
>> On Tue, Jun 05, 2007 at 10:16:26AM -0700, kevint wrote:
>
>>> Target Architecture: x86_64
>>> Target Architecture Variant: opteron
>>> uClibc C library version (uClibc 0.9.29)
>>> (toolchain/uClibc/uClibc-0.9.29.config) uClibc configuration file to
>>> use?
>>> GCC Compiler version (gcc 3.4.6)
>
> ok. svn up, select gcc-4.2.0, binutils-2.17.50.0.9,
> kernel-headers-2.6.20
> then rm -rf build_* toolchain_* && make
>
> I'll note that the "opteron" support was something i accidentally
> added
> from a WIP for better CPU selection, which is not yet in trunk. Adjust
> your custom cflags accordingly for now (as you should always do,
> fwiw),
> via the corresponding menu option.
********************************************
Kevin Tegtmeier
HPC-3 Scientific Computing Resources
Los Alamos National Laboratory
email: kevint at lanl.gov
********************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://busybox.net/lists/buildroot/attachments/20070606/881027a5/attachment-0001.htm
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] problems building x86_64 target
2007-06-07 0:31 ` kevint
@ 2007-06-07 10:19 ` Bernhard Fischer
2007-06-11 15:56 ` Bernhard Fischer
0 siblings, 1 reply; 9+ messages in thread
From: Bernhard Fischer @ 2007-06-07 10:19 UTC (permalink / raw)
To: buildroot
On Wed, Jun 06, 2007 at 05:31:25PM -0700, kevint wrote:
>Hello,
>
>Thanks for your tips. I set --disable-libmudflap in "Additional gcc
>options", and that got past the error I first came across, but I also
>had to modify a couple things to get it to compile the rest of the way:
I tried this yesterday and yes, it's broken ATM.
The includes are pretty messed up, could be that the patch in the thread
with subject "sysroot support in toolchain, use correct pathes" in the
archives helps there. This needs proper fixing anyway and this patch
does make it better (didn't try x86_64, though) but since gcc-3.4
doesn't have sysroot support, it breaks in many funny ways, of course.
All vaguely recent gcc -- i.e. the 4.x series onward -- do have proper
sysroot support and work flawlessly.
I'll have a look at it again.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] problems building x86_64 target
2007-06-07 10:19 ` Bernhard Fischer
@ 2007-06-11 15:56 ` Bernhard Fischer
2007-06-11 16:28 ` kevint
0 siblings, 1 reply; 9+ messages in thread
From: Bernhard Fischer @ 2007-06-11 15:56 UTC (permalink / raw)
To: buildroot
On Thu, Jun 07, 2007 at 12:19:48PM +0200, Bernhard Fischer wrote:
>On Wed, Jun 06, 2007 at 05:31:25PM -0700, kevint wrote:
>>Hello,
>>
>>Thanks for your tips. I set --disable-libmudflap in "Additional gcc
>>options", and that got past the error I first came across, but I also
>>had to modify a couple things to get it to compile the rest of the way:
>
>I tried this yesterday and yes, it's broken ATM.
>The includes are pretty messed up, could be that the patch in the thread
>with subject "sysroot support in toolchain, use correct pathes" in the
>archives helps there. This needs proper fixing anyway and this patch
>does make it better (didn't try x86_64, though) but since gcc-3.4
>doesn't have sysroot support, it breaks in many funny ways, of course.
>All vaguely recent gcc -- i.e. the 4.x series onward -- do have proper
>sysroot support and work flawlessly.
>
>I'll have a look at it again.
http://uclibc.org/~aldot/buildroot/buildroot.mine.cow.20070611-1730.diff.bz2
This was tested with sysroot support enabled, gcc-4.2.0. I intend to apply
this once i get a chance to test if building gcc-3.4.6 without sysroot works
as expected.
In the meantime you can use this patch to build a working x86_64 rootfs.
HTH,
Bernhard
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] problems building x86_64 target
2007-06-11 15:56 ` Bernhard Fischer
@ 2007-06-11 16:28 ` kevint
2007-06-11 22:08 ` Bernhard Fischer
0 siblings, 1 reply; 9+ messages in thread
From: kevint @ 2007-06-11 16:28 UTC (permalink / raw)
To: buildroot
Hello,
I am comfortable using gcc-4.2.0 now, so that is my new target. I
will try out your patch today and let you know how it goes.
I am planning on adding a package for bproc, which includes a kernel
patch, kernel module, and a few user space daemons and configs. We
currently have two supported kernels, 2.6.11 and 2.6.14. I wrote a
patch to the 2.6.11 source tree that adds the headers_install
functionality and patched toolchain/kernel-headers/kernel-headers-
new.makefile to include a 2.6.11 target, and it seems to work pretty
well. I will be doing the same for 2.6.14 later this week. We are
targeting 2.6.20 for our next bproc port, but that is a few months off.
Is this something you would be interested in including in the
buildroot project?
Thanks,
Kevin
On Jun 11, 2007, at 8:56 AM, Bernhard Fischer wrote:
> On Thu, Jun 07, 2007 at 12:19:48PM +0200, Bernhard Fischer wrote:
>> On Wed, Jun 06, 2007 at 05:31:25PM -0700, kevint wrote:
>>> Hello,
>>>
>>> Thanks for your tips. I set --disable-libmudflap in "Additional gcc
>>> options", and that got past the error I first came across, but I
>>> also
>>> had to modify a couple things to get it to compile the rest of
>>> the way:
>>
>> I tried this yesterday and yes, it's broken ATM.
>> The includes are pretty messed up, could be that the patch in the
>> thread
>> with subject "sysroot support in toolchain, use correct pathes" in
>> the
>> archives helps there. This needs proper fixing anyway and this patch
>> does make it better (didn't try x86_64, though) but since gcc-3.4
>> doesn't have sysroot support, it breaks in many funny ways, of
>> course.
>> All vaguely recent gcc -- i.e. the 4.x series onward -- do have
>> proper
>> sysroot support and work flawlessly.
>>
>> I'll have a look at it again.
>
> http://uclibc.org/~aldot/buildroot/buildroot.mine.cow.
> 20070611-1730.diff.bz2
>
> This was tested with sysroot support enabled, gcc-4.2.0. I intend
> to apply
> this once i get a chance to test if building gcc-3.4.6 without
> sysroot works
> as expected.
>
> In the meantime you can use this patch to build a working x86_64
> rootfs.
>
> HTH,
> Bernhard
********************************************
Kevin Tegtmeier
HPC-3 Scientific Computing Resources
Los Alamos National Laboratory
email: kevint at lanl.gov
phone: 505.667.3488
********************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://busybox.net/lists/buildroot/attachments/20070611/532a6208/attachment.htm
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] problems building x86_64 target
2007-06-11 16:28 ` kevint
@ 2007-06-11 22:08 ` Bernhard Fischer
2007-06-11 23:10 ` kevint
0 siblings, 1 reply; 9+ messages in thread
From: Bernhard Fischer @ 2007-06-11 22:08 UTC (permalink / raw)
To: buildroot
On Mon, Jun 11, 2007 at 09:28:56AM -0700, kevint wrote:
>Hello,
>
>I am comfortable using gcc-4.2.0 now, so that is my new target. I
>will try out your patch today and let you know how it goes.
>
>I am planning on adding a package for bproc, which includes a kernel
>patch, kernel module, and a few user space daemons and configs. We
>currently have two supported kernels, 2.6.11 and 2.6.14. I wrote a
>patch to the 2.6.11 source tree that adds the headers_install
>functionality and patched toolchain/kernel-headers/kernel-headers-
>new.makefile to include a 2.6.11 target, and it seems to work pretty
>well. I will be doing the same for 2.6.14 later this week. We are
>targeting 2.6.20 for our next bproc port, but that is a few months off.
>
>Is this something you would be interested in including in the
>buildroot project?
2.6.<20 is not interresting for me, personally. I'm currently using
2.6.20.x as my "unified" openswan/bproc/blcr/etc suite and do not
currently plan to move anything else than the very first onward, due to
time-constraints layed upon my scarse spare-time (not in the near future
nor else-wise; If you're interrested in any of these contact me
offline; Likewise if you have specific needs regarding lower-level
communication stacks, this is highly OT. Neither IB nor dolphin nor GM
et al are within the scope of this list, fwiw).
thanks anyway for the offer and nice to see you on-track.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] problems building x86_64 target
2007-06-11 22:08 ` Bernhard Fischer
@ 2007-06-11 23:10 ` kevint
0 siblings, 0 replies; 9+ messages in thread
From: kevint @ 2007-06-11 23:10 UTC (permalink / raw)
To: buildroot
I will revisit the topic when we have a stable 2.6.20 bproc package,
and keep our 2.6.11 and 2.6.14 packages in-house unless someone sends
me a request for them offline.
We do have specific needs regarding lower-level communication stacks,
but we have a good handle on them and won't require the mailing list
to resolve those. I am mostly interested in a good starting point
for x86_64 development, which I think we have achieved with the help
you have provided.
Thanks again,
Kevin
On Jun 11, 2007, at 3:08 PM, Bernhard Fischer wrote:
> On Mon, Jun 11, 2007 at 09:28:56AM -0700, kevint wrote:
>> Hello,
>>
>> I am comfortable using gcc-4.2.0 now, so that is my new target. I
>> will try out your patch today and let you know how it goes.
>>
>> I am planning on adding a package for bproc, which includes a kernel
>> patch, kernel module, and a few user space daemons and configs. We
>> currently have two supported kernels, 2.6.11 and 2.6.14. I wrote a
>> patch to the 2.6.11 source tree that adds the headers_install
>> functionality and patched toolchain/kernel-headers/kernel-headers-
>> new.makefile to include a 2.6.11 target, and it seems to work pretty
>> well. I will be doing the same for 2.6.14 later this week. We are
>> targeting 2.6.20 for our next bproc port, but that is a few months
>> off.
>>
>> Is this something you would be interested in including in the
>> buildroot project?
>
> 2.6.<20 is not interresting for me, personally. I'm currently using
> 2.6.20.x as my "unified" openswan/bproc/blcr/etc suite and do not
> currently plan to move anything else than the very first onward,
> due to
> time-constraints layed upon my scarse spare-time (not in the near
> future
> nor else-wise; If you're interrested in any of these contact me
> offline; Likewise if you have specific needs regarding lower-level
> communication stacks, this is highly OT. Neither IB nor dolphin nor GM
> et al are within the scope of this list, fwiw).
>
> thanks anyway for the offer and nice to see you on-track.
********************************************
Kevin Tegtmeier
HPC-3 Scientific Computing Resources
Los Alamos National Laboratory
email: kevint at lanl.gov
phone: 505.667.3488
********************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://busybox.net/lists/buildroot/attachments/20070611/9ee4ae7a/attachment.htm
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2007-06-11 23:10 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-05 17:16 [Buildroot] problems building x86_64 target kevint
2007-06-06 17:38 ` Bernhard Fischer
2007-06-06 18:40 ` Bernhard Fischer
2007-06-07 0:31 ` kevint
2007-06-07 10:19 ` Bernhard Fischer
2007-06-11 15:56 ` Bernhard Fischer
2007-06-11 16:28 ` kevint
2007-06-11 22:08 ` Bernhard Fischer
2007-06-11 23:10 ` kevint
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox