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