[Buildroot] crosstool/buildroot ldconfig failure in "target-finalize" during build using Fedora 13

Darcy Watkins dwatkins at tranzeo.com
Fri Aug 6 17:48:07 UTC 2010


On Fri, 2010-08-06 at 08:49 -0700, Darcy Watkins wrote:
> Hello,
> 
> 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?

Hello,

On further investigation, it appears that the host's ldconfig will run
without an error message if the $(TARGET_DIR)/var/cache/ldconfig
directory is created before running ldconfig.

So now I think that the ldconfig (version 2.12) has become more strict
than earlier versions.  Eventually (with package updates, etc) this will
make its way into our cross ldconfig as well, so I suggest first
ensuring that the directory is created before running the tool for any
case.

After running the make on buildroot, there is a binary file:
$(TARGET_DIR)/var/cache/ldconfig/aux-cache

One question that comes to my mind, could there be endianess issues with
respect to that file?  A colleague of mine suggested that we may want to
use the "-N" option to not generate cache (so it would only generate
symlinks).  Any thoughts?

Regards,

Darcy


> 
> 
> Regards,
> 
> Darcy
> 





More information about the buildroot mailing list