This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: unable to build glibc-2.2.5 with gcc-3.1 for ARM


On Thu, May 30, 2002 at 11:08:49AM -0400, Josh Fryman wrote:
> 
> hi,
> 
> i may have munged something in this sequence of operations, but i'm trying to
> build a new cross-hosted gcc and glibc combo with gcc-3.1.  i'm hosting on an
> i686-pc-linux-gnu, and targeting an arm-v4l-linux / strongarm110.
> 
> the end result is that in the middle of glibc-2.2.5 compile, it fails with the
> message 'no rule to make target misc/iopl.o' needed by (modules).
> 
> is this a known issue, or have i broken something along the way?  here's the
> sequence of steps i've followed ... with the error message at the bottom. 
> hopefully someone knows what's gone wrong...

Glibc is not a cross tool like GCC; it's a target library.  You need to
configure it with --host, not --target.

> 
> thanks,
> 
> -josh
> 
> binutils 2.12.1
> ---------------
> cd binutils-2.12.1
> ./configure --prefix=/usr/local/arm-v4l-linux --exec-prefix=/usr/local/arm-v4l-linux --host=i686-pc-linux-gnu --nfp --target=arm-v4l-linux
> make
> make install
> export PATH=/usr/local/arm-v4l-linux/bin:$PATH
> 
> 
> extract kernel headers:
> (for glibc linkage)
> -----------------------
> cd /usr/local/arm-v4l-linux
> mkdir arm-linux
> cd arm-linux
> tar xvzf kernel-2.4.18.tar.gz
> cd linux
> patch -p1 < ../patch-rmk6-2.4.18
> vi Makefile
> (edit ARCH line to read "ARCH := arm")
> make menuconfig
> make dep
> mkdir /usr/local/arm-v4l-linux/include
> cp -dR include/asm  /usr/local/arm-v4l-linux/include
> cp -dR include/linux  /usr/local/arm-v4l-linux/include
> 
> 
> gcc-3.1 : first version
> -----------------------
> mkdir gcc-build-p1
> cd gcc-build-p1
> ../gcc-3.1/configure --prefix=/usr/local/arm-v4l-linux --target=arm-v4l-linux --with-cpu=strongarm110 --program-transform-names=s,^,arm-v4l-linux-, --without-fp --with-softfloat-support=internal --with-newlib --enable-languages="c" --disable-threads --disable-shared --enable-static --with-inhibit-libc --with-headers=/usr/local/arm-v4l-linux/arm-linux/include
> cd ..
> 
> glibc-2.2.5 : full build
> ------------------------
> tar xvzf glibc-2.2.5.tar.gz
> cd glibc-2.2.5
> tar xvzf ../glibc-linuxthreads-2.2.5.tar.gz
> cd ..
> mkdir glibc-build
> cd glibc-build
> ../glibc-2.2.5/configure --prefix=/usr/local/arm-v4l-linux --host=i686-pc-linux-gnu --target=arm-v4l-linux --with-headers=/usr/local/arm-v4l-linux/arm-linux/include/ --enable-kernel=2.4.18 --enable-add-ons
> make
> 
> here, it runs along for a while, and then barfs here:
> 
> (echo '#include <sysdep.h>'; \
>  echo 'PSEUDO (ioperm, ioperm, 3)'; \
>  echo ' ret'; \
>  echo 'PSEUDO_END(ioperm)'; \
> ) | gcc -c  -I../include -I. -I/tmp/skiff/new-gcc31/glibc-build/misc -I.. -I../libio  -I/tmp/skiff/new-gcc31/glibc-build -I../sysdeps/i386/elf -I../linuxthreads/sysdeps/unix/sysv/linux/i386 -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/i386/i686 -I../linuxthreads/sysdeps/i386 -I../sysdeps/unix/sysv/linux/i386/i686 -I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/el!
> f -I../sysdeps/generic  -nostdinc -isystem /usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/include -isystem /usr/local/arm-v4l-linux/arm-linux/include/ -D_LIBC_REENTRANT -include ../include/libc-symbols.h     -DASSEMBLER  -DGAS_SYNTAX  -x assembler-with-cpp -o /tmp/skiff/new-gcc31/glibc-build/misc/ioperm.o -
> make[2]: *** No rule to make target `/tmp/skiff/new-gcc31/glibc-build/misc/iopl.o', needed by `/tmp/skiff/new-gcc31/glibc-build/misc/stamp.o'.  Stop.
> make[2]: Leaving directory `/tmp/skiff/new-gcc31/glibc-2.2.5/misc'
> make[1]: *** [misc/subdir_lib] Error 2
> make[1]: Leaving directory `/tmp/skiff/new-gcc31/glibc-2.2.5'
> make: *** [all] Error 2

-- 
Daniel Jacobowitz                           Carnegie Mellon University
MontaVista Software                         Debian GNU/Linux Developer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]