[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openembedded-issues
Subject:    [oe-issues] [Bug 1728] New: patches which fix cross-compiling for x86_64
From:       bugzilla-daemon () tinman ! treke ! net (bugzilla-daemon at tinman ! treke ! net)
Date:       2006-12-30 16:10:07
Message-ID: 20061230161007.EA3E1401698 () tinman ! treke ! net
[Download RAW message or body]

http://bugs.openembedded.org/show_bug.cgi?id=1728

           Summary: patches which fix cross-compiling for x86_64
           Product: Openembedded
           Version: unspecified
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Build
        AssignedTo: openembedded-issues at lists.openembedded.org
        ReportedBy: Patrick.Ohly at gmx.de
         QAContact: tinderbox-oe at gmx.net


As mentioned on the mailing list, cross-compiling for x86_64 requires
changes in the meta data to work around various failures when building
the SDK. Here's the last email on that:

--------------------------------------------------------------------------

I have had some time over the holidays to investigate this again and
have come up with patches that solves the problem for me. I'm attaching
them in the hope that someone else will find them useful and/or commit
them on dev.

Note that I have only patched the packages that were picked up by the
current "generic" distro - some of the changes will probably also need
to be done to other .bb files. I have also intentionally not updated any
PR variables to avoid conflicts.

On Sat, 2006-11-11 at 20:24 +0100, Patrick Ohly wrote:
> Here's a summary of the problems I had:
>       * glibc-initial-2.3.2+cvs20040726-r22: generic bits/wordsize.h and
>         bits/endian.h is used instead of the x86_64 ones

Failed differently for me now (something about NTPL requiring TLS), but
instead of investigating further I simply changed
gcc-cross-initial_4.1.1.bb to not depend on libc-initial. This is
already how it works for 'arm', 'armeb', 'mips', 'mipsel'.

If there is a particular reason why the initial libc should be needed
for x86_64, then I haven't noticed it.

>       * glibc-intermediate-2.5-r2: asm-x86_64 header files not found
>       * glibc-intermediate-2.5-r2: config-name.h not created by
>         configure although it is needed
>       * glibc-intermediate-2.5-r2: #error "__NR_pread and __NR_pread64
>         both defined???"

All caused by linux-libc-headers_2.6.18.bb not installing the
asm-i386/x86_64 directories which are referenced by the asm include
files depending on the current compiler flags. Along the same line
compiler.h also had to be installed explicitly because it was missing
otherwise.

Finally gcc-cross-initial_4.1.1.bb failed to stage the compiler shared
objects because the gcc make system insists on installing them in
<libdir>/../lib64 and the .bb file expects them in <libdir> (code came
>from gcc-package-cross.inc).

With those changes I was able to compile the normal glibc and some other
packages. I have not tested whether any of these results actually run
anywhere, ATM my main goal is to just verify that compilation in 64 bit
mode works.


-- 
Configure bugmail: http://bugs.openembedded.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic