bpd1069 / naclports

Automatically exported from code.google.com/p/naclports
0 stars 0 forks source link

python-static is failing to build for arm newlib #120

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago

http://build.chromium.org/p/client.nacl.ports/builders/linux-newlib-0/builds/695

===
/mnt/data/b/build/slave/linux-newlib-0/build/src/out/nacl_sdk/toolchain/linux_ar
m_newlib/bin/../lib/gcc/arm-nacl/4.8.2/../../../../arm-nacl/bin/ld: BFD (Native 
Client SDK [232e666f59a9185ff7ccffd0a7490e4af0485d8b]) 2.24.0.20140306 
assertion fail ../../../src/binutils/bfd/elf32-arm.c:8079
/mnt/data/b/build/slave/linux-newlib-0/build/src/out/nacl_sdk/toolchain/linux_ar
m_newlib/bin/../lib/gcc/arm-nacl/4.8.2/../../../../arm-nacl/bin/ld: 
/mnt/data/b/build/slave/linux-newlib-0/build/src/out/build/host_python-2.7.5/bui
ld/CICDeposit.o(.debug_info+0xc): R_ARM_PC24 relocation against SEC_MERGE 
section
/mnt/data/b/build/slave/linux-newlib-0/build/src/out/nacl_sdk/toolchain/linux_ar
m_newlib/bin/../lib/gcc/arm-nacl/4.8.2/../../../../arm-nacl/bin/ld: final link 
failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
make[1]: *** [python.nexe] Error 1
make[1]: Leaving directory 
`/mnt/data/b/build/slave/linux-newlib-0/build/src/out/build/python-static/build_
arm_newlib'
naclports: Building python-static: failed.
===

Original issue reported on code.google.com by sbc@google.com on 1 May 2014 at 5:30

GoogleCodeExporter commented 9 years ago
This looks like it might be mixed architecture objects being linked in?  I 
think potentially from a leftover set of objects.  I suspect the solution might 
be to put the .o files in ARCH specific directories.  I will attempt this and 
issue a CL.

Original comment by matthewt...@gmail.com on 1 May 2014 at 5:33

GoogleCodeExporter commented 9 years ago
Don't we already do each build in its own folder?

Why is it trying to link objects from build/host_python-2.7.5/build/?  Clearly 
they will not be arm objects right?

Original comment by sbc@google.com on 1 May 2014 at 5:39

GoogleCodeExporter commented 9 years ago
So python-static collects objects from each of the python modules built as 
separate portfiles, and then creates a unified .pexe from them all.  I did not 
do sufficient separation of the module object files between different 
architectures; I am happy to move them to a different location, but right now 
the .o files and .list files (which define the object files to use) get put 
into the host_python build directory.  Where should they go?

Original comment by matthewt...@gmail.com on 1 May 2014 at 6:12

GoogleCodeExporter commented 9 years ago
Seems to be working now.

Original comment by sbc@google.com on 19 Jun 2014 at 6:13