linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Cross Compile Build Question
@ 2003-01-29 17:50 James Don
  2003-01-30  4:54 ` Allen Curtis
  0 siblings, 1 reply; 2+ messages in thread
From: James Don @ 2003-01-29 17:50 UTC (permalink / raw)
  To: linuxppc-embedded


Hi ...

I posted a question regarding this a little while ago but I didn't really
get anywhere with solutions I was given ...

I am trying to build GCC with the below 3 scripts build-gccBootStrap.sh,
build-glibc.sh, and build-gccWithGlibc.sh ... I keep having problems once I
get to the part where gcc is build gthr-threads.h ...

I can build glibc and bootstrapped compiler with newlib just fine ...

The error I get is:

In file included from gthr-default.h:1,
                 from ../../gcc-2.95.3/gcc/gthr.h:98,
                 from ../../gcc-2.95.3/gcc/libgcc2.c:3034:
../../gcc-2.95.3/gcc/gthr-posix.h:39: parse error before `__gthread_key_t'
../../gcc-2.95.3/gcc/gthr-posix.h:39: warning: data definition has no type
or storage class
../../gcc-2.95.3/gcc/gthr-posix.h:40: parse error before `__gthread_once_t'
../../gcc-2.95.3/gcc/gthr-posix.h:40: warning: data definition has no type
or storage class
../../gcc-2.95.3/gcc/gthr-posix.h:41: parse error before `__gthread_mutex_t'
../../gcc-2.95.3/gcc/gthr-posix.h:41: warning: data definition has no type
or storage class
../../gcc-2.95.3/gcc/gthr-posix.h:59: `pthread_create' undeclared here (not
in a function)
../../gcc-2.95.3/gcc/gthr-posix.h:78: parse error before `*'
../../gcc-2.95.3/gcc/gthr-posix.h:78: parse error before `)'


I have been told it is probably a problem with --headers ... but I am not so
sure ... I think I have set it up properly ... as you can see below ...

Thanks as always,
Jim



#!/bin/bash

#-------------------------------------------------------------
# This bash script creates a linux x866 gcc cross compiler
# for powerpc. This file has been tested with the following
# modules:
#    1.) binutils-2.13.90.0.2.tar.gz
#    2.) gcc-3.2.tar.gz
#    3.) newlib-synSept12-2002.tar.gz
#-------------------------------------------------------------

# Defining target
TARGET=powerpc-linux


# Defining prefix - final toolchain location
PREFIX=$HOME/ppcgcc

# PATH must updated
PATH=$PREFIX/bin:$PATH
export PATH

# My local includes
#INCLUDE=/usr/include/
INCLUDE=/home/jgdon/ppclinux/include

# Configuring packages versions
GCC_VER=2.95.3
BINUTILS_VER=2.13.90.0.2
NEWLIB_VER=1.10.0


echo ===================================================
echo BUILDING BINUTILS FOR $TARGET
echo ===================================================
# binutils
rm -rf binutils-$BINUTILS_VER binutils
tar zxvf binutils-$BINUTILS_VER.tar.gz
mkdir binutils
cd binutils
../binutils-$BINUTILS_VER/configure --target=$TARGET --prefix=$PREFIX
make all
make install
cd ..



echo ===================================================
echo BUILDING GCC FOR $TARGET
echo ===================================================

echo extract GCC source from tar ball ...
rm -rf gcc-$GCC_VER gcc
tar zxvf gcc-core-$GCC_VER.tar.gz
tar zxvf gcc-g++-$GCC_VER.tar.gz


echo extract newlib source from tar ball- needed for gcc ...
rm -rf  newlib-$NEWLIB_VER newlib
tar zxvf newlib-$NEWLIB_VER.tar.gz

echo set up symbolic links to newlib in gcc dir
cd  gcc-$GCC_VER
ln -s ../newlib-$NEWLIB_VER/newlib newlib
ln -s ../newlib-$NEWLIB_VER/libgloss libgloss
cd ..

echo build gcc ...
mkdir gcc
cd gcc
../gcc-$GCC_VER/configure --target=$TARGET --with-newlib --prefix=$PREFIX
--with-gnu-as --with-gnu-ld --with-headers=$INCLUDE
make all
make install
cd ..



echo ===================================================
echo BUILDING NEWLIB FOR $TARGET
echo ===================================================
# newlib
mkdir newlib
cd newlib
../newlib-$NEWLIB_VER/configure --target=$TARGET --prefix=$PREFIX --nfp
make all
make install
cd ..



-=-=-=-=-=-=-=-=-

#!/bin/bash

#-------------------------------------------------------------
# This file builds glibc and recompiles gcc to link it to gcc
#
# This bash script creates a linux x866 gcc cross compiler
# for powerpc. This file has been tested with the following
# modules:
#    1.) binutils-2.13.90.0.2.tar.gz
#    2.) gcc-3.2.tar.gz
#    3.) newlib-synSept12-2002.tar.gz
#-------------------------------------------------------------

# Defining target
TARGET=powerpc-linux


# Defining prefix - final toolchain location
PREFIX=$HOME/ppcgcc

# PATH must updated
PATH=$PREFIX/bin:$PATH
export PATH

# My local includes
INCLUDE=/home/jgdon/ppclinux/include

# Configuring packages versions
GCC_VER=2.95.3
BINUTILS_VER=2.13.90.0.2
NEWLIB_VER=1.10.0


#Define where kernel source is
KERNEL_SOURCE=$HOME/ppclinux

#These are the glibc files I am using ...
#   glibc-linuxthreads-2.3.1.tar.gz
#   glibc-2.3.1.tar.gz
GLIBC_THREADS_VER=2.2.3
GLIBC_VER=2.2.3

#
#Where we want to install compiled glibc
#
INSTALL_DIR=$HOME/powerpc-linux-gcc-glibc/







echo ===================================================
echo BUILDING GLIBC FOR $TARGET
echo ===================================================
ln -sf $KERNEL_SOURCE/include/asm $INSTALL_DIR/include/asm
ln -sf $KERNEL_SOURCE/include/linux $INSTALL_DIR/include/linux
tar zxfv glibc-$GLIBC_VER.tar.gz
cd glibc-$GLIBC_VER
tar zxfv ../glibc-linuxthreads-$GLIBC_THREADS_VER.tar.gz
CC=powerpc-linux-gcc AR=powerpc-linux-ar RANLIB=powerpc-linux-ranlib
./configure --host=powerpc-linux --enable-add-ons
--with-headers=$INSTALL_DIR/include --prefix=
make
make install_root=$INSTALL_DIR install


-=-=-=-=-=-=-=-=-=-=-=-=-

#!/bin/bash

#-------------------------------------------------------------
# This file builds glibc and recompiles gcc to link it to gcc
#
# This bash script creates a linux x866 gcc cross compiler
# for powerpc. This file has been tested with the following
# modules:
#    1.) binutils-2.13.90.0.2.tar.gz
#    2.) gcc-3.2.tar.gz
#    3.) newlib-synSept12-2002.tar.gz
#-------------------------------------------------------------

# Defining target
TARGET=powerpc-linux


# Defining prefix - final toolchain location
PREFIX=$HOME/ppcgcc

# PATH must updated
PATH=$PREFIX/bin:$PATH
export PATH

# My local includes
#INCLUDE=/usr/include/
INCLUDE=$HOME/powerpc-linux-gcc-glibc/include

# Configuring packages versions
GCC_VER=2.95.3
BINUTILS_VER=2.13.90.0.2
NEWLIB_VER=1.10.0


#Define where kernel source is
KERNEL_SOURCE=$HOME/ppclinux

#These are the glibc files I am using ...
#   glibc-linuxthreads-2.3.1.tar.gz
#   glibc-2.3.1.tar.gz
GLIBC_THREADS_VER=2.2.3
GLIBC_VER=2.2.3

#
#Where we want to install compiled glibc
#
INSTALL_DIR=$HOME/powerpc-linux-gcc-glibc/

# These are the instructions to build glibc from penguinppc.org ...
#
#You must first follow the kernel instructions, but you may omit the make
zImage portion
#      ln -sf <top of Linux kernel tree>/include/asm
/usr/powerpc-linux/include/asm
#      ln -sf <top of Linux kernel tree>/include/linux
/usr/powerpc-linux/include/linux
#      tar zxf glibc-x.x.x.tar.gz
#      cd glibc-x.x.x
#      tar zxf ../glibc-linuxthreads-x.x.x.tar.gz
#      CC=powerpc-linux-gcc
#      AR=powerpc-linux-ar
#      RANLIB=powerpc-linux-ranlib
#      ./configure --host=powerpc-linux --enable-add-ons
--with-headers=/usr/local/powerpc-linux/include --prefix=
#      make
#DANGER: You WILL screw up your system if you forget the install_root part
of the next command.
#      make install_root=/usr/local/powerpc-linux install


echo ===================================================
echo BUILDING GLIBC FOR $TARGET
echo ===================================================
#ln -sf $KERNEL_SOURCE/include/asm $INSTALL_DIR/include/asm

#ln -sf $KERNEL_SOURCE/include/linux $INSTALL_DIR/include/linux

#tar zxfv glibc-$GLIBC_VER.tar.gz

#cd glibc-$GLIBC_VER

#tar zxfv ../glibc-linuxthreads-$GLIBC_THREADS_VER.tar.gz

#CC=powerpc-linux-gcc AR=powerpc-linux-ar RANLIB=powerpc-linux-ranlib
./configure --host=powerpc-linux --enable-add-ons
--with-headers=$INSTALL_DIR/include --prefix=

#make

#make install_root=$INSTALL_DIR install


echo ===================================================
echo BUILDING GCC WITH GLIBC FOR $TARGET
echo ===================================================
cd $PREFIX
rm -rf gcc-$GCC_VER gcc-glibc
tar zxvf gcc-core-$GCC_VER.tar.gz
tar zxvf gcc-g++-$GCC_VER.tar.gz


#To rebuild gcc using glibc instead of newlib for the library:
mkdir gcc-glibc
cd gcc-glibc
#../gcc-$GCC_VER/configure --target=powerpc-linux --enable-shared
--enable-threads
../gcc-$GCC_VER/configure --target=$TARGET --prefix=$PREFIX --enable-shared
--with-gnu-as --with-gnu-ld --with-headers=$INCLUDE --enable-threads
make
make install
cd ..

echo ===================================================
echo FINISHED BUILDING GCC WITH GLIBC FOR $TARGET
echo ===================================================


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* RE: Cross Compile Build Question
  2003-01-29 17:50 Cross Compile Build Question James Don
@ 2003-01-30  4:54 ` Allen Curtis
  0 siblings, 0 replies; 2+ messages in thread
From: Allen Curtis @ 2003-01-30  4:54 UTC (permalink / raw)
  To: James Don, linuxppc-embedded


Let me dig up my notes. I spent an hour with someone before we got this to
work. You needed to comment out some stuff.

> I am trying to build GCC with the below 3 scripts build-gccBootStrap.sh,
> build-glibc.sh, and build-gccWithGlibc.sh ... I keep having
> problems once I
> get to the part where gcc is build gthr-threads.h ...
>
> I can build glibc and bootstrapped compiler with newlib just fine ...


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-01-30  4:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-29 17:50 Cross Compile Build Question James Don
2003-01-30  4:54 ` Allen Curtis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).