configure fails to acquire proper compiler -- newlib 1.12.0

Jeff Johnston
Mon Jul 26 20:06:00 GMT 2004

Samium Gromoff wrote:
> Good day!
> the trouble with configure is twofold:
> first it fails to recognise mipsel-linux as a proper target:
> deepfire@canopus:~/libc/newlib-1.12.0$ ./configure --target=mipsel-linux
> loading cache ./config.cache
> checking host system type... i686-pc-linux-gnu
> checking target system type... mipsel-unknown-linux-gnu
> checking build system type... i686-pc-linux-gnu
> checking for a BSD compatible install... (cached) /usr/bin/install -c
> *** This configuration is not supported in the following subdirectories:
>      target-newlib target-libgloss
>     (Any other directories should still work fine.)

The message above is issued from the top-level configure, not newlib.  This is 
due to the fact that the default C library for Linux should be glibc, not 
newlib.  Building with newlib causes changes in the header files used.  To force 
the configuration to build newlib, specify --with-newlib in your configuration 
call.  Note that --with-newlib will get you a vanilla-style newlib with the base 
set of syscalls.  The newlib/sys/linux code with a more robust syscall 
arhitecture currently only supports x86.  You will have to specify an ld script 
when you compile (see the scripts in libgloss/mips).

> checking for i686-pc-linux-gnu-ar... no
> checking for ar... (cached) ar
> checking for i686-pc-linux-gnu-as... no
> checking for as... (cached) as
> checking for i686-pc-linux-gnu-dlltool... no
> checking for dlltool... (cached) dlltool
> checking for i686-pc-linux-gnu-ld... no
> checking for ld... (cached) ld
> checking for i686-pc-linux-gnu-nm... no
> checking for nm... (cached) nm
> checking for i686-pc-linux-gnu-ranlib... no
> checking for ranlib... (cached) ranlib
> checking for i686-pc-linux-gnu-windres... no
> checking for windres... (cached) windres
> checking for i686-pc-linux-gnu-objcopy... no
> checking for objcopy... (cached) objcopy
> checking for i686-pc-linux-gnu-objdump... no
> checking for objdump... (cached) objdump
> checking for mipsel-linux-ar... (cached) mipsel-linux-ar
> checking for mipsel-linux-as... (cached) mipsel-linux-as
> checking for mipsel-linux-dlltool... no
> checking for mipsel-linux-ld... (cached) mipsel-linux-ld
> checking for mipsel-linux-nm... (cached) mipsel-linux-nm
> checking for mipsel-linux-ranlib... (cached) mipsel-linux-ranlib
> checking for mipsel-linux-windres... no
> checking whether to enable maintainer-specific portions of Makefiles... no
> creating ./config.status
> creating Makefile
> subsequent make fails to accomplish anything useful with:
> deepfire@canopus:~/libc/newlib-1.12.0$ make
> Configuring in etc
> loading cache ./config.cache
> checking for a BSD compatible install... (cached) /usr/bin/install -c
> creating ./config.status
> creating Makefile
> make[1]: Entering directory `/home/deepfire/libc/newlib-1.12.0/etc'
> make[1]: Nothing to be done for `all'.
> make[1]: Leaving directory `/home/deepfire/libc/newlib-1.12.0/etc'
> deepfire@canopus:~/libc/newlib-1.12.0$ 
> And second, if i enter /newlib and forcibly run configure from there it
> fails to acquire the proper gcc:

Currently, newlib is dependent on the top-level configuration setting some key 

> deepfire@canopus:~/libc/newlib-1.12.0$ cd newlib
> deepfire@canopus:~/libc/newlib-1.12.0/newlib$ ./configure --target=mipsel-linux
> [ configures ok ]
> deepfire@canopus:~/libc/newlib-1.12.0/newlib$ make
> make "AR_FLAGS=rc"      "CC_FOR_BUILD=gcc"      "CFLAGS=-g -O2"
> "MAKEINFO=makeinfo "    "PICFLAG="      "PICFLAG_FOR_TARGET="
> "SHELL=/bin/sh"   "EXPECT=`if test -f ./../expect/expect; then echo ./../expect/expect; else echo expect; fi`"
> "RUNTEST=`if test -f ./../dejagnu/runtest; then echo ./../dejagnu/runtest; else echo runtest; fi`"
> "RUNTESTFLAGS="         "exec_prefix=/usr/local"        "infodir=/usr/local/info"
> "libdir=/usr/local/lib"         "prefix=/usr/local"     "tooldir=/usr/local/i686-pc-linux-gnu"
> "top_toollibdir=/usr/local/i686-pc-linux-gnu/lib" "AR=ar"         "AS=as"
> "CC=gcc -I/home/deepfire/libc/newlib-1.12.0/newlib/targ-include -I/home/deepfire/libc/newlib-1.12.0/newlib/libc/include"
> "LD=ld"         "LIBCFLAGS="      "NM="   "PICFLAG="      "RANLIB=ranlib"         "DESTDIR=" all-recursive
> make[1]: Entering directory `/home/deepfire/libc/newlib-1.12.0/newlib'
> etc etc
> Hope this helps...
> regards, Samium Gromoff

More information about the Newlib mailing list