Wheels, reinventing. (Was Re: [uClibc] Understanding what the build wrapper does...)
Rob Landley
rob at landley.net
Thu Sep 11 19:25:55 UTC 2003
On Thursday 11 September 2003 07:10, Erik Andersen wrote:
> > BUT: to do it, I had to create a symlink in the mounted root_fs:
> > cd $DIR/lib
> > ln -s libc.so.0 libc.so
> >
> > I don't know why I needed to do this, I just know that this is what ld
> > was looking for when I told it "--library-path $DIR/lib -lc". It
> > wouldn't look at the "libc.so.0" version, it wanted "libc.so"
>
> The symlinks are needed to allow shared libraries to be
> easily upgraded in-place.
>
> > Am I missing something? Should that symlink already have been there? Is
> > my copy of ld broken or something? (Red Hat 9 stock compiler toybox...)
>
> The uClibc 'make install' command (and all the variants on that
> theme such as 'make install_runtime') do in fact install such a
> symlink.... Perhaps you just copied things rather than using
> i.e. 'make install_runtime'?
No, I pointed the compiler at the loopback mounted root_fs which I downloaded,
and said "here are your libraries". I had to create a symlink in the
downloaded root_fs. The downloaded root_fs, which I didn't build, did not
have that symlink.
That's what I was asking about.
I noticed that you modify the compiler and linker tools to make them
automatically link against uclibc instead of glibc. I suspect that the
modified versions look for uclibc directory (or libc.so.0 or something)
rather than libc.so, hence root_fs can compile against them without the
symlink...
> > I'm confused, but this is actually normal for me...
>
> heh. :-)
>
> -Erik
Rob
More information about the uClibc
mailing list