This is the mail archive of the newlib@sourceware.org mailing list for the newlib 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]

Trouble building newlib-1.20.0 and newlib-2.0.0 on PPC Mac OS X 10.5.8


Hi all.

I'm building a cross-gcc 4.8.1 and am trying to upgrade from newlib 1.19.0 to 1.20.0 or 2.0.0.
My target is bare-metal (eg. without Operating System).

I'm building for PPC Mac OS X 10.5.8 (but also tried Debian 7 on a P4, but even 1.19.0 fails to buld there).

I've looked at the FAQ <http://sourceware.org/newlib/> as the first thing.
As the first Q/A says, I ensured that I'm building outside the source folder.
The second Q/A sounds quite cryptic to me; as if it contracicts the first line.

The link "crossgcc faq" is unfortunately broken (<http://sthoward.dyndns.org/CrossGCC/> does not respond)

But it seems that when using the same configure line for gcc, newlib-1.20.0 and 2.0.0 won't build, here are my results:

--8<-----8<-----8<----- { building newlib-2.0.0 }
Making install in string
set -e; for x in linux-crt0.o libgloss-linux.a; do /usr/bin/install -c -m 644 $x /usr/local/arm-none-eabi/arm-none-eabi/lib/thumb/$x; done
make[5]: Nothing to be done for `install-exec-am'.
make[5]: Nothing to be done for `install-data-am'.
Making install in signal
install: /usr/local/arm-none-eabi/arm-none-eabi/lib/thumb/linux-crt0.o: No such file or directory
make[5]: *** [install-linux] Error 71
-->8----->8----->8-----


--8<-----8<-----8<----- { building newlib-1.20.0 }
Making install in string
set -e; for x in linux-crt0.o libgloss-linux.a; do /usr/bin/install -c -m 644 $x /usr/local/arm-none-eabi/arm-none-eabi/lib/thumb/$x; done
make[5]: Nothing to be done for `install-exec-am'.
make[5]: Nothing to be done for `install-data-am'.
install: /usr/local/arm-none-eabi/arm-none-eabi/lib/thumb/linux-crt0.o: No such file or directory
Making install in signal
make[5]: *** [install-linux] Error 71
-->8----->8----->8-----


Here's my gcc configure-line, which builds fine with newlib-1.19.0:

Configured with: /Users/jens/toolchain/Source/gcc-4.8.1/configure --target=arm-none-eabi --prefix=/usr/local/arm-none-eabi --disable-nls --enable-c99 --with-float=soft --enable-softfloat --disable-hardfloat --enable-target-optspace --enable-multilib --enable-interwork --disable-libssp --with-gcc --with-gnu-as --with-gnu-ld --with-system-zlib --with-dwarf2 --with-newlib --with-headers=/Users/jens/toolchain/Source/newlib-1.19.0/newlib/libc/include/ --enable-languages=c : (reconfigured) /Users/jens/toolchain/Source/gcc-4.8.1/configure --target=arm-none-eabi --prefix=/usr/local/arm-none-eabi --disable-nls --enable-c99 --with-float=soft --enable-softfloat --disable-hardfloat --enable-target-optspace --enable-multilib --enable-interwork --disable-libssp --with-gcc --with-gnu-as --with-gnu-ld --with-system-zlib --with-dwarf2 --with-newlib --with-headers=/Users/jens/toolchain/Source/newlib-1.19.0/newlib/libc/include/ --enable-languages=c,c++,objc,obj-c++

top="~/toolchain"
prefix="/usr/local/arm-none-eabi"
target="arm-none-eabi"

Here's how I build bootstrap-gcc:
mkdir -p "$top/Build/gcc"; cd "$top/Build/gcc"
"$top/Source/gcc-4.8.1/configure" --target=arm-none-eabi --prefix=/usr/local/arm-none-eabi --disable-nls --enable-c99 --with-float=soft --enable-softfloat --disable-hardfloat --enable-target-optspace --enable-multilib --enable-interwork --disable-libssp  --with-gcc --with-gnu-as --with-gnu-ld --with-system-zlib --with-dwarf2 --with-newlib --with-headers="$top/Source/newlib-1.19.0/newlib/libc/include/" --enable-languages=c
make all-gcc && sudo make install-gcc

Here's how I build newlib:
mkdir -p "$top/Build/newlib"; cd "$top/Build/newlib"
"$top/Source/newlib-1.19.0/configure" --target="$target" --prefix="$prefix"
make all && sudo make install

And my final gcc:
cd "$top/Build/gcc"
"$top/Source/gcc-4.8.1/configure" --target=arm-none-eabi --prefix=/usr/local/arm-none-eabi --disable-nls --enable-c99 --with-float=soft --enable-softfloat --disable-hardfloat --enable-target-optspace --enable-multilib --enable-interwork --disable-libssp  --with-gcc --with-gnu-as --with-gnu-ld --with-system-zlib --with-dwarf2 --with-newlib --with-headers="$top/Source/newlib-1.19.0/newlib/libc/include/" --enable-languages=c,c++,objc,obj-c++


Until now, I have found no information anywhere on how to build 1.20.0 or 2.0.0 successfully.

So I have 3 questions:
I believe there is a difference in how 1.20.0 and 2.0.0 should be built, when comparing to 1.19.0, correct ?
Can anyone tell me how I can make 1.20.0 and 2.0.0 build ?
Is the a recommended way to build newlib to a bare-metal toolchain different from my approach ?


Love
Jens


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