Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 438732

Summary: dev-lang/nacl-toolchain-newlib-0_p9093 doesn't work due to missing crt1.o
Product: Gentoo Linux Reporter: SpanKY <vapier>
Component: [OLD] DevelopmentAssignee: Chromium Project <chromium>
Status: RESOLVED INVALID    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 543576    
Bug Blocks:    

Description SpanKY gentoo-dev 2012-10-17 19:20:07 UTC
linking a simple app:
$ echo 'main(){}' > test.c
$ /usr/lib64/nacl-toolchain-newlib/bin/i686-nacl-gcc test.c
/usr/lib64/nacl-toolchain-newlib/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status
$ /usr/lib64/nacl-toolchain-newlib/bin/x86_64-nacl-gcc test.c
/usr/lib64/nacl-toolchain-newlib/bin/../lib/gcc/x86_64-nacl/4.4.3/../../../../x86_64-nacl/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status

and indeed, the nacl-toolchain-newlib package does not provide crt1.o:
$ qlist nacl-toolchain-newlib | grep 'crt.\.o'
/usr/lib64/nacl-toolchain-newlib/x86_64-nacl/lib32/crt0.o
/usr/lib64/nacl-toolchain-newlib/x86_64-nacl/lib/crt0.o

the binary nacl_sdk provided at [1] does work:
$ ./pepper_23/toolchain/linux_x86_newlib/bin/x86_64-nacl-gcc test.c
$ file a.out 
a.out: ELF 32-bit LSB executable, Intel 80386, version 1, statically linked, not stripped
$ ./pepper_23/toolchain/linux_x86_newlib/bin/x86_64-nacl-gcc test.c
$ file a.out
a.out: ELF 64-bit LSB executable, x86-64, version 1, statically linked, not stripped

$ find pepper_23/toolchain/linux_x86_newlib/ -name 'crt?.o'
pepper_23/toolchain/linux_x86_newlib/x86_64-nacl/lib32/crti.o
pepper_23/toolchain/linux_x86_newlib/x86_64-nacl/lib32/crtn.o
pepper_23/toolchain/linux_x86_newlib/x86_64-nacl/lib32/crt0.o
pepper_23/toolchain/linux_x86_newlib/x86_64-nacl/lib32/crt1.o
pepper_23/toolchain/linux_x86_newlib/x86_64-nacl/lib/crti.o
pepper_23/toolchain/linux_x86_newlib/x86_64-nacl/lib/crtn.o
pepper_23/toolchain/linux_x86_newlib/x86_64-nacl/lib/crt0.o
pepper_23/toolchain/linux_x86_newlib/x86_64-nacl/lib/crt1.o

[1] https://developers.google.com/native-client/sdk/download
Comment 1 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2014-01-04 09:58:59 UTC
I think the newlib toolchain was only intended to be used as part of www-client/chromium's build process and not for developing nacl apps (for that glibc toolchain is intended I think, which we don't package in Gentoo).

nacl packaging is pretty bad at this moment, nacl support in www-client/chromium has been dropped because it also requires pnacl now which is non-trivial to package.
Comment 2 SpanKY gentoo-dev 2014-01-09 13:58:54 UTC
(In reply to Paweł Hajdan, Jr. from comment #1)

please tweak the DESCRIPTION then so people don't expect anything else