Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 38978 - crossdev 0.3 (--arch=sparc) fails building glibc
Summary: crossdev 0.3 (--arch=sparc) fails building glibc
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Joshua Kinard
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-01-21 19:45 UTC by Andy Romeril
Modified: 2004-01-22 02:18 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andy Romeril 2004-01-21 19:45:02 UTC
Host: Pentium4 - 1.8Ghz, 768MB RAM
kernel 2.4.22-ck2


Reproducible: Always
Steps to Reproduce:
1. emerge crossdev-0.3
2. copy /etc/crossdev/crossdev.conf.example to /etc/crossdev/crossdev.conf
3. edit /etc/crossdev/crossdev.conf
   - set DELAY_TIME=5, USE_COLOR="no", SPARCABI=v8
4. Replace '/usr/bin/crossdev.sh' and /usr/bin/crossdev-status.sh' with files referenced in Bug #38834 as some fixes for the 'crossdev.sh' script.
5. launch crossdev.sh as follows:
   crossdev.sh --arch=sparc &> ~/crossdev-sparc-stable.out

Actual Results:  
Script starts and reports the following packages will be used:
  sys-kernel/linux-headers-2.4.19-r1
  sys-devel/binutils-2.14.90.0.7-r4
  sys-devel/gcc-3.2.3-r3
  sys-libs/glibc-2.3.2-r9
The process stops during the 'glibc' compile step with the following error:

sparc-unknown-linux-gnu-gcc -O2 -nostdlib -nostartfiles -mcpu=v8 -mtune=v8 -O2
-pipe dl-reloc.c -c -std=gnu99 -O2 -Wall -Winline -Wstrict-prototypes
-Wwrite-strings -g   -fPIC    -I../include -I.
-I/var/tmp/portage/crossdevbuild/glibc-2.3.2/buildhere-sparc/elf -I.. -I../libio
 -I/var/tmp/portage/crossdevbuild/glibc-2.3.2/buildhere-sparc
-I../sysdeps/sparc/sparc32/elf
-I../linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32
-I../linuxthreads/sysdeps/unix/sysv/linux/sparc
-I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread
-I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv
-I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/sparc/sparc32
-I../linuxthreads/sysdeps/sparc -I../sysdeps/unix/sysv/linux/sparc/sparc32
-I../sysdeps/unix/sysv/linux/sparc -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu
-I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet
-I../sysdeps/unix/sysv -I../sysdeps/unix/sparc -I../sysdeps/unix
-I../sysdeps/posix -I../sysdeps/sparc/sparc32/fpu -I../sysdeps/sparc/sparc32
-I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64
-I../sysdeps/sparc/sparc32/soft-fp -I../sysdeps/sparc/fpu -I../sysdeps/sparc
-I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc
-isystem /home/crossdev/sparc/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.3/include
-isystem /home/crossdev/sparc/include -D_LIBC_REENTRANT -include
../include/libc-symbols.h  -DPIC -DSHARED -DNOT_IN_libc=1 -DIS_IN_rtld=1
    -o
/var/tmp/portage/crossdevbuild/glibc-2.3.2/buildhere-sparc/elf/dl-reloc.os -MD
-MP -MF
/var/tmp/portage/crossdevbuild/glibc-2.3.2/buildhere-sparc/elf/dl-reloc.os.dt
In file included from dynamic-link.h:59,
                 from dl-reloc.c:265:
../sysdeps/sparc/sparc32/dl-machine.h: In function `elf_machine_rela':
../sysdeps/sparc/sparc32/dl-machine.h:435: `_dl_rtld_map' undeclared (first use
in this function)
../sysdeps/sparc/sparc32/dl-machine.h:435: (Each undeclared identifier is
reported only once
../sysdeps/sparc/sparc32/dl-machine.h:435: for each function it appears in.)
make[2]: ***
[/var/tmp/portage/crossdevbuild/glibc-2.3.2/buildhere-sparc/elf/dl-reloc.os] Error 1
make[2]: Leaving directory `/var/tmp/portage/crossdevbuild/glibc-2.3.2/elf'
make[1]: *** [elf/subdir_lib] Error 2
make[1]: Leaving directory `/var/tmp/portage/crossdevbuild/glibc-2.3.2'
make: *** [all] Error 2

 * glibc failed to compile!
Comment 1 Joshua Kinard gentoo-dev 2004-01-22 02:18:40 UTC
The problem with cross-building like this is one never knows if this is a bug in the configure lines crossdev passes to glibc's configure, or just glibc being stupid.  Given all the difficulty I've had with glibc, I'm inclined to say this is a glibc issue with the host architecture, the environment, and cross-compiling.

There really isn't anything I can do as I'm no glibc hacker.  It looks like you use v8 as the SPARCABI setting.  You might try changing that back to v9 and seeing if that works, cause if it does, you can still use the resulting toolchain to generate sparcv8 code (for the sparc32 systems).  Beyond that though, there is unfortunately nothing I can do about it.

If you find a patch for glibc that addresses this issue, pass it onto the base-system team or Azarah so it gets included in the glibc ebuilds.  I also recommend trying to build with the glibc-2.3.3_preX series to see if the same issue occurs.  I'm gonna close this bug out as CANTFIX due to the issue being more with glibc than the crossdev script itself.