Mailing List Archive

O2 IP32 | mips-sources fails to find ldscripts
During kernel compile ld(1) is unable to find
/usr/lib/binutils/mips-unknown-linux-gnu/2.16.1/ldscripts

I was able to compile my current kernel without problems prior to changing
to gcc 4.1.1 and rebuilding world with the -e flag, so I have a bad feeling
something was altered to make this error occur.

To get through the compile I created a link within /usr/src/linux like so:

ln -s /usr/lib/binutils/mips-unknown-linux-gnu/2.16.1/ldscripts .

However, even with the working .config that is running on my machine or the
default ip32 config, I can't get this newly compiled kernel to work. It just
hangs or does even load.


Here is the original error:

nano linux # make vmlinux.32 modules modules_install
CROSS_COMPILE=mips64-unknown-linux-gnu-
CHK include/linux/version.h
SPLIT include/linux/autoconf.h -> include/config/*
CC arch/mips/kernel/asm-offsets.s
GEN include/asm-mips/asm-offsets.h
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
HOSTCC scripts/pnmtologo
HOSTCC scripts/conmakehash
HOSTCC scripts/bin2c
CC init/main.o
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
CC init/do_mounts.o
LD init/mounts.o
mips64-unknown-linux-gnu-ld: cannot open linker script file
ldscripts/elf64btsmip.xr: No such file or directory
make[1]: *** [init/mounts.o] Error 1
make: *** [init] Error 2


Here is some system information that I hope will assist someone in pointing
me at any mistakes I might have made:

[ebuild R ] sys-devel/binutils-2.16.1-r3 USE="-multislot -multitarget
-nls -test -vanilla" 12,368 kB

[ebuild R ] sys-devel/gcc-4.1.1 USE="(-altivec) -bootstrap -build -doc
-fortran -gcj -gtk (-hardened) -ip28 -ip32r10k -mudflap (-multilib)
-multislot (-n32) (-n64) -nls -nocxx -objc -objc++ -objc-gc -test -vanilla"
38,303 kB

nano linux # gcc-config -l
[1] mips-unknown-linux-gnu-4.1.1 *
[2] mips64-unknown-linux-gnu-4.1.1 *



--
Michael D. Bevilacqua
michael@bevilacqua.us
Re: O2 IP32 | mips-sources fails to find ldscripts [ In reply to ]
Hi,

The ldscripts directory that you mention is a part of the bintuils ebuild.
Not sure why your other tools are having problems. Here's the present
levels of all my relevant stuff:

binutils-2.16.1-r3
binutils-config-1.9-r3
gcc-3.4.6-r1
gcc-4.1.1
gcc-config-1.3.13-r4
kgcc64-3.4.6
kgcc64-4.1.1

As I look at it, it appears that only gcc-4.1.1 and kgcc64-4.1.1 are new.
The others all came from the mips4 stage3 tarball when I installed the
system a few weeks ago.

When I call mips64-unknown-linux-gnu-gcc with the -v flag, it is clearly
the 3.4.6 compiler. So the 4.1.1 versions would appear somewhat
irrelevant at the moment. I built the kernel I'm running on now, and by
appearances, it must have been the kgcc/gcc 3.4.6 that was used. It seems
the only way I can call the 4.1.1 compiler is by using an explicit path
down into it's tree.

-S-


On Mon, 19 Feb 2007, Michael Bevilacqua wrote:

> During kernel compile ld(1) is unable to find
> /usr/lib/binutils/mips-unknown-linux-gnu/2.16.1/ldscripts
>
> I was able to compile my current kernel without problems prior to changing
> to gcc 4.1.1 and rebuilding world with the -e flag, so I have a bad feeling
> something was altered to make this error occur.
>
> To get through the compile I created a link within /usr/src/linux like so:
>
> ln -s /usr/lib/binutils/mips-unknown-linux-gnu/2.16.1/ldscripts .
>
> However, even with the working .config that is running on my machine or the
> default ip32 config, I can't get this newly compiled kernel to work. It just
> hangs or does even load.
>
>
> Here is the original error:
>
> nano linux # make vmlinux.32 modules modules_install
> CROSS_COMPILE=mips64-unknown-linux-gnu-
> CHK include/linux/version.h
> SPLIT include/linux/autoconf.h -> include/config/*
> CC arch/mips/kernel/asm-offsets.s
> GEN include/asm-mips/asm-offsets.h
> CC scripts/mod/empty.o
> HOSTCC scripts/mod/mk_elfconfig
> MKELF scripts/mod/elfconfig.h
> HOSTCC scripts/mod/file2alias.o
> HOSTCC scripts/mod/modpost.o
> HOSTCC scripts/mod/sumversion.o
> HOSTLD scripts/mod/modpost
> HOSTCC scripts/pnmtologo
> HOSTCC scripts/conmakehash
> HOSTCC scripts/bin2c
> CC init/main.o
> CHK include/linux/compile.h
> UPD include/linux/compile.h
> CC init/version.o
> CC init/do_mounts.o
> LD init/mounts.o
> mips64-unknown-linux-gnu-ld: cannot open linker script file
> ldscripts/elf64btsmip.xr: No such file or directory
> make[1]: *** [init/mounts.o] Error 1
> make: *** [init] Error 2
>
>
> Here is some system information that I hope will assist someone in pointing
> me at any mistakes I might have made:
>
> [ebuild R ] sys-devel/binutils-2.16.1-r3 USE="-multislot -multitarget
> -nls -test -vanilla" 12,368 kB
>
> [ebuild R ] sys-devel/gcc-4.1.1 USE="(-altivec) -bootstrap -build -doc
> -fortran -gcj -gtk (-hardened) -ip28 -ip32r10k -mudflap (-multilib)
> -multislot (-n32) (-n64) -nls -nocxx -objc -objc++ -objc-gc -test -vanilla"
> 38,303 kB
>
> nano linux # gcc-config -l
> [1] mips-unknown-linux-gnu-4.1.1 *
> [2] mips64-unknown-linux-gnu-4.1.1 *
>
>
>
> --
> Michael D. Bevilacqua
> michael@bevilacqua.us
>
>
--
gentoo-mips@gentoo.org mailing list
Re: O2 IP32 | mips-sources fails to find ldscripts [ In reply to ]
Michael Bevilacqua wrote:
> During kernel compile ld(1) is unable to find
> /usr/lib/binutils/mips-unknown-linux-gnu/2.16.1/ldscripts
>
> I was able to compile my current kernel without problems prior to
> changing to gcc 4.1.1 and rebuilding world with the -e flag, so I have a
> bad feeling something was altered to make this error occur.
>
> To get through the compile I created a link within /usr/src/linux like so:
>
> ln -s /usr/lib/binutils/mips-unknown-linux-gnu/2.16.1/ldscripts .
>
> However, even with the working .config that is running on my machine or
> the default ip32 config, I can't get this newly compiled kernel to work.
> It just hangs or does even load.
>
>
> Here is the original error:
[snip]

Haven't seen this one before, but I'm taking a stab and wondering if the
-multitarget keyword is to blame.

I've never tried disabling it, but it looks like your building natively on the
O2, so your userland/system binutils will be 32bit (mips-unknown-linux-gnu), but
if you somehow disabled binutils from building a mips64 target (which I think it
does during normal installs, cause they take up hardly no space), then I could
see why the aboved referenced elf64* file is missing.

Try building w/ multitarget enabled, and see if that changes things.


--Kumba

--
Gentoo/MIPS Team Lead

"Such is oft the course of deeds that move the wheels of the world: small hands
do them because they must, while the eyes of the great are elsewhere." --Elrond
--
gentoo-mips@gentoo.org mailing list