BusyBox Bug and Patch Tracking
BusyBox
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0001570 [buildroot] Other major sometimes 11-01-07 21:22 11-01-07 21:22
Reporter hmoffatt View Status public  
Assigned To buildroot
Priority normal Resolution open  
Status assigned   Product Version
Summary 0001570: external toolchain option not copying libraries properly
Description toolchain/ext-tool.mk has a complicated bunch of code for copying libraries from the external toolchain to the system root.

It calls gcc -print-file-name and on my system the path returned is actually a symlinked directory within the staging_dir, for some reason. It uses the result to call find, but find won't follow the symlink and then doesn't find the libraries.

My external toolchain was built by a different buildroot project and lives in the same staging dir. gcc -print-file-name is returning

/home/hamish/work/elara/buildroot/build_armeb/staging_dir/lib/gcc/armeb-linux-uclibcgnu/4.1.2/../../../../armeb-linux-uclibcgnu/lib

which is a symlink to

/home/hamish/work/elara/buildroot/build_armeb/staging_dir/lib/gcc/armeb-linux-uclibcgnu/4.1.2/../../../../lib


Adding -H to find causes it to follow links in the command-line parameters (but not during the actual find), which solves it.

Another alternative would be some sort of path canonicalisation tool, like $(realpath ...) in Make, but there doesn't appear to be a standard POSIX shell function for this.

The attached patch adds -H to the find flags.
Additional Information
Attached Files  br-ext-toolchain.diff [^] (573 bytes) 11-01-07 21:22

- Relationships

There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
11-01-07 21:22 hmoffatt New Issue
11-01-07 21:22 hmoffatt Status new => assigned
11-01-07 21:22 hmoffatt Assigned To  => buildroot
11-01-07 21:22 hmoffatt File Added: br-ext-toolchain.diff


Copyright © 2000 - 2006 Mantis Group
Powered by Mantis Bugtracker