Hi,
I (and several other people) am (are) having trouble to build busybox with the latest aarch64-linux-gnu 2014.11 binaries we got from linaro.org.
It seems none of the built-in library search paths (gcc -print-search-dirs) allow to find crt[1i].o. They seem to be expected in a multiarch location but aren't (libc/usr/lib64). We're working around this with a symlink. Is this a bug? Have you seen similar issues?
Here's a failing command-line and the associated error message:
/path/to/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -Wall -Wshadow -Wwrite-strings -Wundef -Wstrict-prototypes -Wunused -Wunused-parameter -Wunused-function -Wunused-value -Wmissing-prototypes -Wmissing-declarations -Wno-format-security -Wdeclaration-after-statement -Wold-style-definition -fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer -ffunction-sections -fdata-sections -fno-guess-branch-probability -funsigned-char -static-libgcc -falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1 -fno-unwind-tables -fno-asynchronous-unwind-tables -Os -static -o busybox_unstripped -Wl,--start-group applets/built-in.o archival/lib.a archival/libarchive/lib.a console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a mailutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a printutils/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a util-linux/volume_id/lib.a archival/built-in.o archival/libarchive/built-in.o console-tools/built-in.o coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o mailutils/built-in.o miscutils/built-in.o modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o networking/udhcp/built-in.o printutils/built-in.o procps/built-in.o runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o util-linux/built-in.o util-linux/volume_id/built-in.o -Wl,--end-group -Wl,--start-group -lm -Wl,--end-group ========== /work/integration/envs/latest/tools/gcc/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/4.9.3/../../../../aarch64-linux-gnu/bin/ld: cannot find crt1.o: No such file or directory /work/integration/envs/latest/tools/gcc/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/4.9.3/../../../../aarch64-linux-gnu/bin/ld: cannot find crti.o: No such file or directory collect2: error: ld returned 1 exit status make: *** [busybox_unstripped] Error 1
Thank you!
Regards, Kévin
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
On Wed, Apr 15, 2015 at 9:51 AM, Kevin Petit Kevin.Petit@arm.com wrote:
It seems none of the built-in library search paths (gcc –print-search-dirs) allow to find crt[1i].o. They seem to be expected in a multiarch location but aren’t (libc/usr/lib64). We’re working around this with a symlink. Is this a bug? Have you seen similar issues?
I downloaded a toolchain from this page. https://www.linaro.org/downloads/
It works fine for a simple example. I don't see anything in the option list that would cause a problem. Busybox could perhaps be setting environment variables to change compiler behaviour, that can cause problems, but it is rare that people set gcc environment variables. That isn't obvious from the bug report. I haven't built busybox in a long time, so I don't know if it is doing anything unusual offhand.
You can debug this yourself a bit by adding a -v option to see the linker option that gcc is running. This should contain explicit paths to the crt1.o and crti.o files. You can check to see if the paths are correct and the files exist. If there environment variables set, they should be in the -v output.
You can also add -Wl,--verbose to get verbose info from the linker. This will show you the linker built-in paths, and what files the linker is trying to open. For my simple testcase I see
attempt to open /home/wilson/Downloads/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../libc/usr/lib/../lib64/crt1.o succeeded /home/wilson/Downloads/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../libc/usr/lib/../lib64/crt1.o attempt to open /home/wilson/Downloads/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../libc/usr/lib/../lib64/crti.o succeeded /home/wilson/Downloads/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../libc/usr/lib/../lib64/crti.o
In the gcc --print-search-dirs output, at the end, I see
/home/wilson/Downloads/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../libc/lib/:/home/wilson/Downloads/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../libc/usr/lib/
These are the paths used to find the 64-bit libraries, which are just ../lib64 from the 32-bit libraries.
Jim
Hi Jim,
Adding the suggested options reveals something interesting:
attempt to open crt1.o failed attempt to open crti.o failed attempt to open /work/integration/envs/latest/tools/gcc/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/4.9.3/crtbeginT.o succeeded /work/integration/envs/latest/tools/gcc/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/4.9.3/crtbeginT.o
These are the paths used to find the 64-bit libraries, which are just ../lib64 from the 32-bit libraries.
And that's our issue! We've had the brilliant idea of storing toolchains in git repositories (not pointing the finger at anyone :-)) but git doesn't store empty folders. That means the empty libc/usr/lib folder used to construct the 64-bit libraries path using ../lib64 isn't there. It also explains why it was working for the person who pushed the change: he still had the directory coming from the extracted tarball.
Thank you very much for your help.
Regards, Kévin
-----Original Message----- From: Jim Wilson [mailto:jim.wilson@linaro.org] Sent: 15 April 2015 18:50 To: Kevin Petit Cc: linaro-toolchain@lists.linaro.org; Ian Spray; Mark Hambleton; James King Subject: Re: Issue building busybox using aarch64-linux-gnu 2014.11
On Wed, Apr 15, 2015 at 9:51 AM, Kevin Petit Kevin.Petit@arm.com wrote:
It seems none of the built-in library search paths (gcc –print-search-dirs) allow to find crt[1i].o. They seem to be expected in a multiarch location but aren’t (libc/usr/lib64). We’re working around this with a symlink. Is this a bug? Have you seen similar issues?
I downloaded a toolchain from this page. https://www.linaro.org/downloads/
It works fine for a simple example. I don't see anything in the option list that would cause a problem. Busybox could perhaps be setting environment variables to change compiler behaviour, that can cause problems, but it is rare that people set gcc environment variables. That isn't obvious from the bug report. I haven't built busybox in a long time, so I don't know if it is doing anything unusual offhand.
You can debug this yourself a bit by adding a -v option to see the linker option that gcc is running. This should contain explicit paths to the crt1.o and crti.o files. You can check to see if the paths are correct and the files exist. If there environment variables set, they should be in the -v output.
You can also add -Wl,--verbose to get verbose info from the linker. This will show you the linker built-in paths, and what files the linker is trying to open. For my simple testcase I see
attempt to open /home/wilson/Downloads/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../libc/usr/lib/../lib64/crt1.o succeeded /home/wilson/Downloads/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../libc/usr/lib/../lib64/crt1.o attempt to open /home/wilson/Downloads/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../libc/usr/lib/../lib64/crti.o succeeded /home/wilson/Downloads/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../libc/usr/lib/../lib64/crti.o
In the gcc --print-search-dirs output, at the end, I see
/home/wilson/Downloads/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../libc/lib/:/home/wilson/Downloads/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../libc/usr/lib/
These are the paths used to find the 64-bit libraries, which are just ../lib64 from the 32-bit libraries.
Jim
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
On 04/15/2015 10:51 AM, Kevin Petit wrote:
I (and several other people) am (are) having trouble to build busybox with the latest aarch64-linux-gnu 2014.11 binaries we got from linaro.org.
Binary releases built prior to 2014.11 used crosstool-ng to build the binaries, and that process applied a patch (note that this was after validation was done) that added multilib/multiarch support. We are no longer using crosstool-ng, nor are we applying an untested patch. There has been quite a bit of work lately on building binary tarballs, so I'd try a newer set. Grab the latest (built a few days ago) from http://abe.tcwglab.linaro.org/binaries/2015.02/. These are about to get uploaded to releases.linaro.org, this is the staging area. If you find any issues with these binaries, please file a bug for "ABE" at https://bugs.linaro.org/, or email me back.
- rob -
Hi Rob,
Thanks for the info and pointers. It's good to know what is distributed is now what has been validated :-).
I'll give the new binaries a go and let you know if I find any issue.
Regards, Kévin
-----Original Message----- From: Rob Savoye [mailto:rob.savoye@linaro.org] Sent: 15 April 2015 22:56 To: Kevin Petit; linaro-toolchain@lists.linaro.org Cc: Ian Spray; Mark Hambleton; James King Subject: Re: Issue building busybox using aarch64-linux-gnu 2014.11
On 04/15/2015 10:51 AM, Kevin Petit wrote:
I (and several other people) am (are) having trouble to build busybox with the latest aarch64-linux-gnu 2014.11 binaries we got from linaro.org.
Binary releases built prior to 2014.11 used crosstool-ng to build the binaries, and that process applied a patch (note that this was after validation was done) that added multilib/multiarch support. We are no longer using crosstool-ng, nor are we applying an untested patch. There has been quite a bit of work lately on building binary tarballs, so I'd try a newer set. Grab the latest (built a few days ago) from http://abe.tcwglab.linaro.org/binaries/2015.02/. These are about to get uploaded to releases.linaro.org, this is the staging area. If you find any issues with these binaries, please file a bug for "ABE" at https://bugs.linaro.org/, or email me back.
- rob -
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
Hi Rob,
In previous email, you mentioned that the crosstool-ng is no longer used. Could you share some information how do you build the toolchain now?
Thanks, Joel
-----Original Message----- From: linaro-toolchain [mailto:linaro-toolchain-bounces@lists.linaro.org] On Behalf Of Kevin Petit Sent: Thursday, April 16, 2015 6:00 AM To: Rob Savoye; linaro-toolchain@lists.linaro.org Cc: Ian Spray; Mark Hambleton; James King Subject: RE: Issue building busybox using aarch64-linux-gnu 2014.11
Hi Rob,
Thanks for the info and pointers. It's good to know what is distributed is now what has been validated :-).
I'll give the new binaries a go and let you know if I find any issue.
Regards, Kévin
-----Original Message----- From: Rob Savoye [mailto:rob.savoye@linaro.org] Sent: 15 April 2015 22:56 To: Kevin Petit; linaro-toolchain@lists.linaro.org Cc: Ian Spray; Mark Hambleton; James King Subject: Re: Issue building busybox using aarch64-linux-gnu 2014.11
On 04/15/2015 10:51 AM, Kevin Petit wrote:
I (and several other people) am (are) having trouble to build busybox with the latest aarch64-linux-gnu 2014.11 binaries we got from linaro.org.
Binary releases built prior to 2014.11 used crosstool-ng to build the binaries, and that process applied a patch (note that this was after validation was done) that added multilib/multiarch support. We are no longer using crosstool-ng, nor are we applying an untested patch. There has been quite a bit of work lately on building binary tarballs, so I'd try a newer set. Grab the latest (built a few days ago) from http://abe.tcwglab.linaro.org/binaries/2015.02/. These are about to get uploaded to releases.linaro.org, this is the staging area. If you find any issues with these binaries, please file a bug for "ABE" at https://bugs.linaro.org/, or email me back.
- rob -
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782 _______________________________________________ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
On Thu, Apr 16, 2015 at 8:35 AM, Joel (Xi Zhou) Zhou joel.zhou@broadcom.com wrote:
In previous email, you mentioned that the crosstool-ng is no longer used. Could you share some information how do you build the toolchain now?
We wrote a tool called ABE that we use for building toolchains. You can see some documentation here. https://wiki.linaro.org/ABE There is also some info in the README file and in comments at the top of abe.sh inside the abe source tree.
Jim
On 04/16/2015 09:35 AM, Joel (Xi Zhou) Zhou wrote:
In previous email, you mentioned that the crosstool-ng is no longer used. Could you share some information how do you build the toolchain now?
We stopped using crosstool-ng last Fall, and switched to our new ABE tool. ABE is designed to plugin to our automated build & validation system, which crosstool-ng was not. ABE also builds binary releases. You can get ABE from: http://git.linaro.org/toolchain/abe.git. There's some docs at https://wiki.linaro.org/ABE. I'm the primary author, so you can send bugs to me. :-) I'd prefer they go into our public bugzilla, http://bugs.linaro.org under the ABE category.
- rob -
Thank you, Rob! We have a "GLIBC_2.14" not found issue on RHEL6 when using gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf. I may need to re-build toolchain on RHEL6. When I hit the rock, I know who I can refer to;)
Joel -----Original Message----- From: Rob Savoye [mailto:rob.savoye@linaro.org] Sent: Thursday, April 16, 2015 1:07 PM To: Joel (Xi Zhou) Zhou; Kevin Petit; linaro-toolchain@lists.linaro.org Cc: Ian Spray; Mark Hambleton; James King Subject: Re: Issue building busybox using aarch64-linux-gnu 2014.11
On 04/16/2015 09:35 AM, Joel (Xi Zhou) Zhou wrote:
In previous email, you mentioned that the crosstool-ng is no longer used. Could you share some information how do you build the toolchain now?
We stopped using crosstool-ng last Fall, and switched to our new ABE tool. ABE is designed to plugin to our automated build & validation system, which crosstool-ng was not. ABE also builds binary releases. You can get ABE from: http://git.linaro.org/toolchain/abe.git. There's some docs at https://wiki.linaro.org/ABE. I'm the primary author, so you can send bugs to me. :-) I'd prefer they go into our public bugzilla, http://bugs.linaro.org under the ABE category.
- rob -
On 04/16/2015 12:09 PM, Joel (Xi Zhou) Zhou wrote:
We have a "GLIBC_2.14" not found issue on RHEL6 when using gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf. I may need to re-build toolchain on RHEL6. When I hit the rock, I know who I can refer to;)
The new binaries are built using LSB, so shouldn't have this problem now. Let me know! You can also try using ABE to rebuild: "[blah]/abe.sh --build all --target arch64-linux-gnu". If you add "--tarbin" to the command line, it'll also build a fresh binary snapshot.
- rob -
Hi Kevin it works fine in my side, the busybox & aarch64-linux-gnu version like these: 1. http://releases.linaro.org/14.11/components/toolchain/binaries/aarch64-linux... 2. git clone git://git.busybox.net/busybox 3. git log -n 1 luther@gliethttp:/vobs/works/busybox$ git log -n 1 commit f7466e477691fd29f47ebe8ae27489e065c69e5e Author: Felix Fietkau nbd@openwrt.org Date: Thu Apr 9 10:20:16 2015 +0200
find: fix regression in status processing for path arguments
Regression added in commit 14158b4127dba30466c50147b868a6a89702960b "find: add optional support for '-exec ... {} +'"
This commit causes find to exit on the first path argument that was not found, which breaks existing scripts and is incompatible to other implementations.
Instead of exiting on the first failure, return EXIT_FAILURE at the end if any error occurred.
Signed-off-by: Felix Fietkau nbd@openwrt.org Signed-off-by: Denys Vlasenko vda.linux@googlemail.com
4. CROSS_COMPILE=aarch64-linux-gnu- make ARCH=arm64 menuconfig Busybox Settings ---> Build Options ---> [*] Build BusyBox as a static binary (no shared libs) Busybox Settings ---> General Configuration ---> [*] Don't use /usr 5. CROSS_COMPILE=aarch64-linux-gnu- make ARCH=arm64 install
On 2015年04月16日 00:51, Kevin Petit wrote:
Hi,
I (and several other people) am (are) having trouble to build busybox with the latest aarch64-linux-gnu 2014.11 binaries we got from linaro.org.
It seems none of the built-in library search paths (gcc –print-search-dirs) allow to find crt[1i].o. They seem to be expected in a multiarch location but aren’t (libc/usr/lib64). We’re working around this with a symlink. Is this a bug? Have you seen similar issues?
Here’s a failing command-line and the associated error message:
/path/to/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -Wall -Wshadow -Wwrite-strings -Wundef -Wstrict-prototypes -Wunused -Wunused-parameter -Wunused-function -Wunused-value -Wmissing-prototypes -Wmissing-declarations -Wno-format-security -Wdeclaration-after-statement -Wold-style-definition -fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer -ffunction-sections -fdata-sections -fno-guess-branch-probability -funsigned-char -static-libgcc -falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1 -fno-unwind-tables -fno-asynchronous-unwind-tables -Os -static -o busybox_unstripped -Wl,--start-group applets/built-in.o archival/lib.a archival/libarchive/lib.a console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a mailutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a printutils/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a util-linux/volume_id/lib.a archival/built-in.o archival/libarchive/built-in.o console-tools/built-in.o coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o mailutils/built-in.o miscutils/built-in.o modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o networking/udhcp/built-in.o printutils/built-in.o procps/built-in.o runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o util-linux/built-in.o util-linux/volume_id/built-in.o -Wl,--end-group -Wl,--start-group -lm -Wl,--end-group
==========
/work/integration/envs/latest/tools/gcc/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/4.9.3/../../../../aarch64-linux-gnu/bin/ld: cannot find crt1.o: No such file or directory
/work/integration/envs/latest/tools/gcc/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/4.9.3/../../../../aarch64-linux-gnu/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [busybox_unstripped] Error 1
Thank you!
Regards,
Kévin
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
Hi Luther,
Doing that separately works for me too on the same machine, even with our version of busybox (1_22_stable).
There must be something else somewhere. I'll keep digging.
Thanks for your help.
Regards, Kévin
-----Original Message----- From: luther.ge [mailto:luther.ge@linaro.org] Sent: 16 April 2015 06:28 To: Kevin Petit; linaro-toolchain@lists.linaro.org Cc: Ian Spray; Mark Hambleton; James King Subject: Re: Issue building busybox using aarch64-linux-gnu 2014.11
Hi Kevin it works fine in my side, the busybox & aarch64-linux-gnu version like these: 1. http://releases.linaro.org/14.11/components/toolchain/binaries/aarch64-linux... 2. git clone git://git.busybox.net/busybox 3. git log -n 1 luther@gliethttp:/vobs/works/busybox$ git log -n 1 commit f7466e477691fd29f47ebe8ae27489e065c69e5e Author: Felix Fietkau nbd@openwrt.org Date: Thu Apr 9 10:20:16 2015 +0200
find: fix regression in status processing for path arguments
Regression added in commit 14158b4127dba30466c50147b868a6a89702960b "find: add optional support for '-exec ... {} +'"
This commit causes find to exit on the first path argument that was not found, which breaks existing scripts and is incompatible to other implementations.
Instead of exiting on the first failure, return EXIT_FAILURE at the end if any error occurred.
Signed-off-by: Felix Fietkau nbd@openwrt.org Signed-off-by: Denys Vlasenko vda.linux@googlemail.com
4. CROSS_COMPILE=aarch64-linux-gnu- make ARCH=arm64 menuconfig Busybox Settings ---> Build Options ---> [*] Build BusyBox as a static binary (no shared libs) Busybox Settings ---> General Configuration ---> [*] Don't use /usr 5. CROSS_COMPILE=aarch64-linux-gnu- make ARCH=arm64 install
On 2015年04月16日 00:51, Kevin Petit wrote:
Hi,
I (and several other people) am (are) having trouble to build busybox with the latest aarch64-linux-gnu 2014.11 binaries we got from linaro.org.
It seems none of the built-in library search paths (gcc –print-search-dirs) allow to find crt[1i].o. They seem to be expected in a multiarch location but aren’t (libc/usr/lib64). We’re working around this with a symlink. Is this a bug? Have you seen similar issues?
Here’s a failing command-line and the associated error message:
/path/to/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -Wall -Wshadow -Wwrite-strings -Wundef -Wstrict-prototypes -Wunused -Wunused-parameter -Wunused-function -Wunused-value -Wmissing-prototypes -Wmissing-declarations -Wno-format-security -Wdeclaration-after-statement -Wold-style-definition -fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer -ffunction-sections -fdata-sections -fno-guess-branch-probability -funsigned-char -static-libgcc -falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1 -fno-unwind-tables -fno-asynchronous-unwind-tables -Os -static -o busybox_unstripped -Wl,--start-group applets/built-in.o archival/lib.a archival/libarchive/lib.a console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a mailutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a printutils/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a util-linux/volume_id/lib.a archival/built-in.o archival/libarchive/built-in.o console-tools/built-in.o coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o mailutils/built-in.o miscutils/built-in.o modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o networking/udhcp/built-in.o printutils/built-in.o procps/built-in.o runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o util-linux/built-in.o util-linux/volume_id/built-in.o -Wl,--end-group -Wl,--start-group -lm -Wl,--end-group
==========
/work/integration/envs/latest/tools/gcc/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/4.9.3/../../../../aarch64-linux-gnu/bin/ld: cannot find crt1.o: No such file or directory
/work/integration/envs/latest/tools/gcc/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/4.9.3/../../../../aarch64-linux-gnu/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [busybox_unstripped] Error 1
Thank you!
Regards,
Kévin
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
Kevin, You are Welcome :-)
On 2015年04月16日 17:15, Kevin Petit wrote:
Hi Luther,
Doing that separately works for me too on the same machine, even with our version of busybox (1_22_stable).
There must be something else somewhere. I'll keep digging.
Thanks for your help.
Regards, Kévin
-----Original Message----- From: luther.ge [mailto:luther.ge@linaro.org] Sent: 16 April 2015 06:28 To: Kevin Petit; linaro-toolchain@lists.linaro.org Cc: Ian Spray; Mark Hambleton; James King Subject: Re: Issue building busybox using aarch64-linux-gnu 2014.11
Hi Kevin it works fine in my side, the busybox & aarch64-linux-gnu version like these:
http://releases.linaro.org/14.11/components/toolchain/binaries/aarch64-linux... 2. git clone git://git.busybox.net/busybox 3. git log -n 1 luther@gliethttp:/vobs/works/busybox$ git log -n 1 commit f7466e477691fd29f47ebe8ae27489e065c69e5e Author: Felix Fietkau nbd@openwrt.org Date: Thu Apr 9 10:20:16 2015 +0200
find: fix regression in status processing for path arguments Regression added in commit 14158b4127dba30466c50147b868a6a89702960b "find: add optional support for '-exec ... {} +'" This commit causes find to exit on the first path argument that was not found, which breaks existing scripts and is incompatible to other implementations. Instead of exiting on the first failure, return EXIT_FAILURE at the end if any error occurred. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
- CROSS_COMPILE=aarch64-linux-gnu- make ARCH=arm64 menuconfig
Busybox Settings ---> Build Options ---> [*] Build BusyBox as a static binary (no shared libs) Busybox Settings ---> General Configuration ---> [*] Don't use /usr 5. CROSS_COMPILE=aarch64-linux-gnu- make ARCH=arm64 install
On 2015年04月16日 00:51, Kevin Petit wrote:
Hi,
I (and several other people) am (are) having trouble to build busybox with the latest aarch64-linux-gnu 2014.11 binaries we got from linaro.org.
It seems none of the built-in library search paths (gcc –print-search-dirs) allow to find crt[1i].o. They seem to be expected in a multiarch location but aren’t (libc/usr/lib64). We’re working around this with a symlink. Is this a bug? Have you seen similar issues?
Here’s a failing command-line and the associated error message:
/path/to/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -Wall -Wshadow -Wwrite-strings -Wundef -Wstrict-prototypes -Wunused -Wunused-parameter -Wunused-function -Wunused-value -Wmissing-prototypes -Wmissing-declarations -Wno-format-security -Wdeclaration-after-statement -Wold-style-definition -fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer -ffunction-sections -fdata-sections -fno-guess-branch-probability -funsigned-char -static-libgcc -falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1 -fno-unwind-tables -fno-asynchronous-unwind-tables -Os -static -o busybox_unstripped -Wl,--start-group applets/built-in.o archival/lib.a archival/libarchive/lib.a console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a mailutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a printutils/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a util-linux/volume_id/lib.a archival/built-in.o archival/libarchive/built-in.o console-tools/built-in.o coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o mailutils/built-in.o miscutils/built-in.o modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o networking/udhcp/built-in.o printutils/built-in.o procps/built-in.o runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o util-linux/built-in.o util-linux/volume_id/built-in.o -Wl,--end-group -Wl,--start-group -lm -Wl,--end-group
==========
/work/integration/envs/latest/tools/gcc/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/4.9.3/../../../../aarch64-linux-gnu/bin/ld: cannot find crt1.o: No such file or directory
/work/integration/envs/latest/tools/gcc/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/4.9.3/../../../../aarch64-linux-gnu/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [busybox_unstripped] Error 1
Thank you!
Regards,
Kévin
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590 ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
linaro-toolchain@lists.linaro.org