This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


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: crosstool-0.38, ppc860, NPTL and gcc4.0.1


Hello!

> Dan Kegel wrote:
>
> > Schaefer-Hutter, Peter wrote:
> >
> > I'm currently struggling with crosstool trying to compile
> > the subjects' toolchain. The core-gcc seems to miss libiberty.a;
> > however, libiberty.a is available in $RESULT_TOP/lib.
>
> The one in $RESULT_TOP/lib is probably compiled for
> the target; it's not the one the core-gcc needs.
>
> I think I've seen this problem before, but I forget the circumstances.
> Maybe gcc is confused, and thinks you're not building a
> cross-compiler?
> What kind of machine are you building on?

Thanks for your answer; i'm building on i686.

Actually, i discovered 2 items in GCCs' bugzilla:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11621
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21999

The answer was

 "You configured/built in the gcc subdirectory.
  You need to configure/build in the top level directory."

Hrm. Now i'm trying to figure out, how this applies to
crosstools in my case.

GCC is correctly configured from the top:

+ echo 'Build gcc-core w shared libgcc'
Build gcc-core w shared libgcc
+ mkdir -p build-gcc-core-shared
+ cd build-gcc-core-shared
+ test '!' -f Makefile
+ /home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/configure
--target=powerpc-860-linux-gnu --host=i686-host_pc-linux-gnu
--prefix=/opt/crosstool/gcc-4.0.1-glibc-2.3.5/powerpc-860-linux-gnu
--with-local-prefix=/opt/crosstool/gcc-4.0.1-glibc-2.3.5/powerpc-860-linux-gnu/powerpc-860-linux-gnu --disable-multilib
--with-cpu=860 --enable-cxx-flags=-mcpu=860 --without-headers --disable-nls --enable-symvers=gnu --enable-__cxa_atexit
--enable-languages=c --enable-shared
creating cache ./config.cache
checking host system type... i686-host_pc-linux-gnu
checking target system type... powerpc-860-linux-gnu
checking build system type... i686-host_pc-linux-gnu
checking for a BSD compatible install... /usr/bin/install -c
checking whether ln works... yes
checking whether ln -s works... yes
checking for gcc... gcc

 [ ... ]

Then libiberty.a is created correctly in the directory "/build-gcc-core-shared/libiberty":

+ make -C libiberty libiberty.a
make: Entering directory
`/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/build-gcc-core-shared/libiberty'
if [ x"-fpic" != x ] && [ ! -d pic ]; then \
  mkdir pic; \
else true; fi
touch stamp-picdir
if [ x"-fpic" != x ]; then \
  gcc -c -DHAVE_CONFIG_H -g -O2  -I.
-I/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/

 [ ... ]

make: Leaving directory
`/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/build-gcc-core-shared/libiberty'
+ make configure-gcc
Configuring in intl
configure: creating cache ./config.cache
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether NLS is requested... no
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext

 [ ... ]

Links are now set up to build a cross-compiler
 from i686-host_pc-linux-gnu to powerpc-860-linux-gnu.
updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: creating gccbug
config.status: creating mklibgcc
config.status: creating libada-mk
config.status: creating auto-host.h
config.status: executing default commands
+ make -C gcc libgcc.mk
make: Entering directory
`/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/build-gcc-core-shared/gcc'
cat
/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/config/rs6000/tramp.asm
> tramp.S
cat
/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/config/rs6000/eabi.asm
> eabi.S
TARGET_CPU_DEFAULT="" \
HEADERS="auto-host.h ansidecl.h" DEFINES="" \
/bin/sh /home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/mkconfig.sh
config.h
TARGET_CPU_DEFAULT="\"860\"" \
HEADERS="config/rs6000/rs6000.h config/dbxelf.h config/elfos.h config/svr4.h config/freebsd-spec.h config/rs6000/sysv4.h
config/rs6000/linux.h defaults.h" DEFINES="" \
/bin/sh /home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/mkconfig.sh
tm.h
TARGET_CPU_DEFAULT="" \
HEADERS="auto-host.h ansidecl.h" DEFINES="" \
/bin/sh /home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/mkconfig.sh
bconfig.h
gcc -c   -g -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-DHAVE_CONFIG_H -DGENERATOR_FILE    -I. -Ibuild
-I/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc
-I/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/build
-I/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/../include
-I/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/../libcpp/include  \
 -o build/genmodes.o
/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/genmodes.c
gcc -c   -g -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-DHAVE_CONFIG_H -DGENERATOR_FILE    -I. -Ibuild
-I/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc
-I/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/build
-I/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/../include
-I/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/../libcpp/include  \
 -o build/errors.o
/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/gcc-4.0.1/gcc/errors.c
make: *** No rule to make target `../build-i686-host_pc-linux-gnu/libiberty/libiberty.a', needed by `build/genmodes'.
Stop.
make: Leaving directory
`/home/peter/cross_gcc/crosstool-0.38/build/powerpc-860-linux-gnu/gcc-4.0.1-glibc-2.3.5/build-gcc-core-shared/gcc'

And that's it. I don't see the error...

The full build log is available on http://www.hutter-schaefer.de/build.log.bz2

Best regards,

 Peter

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


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