All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hinko Kocevar <hinko.kocevar@cetrtapot.si>
To: buildroot@busybox.net
Subject: [Buildroot] uClibc missing limits.h
Date: Wed, 02 Jul 2008 10:59:03 +0200	[thread overview]
Message-ID: <486B4357.8060908@cetrtapot.si> (raw)
In-Reply-To: <4860D71A.4060104@cetrtapot.si>

Hinko Kocevar wrote:
> Bernhard Fischer wrote:
>> On Mon, Jun 23, 2008 at 02:22:25PM +0200, Hinko Kocevar wrote:
>>> Hi,
>>>
>>> I've found a way for uClibc to find headers that are not in the $(shell $CC -print-file-name=include), but in $(shell $CC -print-file-name=include)-fixed.
>>> According to http://sourceware.org/ml/libc-alpha/2007-03/msg00017.html LIBC should also look in other gcc provided header directories (eg. include-fixed) instead only relying on 'include' to contain all correct headers.
>>>
>>> Below is uClibc patch for this (tested on cris).
>> Well, that's not really correct since the default search path already
>> should to be
>> $target_triple/$ver/include \
>> $target_triple/$ver/include-fixed \
>>

It is not if -nostdinc is in the compiler command line (see below).

>> And apart from that you would not get away with just doing this for uClibc..
>>
>> Please paste the failing "cross-gcc -v" invocation that fails to find
>> the include-fixed.
> 

Here the compiler line that fails to find include-fixed:

hinkok at alala /work/stage/buildroot/toolchain_build_cris/uClibc-0.9.29 $ /work/stage/buildroot/build_cris/staging_dir/usr/bin/cris-linux-uclibc-gcc -c libc/sysdeps/linux/common/chdir.c -o libc/sysdeps/linux/common/chdir.os -include ./include/libc-symbols.h -Wall -Wstrict-prototypes -fno-strict-aliasing -fno-stack-protector -fno-builtin -nostdinc -I./include -I. --sysroot=/work/stage/buildroot/build_cris/staging_dir/ -isysroot /work/stage/buildroot/build_cris/staging_dir -I=/usr/include -Os -pipe -I/work/stage/buildroot/build_cris/staging_dir/usr/include -mtune=v10 -march=v10 -std=gnu99 -Os -funit-at-a-time -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/cris -I./libpthread/linuxthreads.old/sysdeps/cris -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux -I./libpthread/linuxthreads.old/sysdeps/pthread -I./libpthread/linuxthreads.old -I./libpthread -I/work/stage/buildroot/toolchain_build_cris/linux
/include/ -isystem /work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/include -DNDEBUG -fpic -v
Using built-in specs.
Target: cris-linux-uclibc
Configured with: /work/stage/buildroot/toolchain_build_cris/gcc-4.3.1/configure --prefix=/work/stage/buildroot/build_cris/staging_dir/usr --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=cris-linux-uclibc --enable-languages=c --with-sysroot=/work/stage/buildroot/toolchain_build_cris/uClibc_dev/ --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --disable-shared --with-gmp=/work/stage/buildroot/toolchain_build_cris/gmp --with-mpfr=/work/stage/buildroot/toolchain_build_cris/mpfr --enable-threads --disable-multilib --disable-libssp --disable-libssp --disable-libmudflap --disable-libgomp
Thread model: posix
gcc version 4.3.1 (GCC) 
COLLECT_GCC_OPTIONS='-c' '-o' 'libc/sysdeps/linux/common/chdir.os' '-include' './include/libc-symbols.h' '-Wall' '-Wstrict-prototypes' '-fno-strict-aliasing' '-fno-stack-protector' '-fno-builtin' '-nostdinc' '-I./include' '-I.' '-isysroot' '/work/stage/buildroot/build_cris/staging_dir' '-I=/usr/include' '-Os' '-pipe' '-I/work/stage/buildroot/build_cris/staging_dir/usr/include' '-mtune=v10' '-march=v10' '-std=gnu99' '-Os' '-funit-at-a-time' '-fno-tree-loop-optimize' '-fno-tree-dominator-opts' '-fno-strength-reduce' '-I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/cris' '-I./libpthread/linuxthreads.old/sysdeps/cris' '-I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux' '-I./libpthread/linuxthreads.old/sysdeps/pthread' '-I./libpthread/linuxthreads.old' '-I./libpthread' '-I/work/stage/buildroot/toolchain_build_cris/linux/include/' '-isystem' '/work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/include' '-DNDEBUG' '-fpic' '-v'
 /work/stage/buildroot/build_cris/staging_dir/usr/libexec/gcc/cris-linux-uclibc/4.3.1/cc1 -quiet -nostdinc -v -I./include -I. -I=/usr/include -I/work/stage/buildroot/build_cris/staging_dir/usr/include -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/cris -I./libpthread/linuxthreads.old/sysdeps/cris -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux -I./libpthread/linuxthreads.old/sysdeps/pthread -I./libpthread/linuxthreads.old -I./libpthread -I/work/stage/buildroot/toolchain_build_cris/linux/include/ -isysroot /work/stage/buildroot/build_cris/staging_dir/ -D__tune_v10 -D__CRIS_arch_tune=10 -D__arch_v10 -D__CRIS_arch_version=10 -DNDEBUG -include ./include/libc-symbols.h -isysroot /work/stage/buildroot/build_cris/staging_dir -isystem /work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/include libc/sysdeps/linux/common/chdir.c -quiet -dumpbase chdir.c -mtune=v10 -march=v10 -auxbase-strip libc/sysdeps/linux/common/chdir.os -Os -Os -Wall -W
strict-prototypes -std=gnu99 -version -fno-strict-aliasing -fno-stack-protector -fno-builtin -funit-at-a-time -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -fpic -o - |
 /work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/../../../../cris-linux-uclibc/bin/as -v --em=criself --no-underscore --pic -o libc/sysdeps/linux/common/chdir.os -
GNU assembler version 2.18 (cris-linux-uclibc) using BFD version (GNU Binutils) 2.18
ignoring duplicate directory "/work/stage/buildroot/build_cris/staging_dir/usr/include"
ignoring nonexistent directory "./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/cris"
ignoring nonexistent directory "./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux"
#include "..." search starts here:
#include <...> search starts here:
 ./include
 .
 /work/stage/buildroot/build_cris/staging_dir/usr/include
 ./libpthread/linuxthreads.old/sysdeps/cris
 ./libpthread/linuxthreads.old/sysdeps/pthread
 ./libpthread/linuxthreads.old
 ./libpthread
 /work/stage/buildroot/toolchain_build_cris/linux/include/
 /work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/include
End of search list.
GNU C (GCC) version 4.3.1 (cris-linux-uclibc)
	compiled by GNU C version 4.1.2 (Gentoo 4.1.2 p1.1), GMP version 4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 8d9cd5fbd7efd311d4ba9389bc2ae5b7
In file included from ./include/sys/param.h:22,
                 from libc/sysdeps/linux/common/chdir.c:13:
./include/limits.h:124:26: error: limits.h: No such file or directory


Quick fix was to remove the '-nostdinc' flag, the include-fixed is also seen in the includes list:

hinkok at alala /work/stage/buildroot/toolchain_build_cris/uClibc-0.9.29 $ /work/stage/buildroot/build_cris/staging_dir/usr/bin/cris-linux-uclibc-gcc -c libc/sysdeps/linux/common/chdir.c -o libc/sysdeps/linux/common/chdir.os -include ./include/libc-symbols.h -Wall -Wstrict-prototypes -fno-strict-aliasing -fno-stack-protector -fno-builtin -I./include -I. --sysroot=/work/stage/buildroot/build_cris/staging_dir/ -isysroot /work/stage/buildroot/build_cris/staging_dir -I=/usr/include -Os -pipe -I/work/stage/buildroot/build_cris/staging_dir/usr/include -mtune=v10 -march=v10 -std=gnu99 -Os -funit-at-a-time -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/cris -I./libpthread/linuxthreads.old/sysdeps/cris -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux -I./libpthread/linuxthreads.old/sysdeps/pthread -I./libpthread/linuxthreads.old -I./libpthread -I/work/stage/buildroot/toolchain_build_cris/linux/include/ 
-isystem /work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/include -DNDEBUG -fpic -v
Using built-in specs.
Target: cris-linux-uclibc
Configured with: /work/stage/buildroot/toolchain_build_cris/gcc-4.3.1/configure --prefix=/work/stage/buildroot/build_cris/staging_dir/usr --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=cris-linux-uclibc --enable-languages=c --with-sysroot=/work/stage/buildroot/toolchain_build_cris/uClibc_dev/ --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --disable-shared --with-gmp=/work/stage/buildroot/toolchain_build_cris/gmp --with-mpfr=/work/stage/buildroot/toolchain_build_cris/mpfr --enable-threads --disable-multilib --disable-libssp --disable-libssp --disable-libmudflap --disable-libgomp
Thread model: posix
gcc version 4.3.1 (GCC) 
COLLECT_GCC_OPTIONS='-c' '-o' 'libc/sysdeps/linux/common/chdir.os' '-include' './include/libc-symbols.h' '-Wall' '-Wstrict-prototypes' '-fno-strict-aliasing' '-fno-stack-protector' '-fno-builtin' '-I./include' '-I.' '-isysroot' '/work/stage/buildroot/build_cris/staging_dir' '-I=/usr/include' '-Os' '-pipe' '-I/work/stage/buildroot/build_cris/staging_dir/usr/include' '-mtune=v10' '-march=v10' '-std=gnu99' '-Os' '-funit-at-a-time' '-fno-tree-loop-optimize' '-fno-tree-dominator-opts' '-fno-strength-reduce' '-I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/cris' '-I./libpthread/linuxthreads.old/sysdeps/cris' '-I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux' '-I./libpthread/linuxthreads.old/sysdeps/pthread' '-I./libpthread/linuxthreads.old' '-I./libpthread' '-I/work/stage/buildroot/toolchain_build_cris/linux/include/' '-isystem' '/work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/include' '-DNDEBUG' '-fpic' '-v'
 /work/stage/buildroot/build_cris/staging_dir/usr/libexec/gcc/cris-linux-uclibc/4.3.1/cc1 -quiet -v -I./include -I. -I=/usr/include -I/work/stage/buildroot/build_cris/staging_dir/usr/include -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/cris -I./libpthread/linuxthreads.old/sysdeps/cris -I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux -I./libpthread/linuxthreads.old/sysdeps/pthread -I./libpthread/linuxthreads.old -I./libpthread -I/work/stage/buildroot/toolchain_build_cris/linux/include/ -isysroot /work/stage/buildroot/build_cris/staging_dir/ -D__tune_v10 -D__CRIS_arch_tune=10 -D__arch_v10 -D__CRIS_arch_version=10 -DNDEBUG -include ./include/libc-symbols.h -isysroot /work/stage/buildroot/build_cris/staging_dir -isystem /work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/include libc/sysdeps/linux/common/chdir.c -quiet -dumpbase chdir.c -mtune=v10 -march=v10 -auxbase-strip libc/sysdeps/linux/common/chdir.os -Os -Os -Wall -Wstrict-pro
totypes -std=gnu99 -version -fno-strict-aliasing -fno-stack-protector -fno-builtin -funit-at-a-time -fno-tree-loop-optimize -fno-tree-dominator-opts -fno-strength-reduce -fpic -o - |
 /work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/../../../../cris-linux-uclibc/bin/as -v --em=criself --no-underscore --pic -o libc/sysdeps/linux/common/chdir.os -
GNU assembler version 2.18 (cris-linux-uclibc) using BFD version (GNU Binutils) 2.18
ignoring nonexistent directory "/work/stage/buildroot/build_cris/staging_dir/usr/local/include"
ignoring duplicate directory "/work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/include"
ignoring nonexistent directory "/work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/../../../../cris-linux-uclibc/include"
ignoring duplicate directory "/work/stage/buildroot/build_cris/staging_dir/usr/include"
  as it is a non-system directory that duplicates a system directory
ignoring duplicate directory "/work/stage/buildroot/build_cris/staging_dir/usr/include"
  as it is a non-system directory that duplicates a system directory
ignoring nonexistent directory "./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/cris"
ignoring nonexistent directory "./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux"
#include "..." search starts here:
#include <...> search starts here:
 ./include
 .
 ./libpthread/linuxthreads.old/sysdeps/cris
 ./libpthread/linuxthreads.old/sysdeps/pthread
 ./libpthread/linuxthreads.old
 ./libpthread
 /work/stage/buildroot/toolchain_build_cris/linux/include/
 /work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/include
 /work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/include-fixed
 /work/stage/buildroot/build_cris/staging_dir/usr/include
End of search list.
GNU C (GCC) version 4.3.1 (cris-linux-uclibc)
	compiled by GNU C version 4.1.2 (Gentoo 4.1.2 p1.1), GMP version 4.2.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 8d9cd5fbd7efd311d4ba9389bc2ae5b7
COMPILER_PATH=/work/stage/buildroot/build_cris/staging_dir/usr/libexec/gcc/cris-linux-uclibc/4.3.1/:/work/stage/buildroot/build_cris/staging_dir/usr/libexec/gcc/cris-linux-uclibc/4.3.1/:/work/stage/buildroot/build_cris/staging_dir/usr/libexec/gcc/cris-linux-uclibc/:/work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/:/work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/:/work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/../../../../cris-linux-uclibc/bin/
LIBRARY_PATH=/work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/:/work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/../../../../cris-linux-uclibc/lib/:/work/stage/buildroot/build_cris/staging_dir//lib/:/work/stage/buildroot/build_cris/staging_dir//usr/lib/
COLLECT_GCC_OPTIONS='-c' '-o' 'libc/sysdeps/linux/common/chdir.os' '-include' './include/libc-symbols.h' '-Wall' '-Wstrict-prototypes' '-fno-strict-aliasing' '-fno-stack-protector' '-fno-builtin' '-I./include' '-I.' '-isysroot' '/work/stage/buildroot/build_cris/staging_dir' '-I=/usr/include' '-Os' '-pipe' '-I/work/stage/buildroot/build_cris/staging_dir/usr/include' '-mtune=v10' '-march=v10' '-std=gnu99' '-Os' '-funit-at-a-time' '-fno-tree-loop-optimize' '-fno-tree-dominator-opts' '-fno-strength-reduce' '-I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux/cris' '-I./libpthread/linuxthreads.old/sysdeps/cris' '-I./libpthread/linuxthreads.old/sysdeps/unix/sysv/linux' '-I./libpthread/linuxthreads.old/sysdeps/pthread' '-I./libpthread/linuxthreads.old' '-I./libpthread' '-I/work/stage/buildroot/toolchain_build_cris/linux/include/' '-isystem' '/work/stage/buildroot/build_cris/staging_dir/usr/lib/gcc/cris-linux-uclibc/4.3.1/include' '-DNDEBUG' '-fpic' '-v'

Again, according to the http://sourceware.org/ml/libc-alpha/2007-03/msg00017.html this can be fixed by adding include-fixed to the compiler flags via -isystem. If it is enough only for uClibc build I can't tell..

Regards,
Hinko

-- 
?ETRTA POT, d.o.o., Kranj
Planina 3
4000 Kranj
Slovenia, Europe
Tel. +386 (0) 4 280 66 03
E-mail: hinko.kocevar at cetrtapot.si
Http: www.cetrtapot.si

  reply	other threads:[~2008-07-02  8:59 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-23 12:22 [Buildroot] uClibc missing limits.h Hinko Kocevar
2008-06-23 13:16 ` Bernhard Fischer
2008-06-24 11:14   ` Hinko Kocevar
2008-07-02  8:59     ` Hinko Kocevar [this message]
2008-07-02 18:22       ` Ulf Samuelsson
2008-07-03  7:05         ` Hinko Kocevar
2008-07-03  8:05           ` Bernhard Fischer
2008-07-09  7:54             ` Hinko Kocevar
2008-07-09 11:38               ` Bernhard Fischer
2008-07-11  7:15                 ` Hinko Kocevar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=486B4357.8060908@cetrtapot.si \
    --to=hinko.kocevar@cetrtapot.si \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.