[Buildroot] external buildroot toolchain: LD_LIBRARY_PATH needed

Thomas De Schampheleire patrickdepinguin+buildroot at gmail.com
Thu Aug 25 09:07:31 UTC 2011


On Wed, Aug 24, 2011 at 4:31 PM, Grant Edwards
<grant.b.edwards at gmail.com> wrote:
> On 2011-08-24, Thomas De Schampheleire <patrickdepinguin+buildroot at gmail.com> wrote:
>
>> If I build a buildroot toolchain on machine A, package the
>> output/host/usr directory and use that as an external toolchain on
>> machine B, I get errors that cc1 cannot find libmpfr.so.4. The
>> location of that library is hardcoded in some compiler tools, and
>> since we are on another machine, the original location does not
>> exist.
>>
>> I can work around this by specifying
>> LD_LIBRARY_PATH=<buildroot>/output/host/opt/ext-toolchain/lib in the
>> environment, but this is an annoying and not so clean solution.
>>
>> How is this supposed to work?
>
> Generally, when you run a gcc from somewhere othern than the location
> for which it was originally compled you use the --sysroot option on
> the compiler command line to tell it where it's now installed.
>
> I don't know if the buildroot toolchain has that enabled or not.  I
> had a lot of problems trying to use a buildroot-generated toolchain as
> an external toolchain (this was a year or two back) and switched to
> using crosstool-ng to build my toolchains.

The buildroot external-toolchain support uses a 'wrapper' command,
that makes sure that --sysroot, --mtune and the like gets passed to
the compiler.

The sysroot originally is at
output/host/opt/ext-toolchain/powerpc-unknown-linux-uclibc/sysroot
and gets copied to:
/repo/tdescham/buildroot/output/host/usr/powerpc-unknown-linux-uclibc/sysroot

However, the missing library does not seem part of sysroot. It is located at
output/host/opt/ext-toolchain/lib
where libgmp, libmpfr, libexpat etc. reside.

Maybe this wrapper should be adapted as to include the proper LD_LIBRARY_PATH?


How does crosstool-ng handle this fixed-path problem?

Thomas


More information about the buildroot mailing list