[Buildroot] crosstool/buildroot ldconfig failure in "target-finalize" during build using Fedora 13
thomas.petazzoni at free-electrons.com
Fri Aug 6 19:53:38 UTC 2010
On Fri, 6 Aug 2010 08:49:39 -0700
"Darcy Watkins" <DWatkins at tranzeo.com> wrote:
> After upgrading my build machine from Fedora 10 to Fedora 13 it
> appears that the host's "ldconfig" command is no longer usable for
> cross build application. The build thus fails when it attempts to
> execute /sbin/ldconfig during the "target-finalize" stage.
> When building using the internal toolchain generated by buildroot, I
> do not see an issue. When using an external toolchain such as
> crosstool-ng it shows up.
> To work around the issue I pulled in the July 26th changeset to the
> Makefile to check for and use a $(TARGET_CROSS)ldconfig and then I
> modified my copy of crosstool (version 1.7.2) so that it would install
> the cross ldconfig along with its cross ldd. That gets me working
> fine for uclibc builds.
> When I tried a glibc build, there is no cross ldconfig available.
> I also notice that in crosstool 1.8.0 the cross ldd is replaced by a
> script so the cross ldconfig may not even be available (I don't know
> for sure since so far I have only seen the notes in the changelog and
> haven't actually tried crosstool 1.8.0 yet).
> It appears to me that the assumption an external toolchain will
> provide a cross ldconfig is not valid and the assumption that the
> host ldconfig is usable as a cross tool in the absence of this is no
> longer valid.
> Since it is the buildroot "target-finalize" that needs a usable
> ldconfig I figure it is appropriate to raise this matter here for
> discussion first.
> Anyone have suggestions as to how best to approach this?
I never had the opportunity to study in detail this cross-ldconfig
problem, and I also wasn't very convinced by the recent change in
Buildroot regarding this.
In order to make some progress, we'd need to understand :
* Whether ldconfig and the generated ld.so.cache is a glibc-only
feature, or whether it also applies to uClibc ;
* Whether the ld.so.cache generated by ldconfig is
architecture-independent or not ;
* What is the difference between the host ldconfig and the
cross ldconfig, and why the ldconfig of your Fedora 10 was working
and not the one of your Fedora 13.
Once we have a good understanding of the issue, we'll try to see what's
the best approach to solve it. So if you have any knowledge/pointers
about this, feel free to share them.
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
More information about the buildroot