make problems

Jeff Johnston jjohnstn@redhat.com
Wed Jun 2 18:12:00 GMT 2004


Hmm, I answered this on 05/27 according to my SENT file, but it never made it 
outside to the list or to you.  Anyway, I'll try again.  See below...

Karin.Riedl@informatik.fh-muenchen.de wrote:
> Hi,
> this time it compilled a lot of stuff, but after a few warnings it stopped with 
> a few errors:
> 
> in file included from /usr/include/linux/stat.h:57,
>                  from 
> /home/dukart/newlib-Intel/i686-pc-linux-gnu/newlib/targ-include/sys/stat.h:11,
>                  from ../../../../../newlib-1.12.0/newlib/libc/search/hash.c:44:
> /usr/include/linux/time.h: In function `timespec_to_jiffies':
> /usr/include/linux/time.h:197: error: `u64' undeclared (first use in this 
> function)
> /usr/include/linux/time.h:197: error: (Each undeclared identifier is reported 
> only once
> /usr/include/linux/time.h:197: error: for each function it appears in.)
> /usr/include/linux/time.h:201: error: parse error before "sec"
> /usr/include/linux/time.h:201: error: parse error before ')' token
> /usr/include/linux/time.h: In function `jiffies_to_timespec':
> /usr/include/linux/time.h:214: error: `u64' undeclared (first use in this 
> function)
> /usr/include/linux/time.h:214: error: parse error before "nsec"
> /usr/include/linux/time.h:215: error: `nsec' undeclared (first use in this 
> function)
> /usr/include/linux/time.h: In function `timeval_to_jiffies':
> /usr/include/linux/time.h:236: error: `u64' undeclared (first use in this 
> function)
> /usr/include/linux/time.h:240: error: parse error before "sec"
> /usr/include/linux/time.h:240: error: parse error before ')' token
> /usr/include/linux/time.h: In function `jiffies_to_timeval':
> /usr/include/linux/time.h:252: error: `u64' undeclared (first use in this 
> function)
> /usr/include/linux/time.h:252: error: parse error before "nsec"
> /usr/include/linux/time.h:253: error: `nsec' undeclared (first use in this 
> function)
> make[4]: *** [hash.lo] Fehler 1
> 


The i686-pc-linux-gnu configuration cheats and uses glibc header files in 
conjunction with newlib headers.  It has not been tested with all glibc releases 
and glibc has no compunction to keep newlib stability.  What level of glibc are 
you using?  It appears there is simply a missing type: u64 that needs to be added.

> After I have successfully compiled the newlib for an i686 I want to build a 
> library with less functionality (e.g. without libm) for a few architectures 
> (arm, intel, mips).
> Can you give me an advice which would be the right way to do this?
> 

There currently is no configuration option to not build libm.  Since the 
libraries are linked in statically for the majority of platforms, there has been 
little reason to require this.  You should be able to replace libm with with 
something of your own on the link if the application requires math routines.

Regarding your desired platforms: are you looking for full functionality like 
that supplied for i686 linux?  Currently, linux is only supported under newlib 
for x86.  You can always build arm-elf or mips-elf for example, but it will have 
the basic set of newlib functionality as opposed to the full array of syscalls 
you will find for linux.  The library will be static.  If you require more 
functionality, you could take a look at rtems which enhances newlib with a lot 
more functionality and supports more than just x86.

> Bye Karin
> 
> 
> 
> Quoting Jeff Johnston <jjohnstn@redhat.com>:
> 
> 
>>Karin.Riedl@informatik.fh-muenchen.de wrote:
>>
>>>Hi,
>>>I'm having a little problem with building the newlib-1.12.0 (host + target
>>
>>= 
>>
>>>i686).
>>>
>>>I tried:
>>>../newlib-1.12.0/configure
>>> After this I wanted to run make, and got the following message:
>>>make[1]: Für das Ziel all ist nichts zu tun.   ( nothing to do for "all")
>>>What did I wrong? 
>>>
>>
>>Newlib was initially designed for cross-targets.  For native builds, the
>>default 
>>is to use glibc which is far more robust than newlib.  To force a native
>>newlib 
>>for i686, you need to add --with-newlib as a configuration argument.
>>
>>   ../newlib-1.12.0/configure --with-newlib
>>
>>-- Jeff J.
>>
>>
> 
> 



More information about the Newlib mailing list