[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: gnumach recompilation glitch



On Sun, Nov 26, 2000 at 12:03:59PM -0500, Igor Khavkine wrote:
> Thanks, I'll do that. Btw, I've noticed that during builds when the linking
> stage comes I see lots of warnings about libc.so.6 conflicting with 
> libc.so.0.2. Doesn't gcc-i386-gnu-ld try to link with the Hurd libraries
> instead of the linux ones? 

Those builds are all broken! You have probably absolute symlinks in
/gnu/lib, which point to the linux libs. I have attached a  scipt which
converts those (but check the script before running it).
 
> Also, I've noticed that link tools ld, ldd, objdump don't work well well
> with cross compiled binaries under Linux. I thought that since they are
> libraries.

objdump works just fine, while ldd can't. ld works. (i386-gnu-ld is a link
to ld here).

Marcus

-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org brinkmd@debian.org
Marcus Brinkmann              GNU    http://www.gnu.org    marcus@gnu.org
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de
#!/usr/bin/perl
#
# fixlinks, fix shared library links on a Debian GNU/Hurd system
#
# Copyright 1999 Marcus Brinkmann <brinkmd@debian.org>
#
# GPL

$libdir = '/gnu/lib';

opendir LIBDIR, $libdir;

while ($file = readdir LIBDIR)
{
        if (-l $libdir.'/'.$file) {
                $goal =  readlink $libdir.'/'.$file;
                $base = `basename $goal`;
                chomp $base;
                if ($goal eq '/lib/'.$base || $goal eq '../../lib/'.$base || $goal eq './'.$base) {
                        $list{$libdir.'/'.$file} = $base;
                }
        }
}

foreach $file (keys %list) {
        unlink $file;
        symlink $list{$file}, $file;
}

Reply to: