Newbie problem building newlib-1.12.0 for i386-linux
Jeff Johnston
jjohnstn@redhat.com
Mon Aug 16 15:39:00 GMT 2004
Michael,
In addition to the other patch, you will also need this one as well. I just
built on an fc3 system with glibc 2.3.3 installed and it built successfully.
Both patches have been checked into the current repository.
-- Jeff J.
Jeff Johnston wrote:
> Michael,
>
> Sorry for the delay. I am looking for a system to upgrade to glibc
> 2.3.3, but please try the following patch. You will have to do a make
> clean-target-newlib and rebuild.
>
> You should be targetting for i486-pc-linux-gnu since that is your
> final target.
>
> -- Jeff J.
>
> Michael Kieser wrote:
>
>> Hi Jeff,
>>
>> My development System is a P3 system which runs a 2.6.5 kernel with
>> glibc 2.3.3. And the newlib I need for a target with 486 prozessor,
>> running a 2.6.6 kernel without glibc, because of disk space.
>>
>> Thanks for help
>> Michael
>>
>> Am Montag, 9. August 2004 20:53 schrieben Sie:
>>
>>> Michael,
>>>
>>> Newlib for x86 linux uses some of the system headers. What level of
>>> glibc and what kernel is installed on your machine?
>>>
>>> -- Jeff J.
>>>
>>> Michael Kieser wrote:
>>>
>>>> Thanks for your help,
>>>>
>>>> but now I get everytime the following error and I don't know how to
>>>> work
>>>> arround.
>>>>
>>>> ...
>>>> gcc -I/home/doc/newlib-build/i686-pc-linux-gnu/newlib/targ-include
>>>> -I/home/doc/newlib-1.12.0/newlib/libc/include -DPACKAGE=\"newlib\"
>>>> -DVERSION=\"1.12.0\" -I.
>>>> -I../../../../../newlib-1.12.0/newlib/libc/search -O2 -DMB_CAPABLE
>>>> -Wall
>>>> -D_I386MACH_ALLOW_HW_INTERRUPTS -DHAVE_FCNTL -DWANT_IO_POS_ARGS
>>>> -DWANT_IO_LONG_DBL -fPIC -D_I386MACH_NEED_SOTYPE_FUNCTION
>>>> -DMISSING_SYSCALL_NAMES -fno-builtin -O2 -g -O2 -O2 -g -O2
>>>> -c ../../../../../newlib-1.12.0/newlib/libc/search/hash.c -fPIC -DPIC
>>>> -o .libs/hash.o
>>>> In file included from /usr/include/linux/stat.h:57,
>>>> from
>>>> /home/doc/newlib-build/i686-pc-linux-gnu/newlib/targ-include/sys/stat.h:1
>>>>
>>>> 1, 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
>>>> make[4]: Leaving directory
>>>> `/home/doc/newlib-build/i686-pc-linux-gnu/newlib/libc/search'
>>>> make[3]: *** [all-recursive] Fehler 1
>>>> make[3]: Leaving directory
>>>> `/home/doc/newlib-build/i686-pc-linux-gnu/newlib/libc'
>>>> make[2]: *** [all-recursive] Fehler 1
>>>> make[2]: Leaving directory
>>>> `/home/doc/newlib-build/i686-pc-linux-gnu/newlib' make[1]: ***
>>>> [all-recursive-am] Fehler 2
>>>> make[1]: Leaving directory
>>>> `/home/doc/newlib-build/i686-pc-linux-gnu/newlib' make: ***
>>>> [all-target-newlib] Fehler 2
>>>> doc@gateway:~/newlib-build>
>>>>
>>>> Don't know, why I can't compile simply as everywhere discribed.
>>>> Thanks for help
>>>>
>>>> Am Freitag, 6. August 2004 20:48 schrieben Sie:
>>>>
>>>>> 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/l
>>>>>>
>>>>>> d 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 ??
>>>>>>
>>>>>> Thank
>>>>
>>>>
>> s
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dl-runtime.patch
URL: <http://sourceware.org/pipermail/newlib/attachments/20040816/b35a8d2e/attachment.ksh>
More information about the Newlib
mailing list