| Summary: | dev-lang/nacl-toolchain-newlib-0_p9093 doesn't work due to missing crt1.o | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | SpanKY <vapier> |
| Component: | [OLD] Development | Assignee: | 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: | |||
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. (In reply to Paweł Hajdan, Jr. from comment #1) please tweak the DESCRIPTION then so people don't expect anything else |
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