Bug 3781 - crosstool-ng-1.11.3 fails to build
Summary: crosstool-ng-1.11.3 fails to build
Status: RESOLVED FIXED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: PC Linux
: P5 minor
Target Milestone: ---
Assignee: Yann E. MORIN
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-25 04:53 UTC by Kelvin Cheung
Modified: 2011-07-25 08:08 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:


Attachments
.config (10.44 KB, application/octet-stream)
2011-05-25 04:57 UTC, Kelvin Cheung
Details
Force symlink creation (961 bytes, patch)
2011-05-26 22:13 UTC, Yann E. MORIN
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kelvin Cheung 2011-05-25 04:53:46 UTC
While building crosstool-ng-1.11.3 with uClibc-0.9.31, 
The error comes out as below:

...
[ALL  ]    make[4]: Leaving directory `/opt/buildroot_real6410/output_fs2410/build/crosstool-ng-1.11.3/.build/arm-unknown-linux-uclibcgnueabi/build/build-cc'
[ALL  ]    ln: creating symbolic link `/opt/buildroot_real6410/output_fs2410/host/usr/bin/arm-unknown-linux-uclibcgnueabi-cc': File exists
[ERROR]    
[ERROR]    >>  Build failed in step 'Installing final compiler'
[ERROR]    >>
[ERROR]    >>  Error happened in: CT_DoExecLog[scripts/functions]
[ERROR]    >>        called from: do_cc[scripts/build/cc/gcc.sh@576]
[ERROR]    >>        called from: main[scripts/crosstool-NG.sh@582]
[ERROR]    >>
[ERROR]    >>  For more info on this error, look at the file: 'build.log'
[ERROR]    >>  There is a list of known issues, some with workarounds, in:
[ERROR]    >>      'docs/B - Known issues.txt'
[ERROR]    
[ERROR]    Build failed in step 'Installing final compiler'
[ERROR]    
[ERROR]    (elapsed: 16:32.56)
make[3]: *** [build] Error 1
make[2]: *** [build.2] Error 2
make[1]: *** [/opt/buildroot_real6410/output_fs2410/stamps/ct-ng-toolchain-built] Error 2
make: *** [all] Error 2
Comment 1 Kelvin Cheung 2011-05-25 04:57:40 UTC
Created attachment 3319 [details]
.config

config of crosstool-ng-1.11.3
Comment 2 Yann E. MORIN 2011-05-26 22:13:54 UTC
Created attachment 3325 [details]
Force symlink creation

Please, try applying this patch to crosstool-NG, and re-run.
Comment 3 Kelvin Cheung 2011-05-27 01:38:22 UTC
(In reply to comment #2)
> Created attachment 3325 [details]
> Force symlink creation
> 
> Please, try applying this patch to crosstool-NG, and re-run.

After applying this patch, the error becomes:

[ALL  ]    make[4]: Leaving directory `/opt/buildroot_real6410/output_fs2410/build/crosstool-ng-1.11.3/.build/arm-unknown-linux-uclibcgnueabi/build/build-cc'
[ALL  ]    `/opt/buildroot_real6410/output_fs2410/host/usr/bin/arm-unknown-linux-uclibcgnueabi-cc' -> `arm-unknown-linux-uclibcgnueabi-gcc'
[INFO ]  Installing final compiler: done in 294.83s (at 16:54)
[INFO ]  =================================================================
[INFO ]  Cleaning-up the toolchain's directory
[EXTRA]    Installing the populate helper
[EXTRA]    Installing a cross-ldd helper
[EXTRA]    Creating toolchain aliases
[ALL  ]    ln: creating symbolic link `arm-linux-addr2line': File exists
[ERROR]    
[ERROR]    >>  Build failed in step 'Cleaning-up the toolchain's directory'
[ERROR]    >>
[ERROR]    >>  Error happened in: CT_DoExecLog[scripts/functions]
[ERROR]    >>        called from: do_finish[scripts/build/internals.sh@89]
[ERROR]    >>        called from: main[scripts/crosstool-NG.sh@582]
[ERROR]    >>
[ERROR]    >>  For more info on this error, look at the file: 'build.log'
[ERROR]    >>  There is a list of known issues, some with workarounds, in:
[ERROR]    >>      'docs/B - Known issues.txt'
[ERROR]    
[ERROR]    Build failed in step 'Cleaning-up the toolchain's directory'
[ERROR]    
[ERROR]    (elapsed: 16:53.29)
make[3]: *** [build] Error 1
make[2]: *** [build.2] Error 2
make[1]: *** [/opt/buildroot_real6410/output_fs2410/stamps/ct-ng-toolchain-built] Error 2
make: *** [all] Error 2
Comment 4 Kelvin Cheung 2011-05-27 04:55:57 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > Created attachment 3325 [details] [details]
> > Force symlink creation
> > 
> > Please, try applying this patch to crosstool-NG, and re-run.
> 
> After applying this patch, the error becomes:
> 
> [ALL  ]    make[4]: Leaving directory
> `/opt/buildroot_real6410/output_fs2410/build/crosstool-ng-1.11.3/.build/arm-unknown-linux-uclibcgnueabi/build/build-cc'
> [ALL  ]   
> `/opt/buildroot_real6410/output_fs2410/host/usr/bin/arm-unknown-linux-uclibcgnueabi-cc'
> -> `arm-unknown-linux-uclibcgnueabi-gcc'
> [INFO ]  Installing final compiler: done in 294.83s (at 16:54)
> [INFO ]  =================================================================
> [INFO ]  Cleaning-up the toolchain's directory
> [EXTRA]    Installing the populate helper
> [EXTRA]    Installing a cross-ldd helper
> [EXTRA]    Creating toolchain aliases
> [ALL  ]    ln: creating symbolic link `arm-linux-addr2line': File exists
> [ERROR]    
> [ERROR]    >>  Build failed in step 'Cleaning-up the toolchain's directory'
> [ERROR]    >>
> [ERROR]    >>  Error happened in: CT_DoExecLog[scripts/functions]
> [ERROR]    >>        called from: do_finish[scripts/build/internals.sh@89]
> [ERROR]    >>        called from: main[scripts/crosstool-NG.sh@582]
> [ERROR]    >>
> [ERROR]    >>  For more info on this error, look at the file: 'build.log'
> [ERROR]    >>  There is a list of known issues, some with workarounds, in:
> [ERROR]    >>      'docs/B - Known issues.txt'
> [ERROR]    
> [ERROR]    Build failed in step 'Cleaning-up the toolchain's directory'
> [ERROR]    
> [ERROR]    (elapsed: 16:53.29)
> make[3]: *** [build] Error 1
> make[2]: *** [build.2] Error 2
> make[1]: ***
> [/opt/buildroot_real6410/output_fs2410/stamps/ct-ng-toolchain-built] Error 2
> make: *** [all] Error 2

After fixing this problem as your patch did, the compilation still failed as last:

[ALL  ]    `/opt/buildroot_real6410/output_fs2410/host/usr/bin/arm-unknown-linux-uclibcgnueabi-cc' -> `arm-unknown-linux-uclibcgnueabi-gcc'
[INFO ]  Installing final compiler: done in 314.20s (at 16:05)
[INFO ]  =================================================================
[INFO ]  Cleaning-up the toolchain's directory
[EXTRA]    Installing the populate helper
[EXTRA]    Installing a cross-ldd helper
[EXTRA]    Creating toolchain aliases
[ALL  ]    `arm-linux-addr2line' -> `arm-unknown-linux-uclibcgnueabi-addr2line'
[ALL  ]    `arm-linux-ar' -> `arm-unknown-linux-uclibcgnueabi-ar'
[ALL  ]    `arm-linux-as' -> `arm-unknown-linux-uclibcgnueabi-as'
[ALL  ]    `arm-linux-c++' -> `arm-unknown-linux-uclibcgnueabi-c++'
[ALL  ]    `arm-linux-c++filt' -> `arm-unknown-linux-uclibcgnueabi-c++filt'
[ALL  ]    `arm-linux-cc' -> `arm-unknown-linux-uclibcgnueabi-cc'
[ALL  ]    `arm-linux-cpp' -> `arm-unknown-linux-uclibcgnueabi-cpp'
[ALL  ]    `arm-linux-ct-ng.config' -> `arm-unknown-linux-uclibcgnueabi-ct-ng.config'
[ALL  ]    `arm-linux-g++' -> `arm-unknown-linux-uclibcgnueabi-g++'
[ALL  ]    `arm-linux-gcc' -> `arm-unknown-linux-uclibcgnueabi-gcc'
[ALL  ]    `arm-linux-gcc-4.4.3' -> `arm-unknown-linux-uclibcgnueabi-gcc-4.4.3'
[ALL  ]    `arm-linux-gccbug' -> `arm-unknown-linux-uclibcgnueabi-gccbug'
[ALL  ]    `arm-linux-gcov' -> `arm-unknown-linux-uclibcgnueabi-gcov'
[ALL  ]    `arm-linux-gprof' -> `arm-unknown-linux-uclibcgnueabi-gprof'
[ALL  ]    `arm-linux-ld' -> `arm-unknown-linux-uclibcgnueabi-ld'
[ALL  ]    `arm-linux-ldd' -> `arm-unknown-linux-uclibcgnueabi-ldd'
[ALL  ]    `arm-linux-nm' -> `arm-unknown-linux-uclibcgnueabi-nm'
[ALL  ]    `arm-linux-objcopy' -> `arm-unknown-linux-uclibcgnueabi-objcopy'
[ALL  ]    `arm-linux-objdump' -> `arm-unknown-linux-uclibcgnueabi-objdump'
[ALL  ]    `arm-linux-populate' -> `arm-unknown-linux-uclibcgnueabi-populate'
[ALL  ]    `arm-linux-ranlib' -> `arm-unknown-linux-uclibcgnueabi-ranlib'
[ALL  ]    `arm-linux-readelf' -> `arm-unknown-linux-uclibcgnueabi-readelf'
[ALL  ]    `arm-linux-size' -> `arm-unknown-linux-uclibcgnueabi-size'
[ALL  ]    `arm-linux-sstrip' -> `arm-unknown-linux-uclibcgnueabi-sstrip'
[ALL  ]    `arm-linux-strings' -> `arm-unknown-linux-uclibcgnueabi-strings'
[ALL  ]    `arm-linux-strip' -> `arm-unknown-linux-uclibcgnueabi-strip'
[EXTRA]    Removing access to the build system tools
[EXTRA]    Removing installed documentation
[INFO ]  Cleaning-up the toolchain's directory: done in 1.35s (at 16:06)
[INFO ]  Build completed at 20110527.124433
[INFO ]  (elapsed: 16:05.58)
[INFO ]  Finishing installation (may take a few seconds)...
[ERROR]    
[ERROR]    >>
[ERROR]    >>  Error happened in: main[scripts/crosstool-NG.sh]
[ERROR]    >>
[ERROR]    >>  For more info on this error, look at the file: 'build.log'
[ERROR]    >>  There is a list of known issues, some with workarounds, in:
[ERROR]    >>      'docs/B - Known issues.txt'
[ERROR]    
[ERROR]    Build failed in step 'Cleaning-up the toolchain's directory'
[ERROR]    
[ERROR]    (elapsed: 16:06.08)
make[3]: *** [build] Error 1
make[2]: *** [build.2] Error 2
make[1]: *** [/opt/buildroot_real6410/output_fs2410/stamps/ct-ng-toolchain-built] Error 2
make: *** [all] Error 2
Comment 5 Yann E. MORIN 2011-07-24 22:19:50 UTC
We believe this bug was solved as a side effect of:

http://git.buildroot.org/buildroot/commit/?id=ea23f34e25839a9559c3bb61cc5d9f54c89e137b

Please, give it a try, and re-open if it still fails for you.

Thank you!
Comment 6 Kelvin Cheung 2011-07-25 08:00:54 UTC
(In reply to comment #5)
> We believe this bug was solved as a side effect of:
> 
> http://git.buildroot.org/buildroot/commit/?id=ea23f34e25839a9559c3bb61cc5d9f54c89e137b
> 
> Please, give it a try, and re-open if it still fails for you.
> 
> Thank you!

It works this time.
But the following build of busybox is failed.
The error messages are as follows:
==========
libbb/lib.a(inet_common.o): In function `INET_rresolve':
inet_common.c:(.text.INET_rresolve+0xd8): warning: gethostbyaddr is obsolescent, use getaddrinfo() instead.
util-linux/lib.a(mount.o): In function `nfsmount':
mount.c:(.text.nfsmount+0xcc): warning: gethostbyname is obsolescent, use getnameinfo() instead.
miscutils/lib.a(watchdog.o): In function `watchdog_main':
watchdog.c:(.text.watchdog_main+0xfc): undefined reference to `usleep'
networking/lib.a(ifupdown.o): In function `dhcp_down':
ifupdown.c:(.text.dhcp_down+0x24): undefined reference to `usleep'
networking/lib.a(traceroute.o): In function `traceroute_main':
traceroute.c:(.text.traceroute_main+0x434): undefined reference to `usleep'
procps/lib.a(top.o): In function `top_main':
top.c:(.text.top_main+0x21c): undefined reference to `usleep'
util-linux/lib.a(mdev.o): In function `mdev_main':
mdev.c:(.text.mdev_main+0x194): undefined reference to `usleep'
coreutils/lib.a(usleep.o):usleep.c:(.text.usleep_main+0x18): more undefined references to `usleep' follow
collect2: ld returned 1 exit status
make[2]: *** [busybox_unstripped] Error 1
make[1]: *** [/opt/buildroot/output_hi3520/build/busybox-1.18.5/.stamp_built] Error 2
make: *** [all] Error 2

Then, I use arm-linux-readelf to check whether 'libuClibc-0.9.31.so' contains the symbol 'usleep'. And the answer is negative.

Why 'usleep.c' was not compiled?

BTW, erverything is ok when uClibc-0.9.30.3 was used.
Comment 7 Peter Korsgaard 2011-07-25 08:08:12 UTC
(In reply to comment #6)
> Then, I use arm-linux-readelf to check whether 'libuClibc-0.9.31.so' contains
> the symbol 'usleep'. And the answer is negative.
> 
> Why 'usleep.c' was not compiled?
> 
> BTW, erverything is ok when uClibc-0.9.30.3 was used.

You need to ensure that UCLIBC_SUSV3_LEGACY=y is set in your uclibc configuration, otherwise uClibc isn't built with usleep support.