[parisc-linux] ELF tool chain builds hello world!!!

Paul Bame bame@endor.fc.hp.com
Thu, 11 May 2000 16:18:27 -0600


Gaak! so many errors in my recipe!

First, I'm pre-supposing you have /opt/puffin populated with the
current tool chain and the "includes" tarball in /opt/puffin/include.

= To build the limping tool chain, grab the latest CVS bits for
= binutils, gcc, and glibc, and follow a recipe somewhat like this
= (it's not exact unfortunately, but should contain all the tricks):
= 
= 
= PREFIX=$HOME/xc
= 
= cvs co binutils glibc gcc
Do Not = cd gcc
= ln -s ../binutils gcc/binutils
= 
= mkdir build-gcc
= cd build-gcc
= ../gcc/configure \
= 	--disable-nls \
= 	--disable-shared \
= 	--target=hppa1.1-linux \
= 	--host=i586-pc-linux-gnu \
= 	--prefix=$PREFIX \
= 	--with-headers=/opt/puffin/include \
= 	--with-libs=$PREFIX/lib \
= 	--with-libc
= 
= make # need libiberty.a
= # build until binutils is complete

It's probably OK to let gcc build to completion and install that, if it works

= cd binutils; make install
= 
= PATH=$PREFIX/bin:$PATH
= 
= cd ../..; mkdir build-glibc; cd build-glibc
= 
= ../glibc/configure \
= 	--disable-nls \
= 	--without-nls \
= 	--disable-shared \
= 	--disable-profile \
= 	--enable-static-nss \
= 	--build=i586-linux \
= 	--host=hppa1.1-linux \
= 	--disable-sanity-checks \
= 	--with-headers=/opt/puffin/include \
= 	--prefix=$PREFIX
= 
= make # fails pretty soon
= 
= cp ../glibc/csu/crt?.S csu/
= make # gets pretty far then fails looking for crtbegin.o
= 
= cd ../build-gcc

Do Not = ## Remove $PREFIX/bin from your $PATH!!!
Do Not = ## Repeat GCC configure from above then...

= make install  # This installs the rest of gcc just in case...
= 
= cd ../build-glibc; make
= make install MAKEINFO=
= 
= cd $(dirname $(find $PREFIX -name crtbegin.o))
= ln -s $PREFIX/lib/* .

You may get warnings here from 'ln' -- ignore them

= # Now you should be able to compile hello world
= 
= # The problem is that not all the headers seem to be available, in
= # two categories: 1) some headers for example glibc/string/memory.h
= # which ought to be installed as ...../include/string/memory.h, aren't
= # and 2) things in <sys> like <sys/mount.h>
= 
= ---------------------------------------------------------------------------
= To unsubscribe: send e-mail to parisc-linux-request@thepuffingroup.com with
= `unsubscribe' as the subject.
= 
= 
=