Newbie problem building newlib-1.12.0 for i386-linux
Jeff Johnston
jjohnstn@redhat.com
Sun Aug 8 15:10:00 GMT 2004
Michael,
Newlib isn't the default C library for a native linux platform such as
i386-linux; glibc is. To get newlib to build for linux, you have to specify the
--with-newlib configuration option. I would suggest you specify your target to
be i686-pc-linux-gnu if you are targetting the machine you are building with.
-- Jeff J.
Michael Kieser wrote:
> Hi all,
>
> I tried to build the newlib but with or without a toolchain for i386-linux I
> never can built it.
>
> First I extracted newlib-1.12.tar.gz -> $HOME
> then created a subdirectory $HOME/newlib-build
> then created a subdirectory $HOME/cross
>
> then cd newlib-build
> then ../newlib-1.12.0/configure --prefix=$HOME/cross --target=i386-linux
>
> result is:
>
> doc@gateway:~/newlib-build> ../newlib-1.12.0/configure --prefix=$HOME/cross
> --target=i386-linux
> creating cache ./config.cache
> checking host system type... i686-pc-linux-gnu
> checking target system type... i386-pc-linux-gnu
> checking build system type... i686-pc-linux-gnu
> checking for a BSD compatible install... /usr/bin/install -c
> *** This configuration is not supported in the following subdirectories:
> target-newlib target-libgloss
> (Any other directories should still work fine.)
> checking for i686-pc-linux-gnu-ar... no
> checking for ar... ar
> checking for i686-pc-linux-gnu-as... no
> checking for as... as
> checking for i686-pc-linux-gnu-dlltool... no
> checking for dlltool... dlltool
> checking for
> i686-pc-linux-gnu-ld... /usr/lib/gcc-lib/i586-suse-linux/3.3.3/../../../../i586-suse-linux/bin/ld
> checking for i686-pc-linux-gnu-nm... no
> checking for nm... nm
> checking for i686-pc-linux-gnu-ranlib... no
> checking for ranlib... ranlib
> checking for i686-pc-linux-gnu-windres... no
> checking for windres... windres
> checking for i686-pc-linux-gnu-objcopy... no
> checking for objcopy... objcopy
> checking for i686-pc-linux-gnu-objdump... no
> checking for objdump... objdump
> checking for i386-linux-ar... no
> checking for i386-linux-as... no
> checking for i386-linux-dlltool... no
> checking for i386-linux-ld... no
> checking for i386-linux-nm... no
> checking for i386-linux-ranlib... no
> checking for i386-linux-windres... no
> checking whether to enable maintainer-specific portions of Makefiles... no
> updating cache ./config.cache
> creating ./config.status
> creating Makefile
> doc@gateway:~/newlib-build>
>
> with i386-linux toolchain there is the same result but
> ...
> checking for i386-linux-ar... i386-linux-ar
> checking for i386-linux-as... i386-linux-as
> checking for i386-linux-dlltool... i386-linux-dlltool
> checking for i386-linux-ld... i386-linux-ld
> checking for i386-linux-nm... i386-linux-nm
> checking for i386-linux-ranlib... i386-linux-ranlib
> checking for i386-linux-windres... 386-linux-windres
> ...
>
> try of make all install ends up everytime with
>
> doc@gateway:~/newlib-build> make all install
> make[1]: Entering directory `/home/doc/newlib-build/etc'
> make[1]: Für das Ziel »all« ist nichts zu tun.
> make[1]: Leaving directory `/home/doc/newlib-build/etc'
> /bin/sh ../newlib-1.12.0/mkinstalldirs /home/doc/cross /home/doc/cross
> make[1]: Entering directory `/home/doc/newlib-build/etc'
> for f in standards.info configure.info; do \
> if test -f ../../newlib-1.12.0/etc/`echo $f | sed -e 's/.info$/.texi/'`;
> then \
> if make "MAKEINFO=/home/doc/newlib-1.12.0/missing makeinfo
> --split-size=5000000" $f; then \
> true; \
> else \
> exit 1; \
> fi; \
> fi; \
> done
> make[2]: Entering directory `/home/doc/newlib-build/etc'
> make[2]: »standards.info« ist bereits aktualisiert.
> make[2]: Leaving directory `/home/doc/newlib-build/etc'
> make[2]: Entering directory `/home/doc/newlib-build/etc'
> make[2]: »configure.info« ist bereits aktualisiert.
> make[2]: Leaving directory `/home/doc/newlib-build/etc'
> /bin/sh ../../newlib-1.12.0/etc/../mkinstalldirs /home/doc/cross/info
> if test ! -f standards.info; then cd ../../newlib-1.12.0/etc; fi; \
> if test -f standards.info; then \
> for i in standards.info*; do \
> /usr/bin/install -c -m 644 $i /home/doc/cross/info/$i; \
> done; \
> fi
> if test ! -f configure.info; then cd ../../newlib-1.12.0/etc; fi; \
> if test -f configure.info; then \
> for i in configure.info*; do \
> /usr/bin/install -c -m 644 $i /home/doc/cross/info/$i; \
> done; \
> fi
> make[1]: Leaving directory `/home/doc/newlib-build/etc'
> doc@gateway:~/newlib-build>
>
> I don't need info files, only the newlib
> can anybody help me, getting the newlib compiled ??
>
> Thanks
More information about the Newlib
mailing list