[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:45701] Re: クロスコンパイル環境の構築について



こんにちは,

> ここで第一の質問ですが、セルフコンパイル時には #include <limits.h> でエ
> ラーが出ないのに
> クロスコンパイル時にはエラーが出るのでしょうか?
> 何か powerpc-linux-gcc のコンパイル時に include/linux ディレクトリを特別
> に指定するような
> ことが有るのでしょうか?
> 
> そこで、まず、/usr/powerpc/include/limits.h ヘッダファイルに
> /usr/powerpc/include/linux/limits.h
> ヘッダファイルをマージして「おちゅ〜しゃ」を buildpackage してみました
> が、やはり PATH_MAX
> の未定義エラーが出ました。
> これは #ifndef および #endif を外したものもマージして試し、同じエラーが
> 出ることを確認しております。
> また、デフォルトの設定で問題ないはずですが、一応、/etc/dpkg-cross/cross-
> compile ファイルに
> crossinc = /usr/powerpc/incrude の行を追加しても変化は有りませんでした。

おそらくなんらかのバグだと思います.cppコマンドなどで確認していただく
とわかると思いますが,limits.hのincludeはかなり複雑です.limits.hをgcc
とglibcがそれぞれ提供していて,かつ最終的にはkernelの提供する
bits/limits.hに到達する必要があります.

どこでひっかかっているのか,/usr/powerpc/bin/powerpc-linux-cpp コマン
ドで確認してはいかがでしょうか.


$ cpp a.c
# 1 "a.c"
# 1 "<built-in>"
# 1 "<コマンドライン>"
# 1 "a.c"
# 1 "/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/limits.h" 1 3 4
# 11 "/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/limits.h" 3 4
# 1 "/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/syslimits.h" 1 3 4






# 1 "/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/limits.h" 1 3 4
# 122 "/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/limits.h" 3 4
# 1 "/usr/include/limits.h" 1 3 4
# 26 "/usr/include/limits.h" 3 4
# 1 "/usr/include/features.h" 1 3 4
# 308 "/usr/include/features.h" 3 4
# 1 "/usr/include/sys/cdefs.h" 1 3 4
# 309 "/usr/include/features.h" 2 3 4
# 331 "/usr/include/features.h" 3 4
# 1 "/usr/include/gnu/stubs.h" 1 3 4
# 332 "/usr/include/features.h" 2 3 4
# 27 "/usr/include/limits.h" 2 3 4
# 144 "/usr/include/limits.h" 3 4
# 1 "/usr/include/bits/posix1_lim.h" 1 3 4
# 153 "/usr/include/bits/posix1_lim.h" 3 4
# 1 "/usr/include/bits/local_lim.h" 1 3 4
# 36 "/usr/include/bits/local_lim.h" 3 4
# 1 "/usr/include/linux/limits.h" 1 3 4
# 37 "/usr/include/bits/local_lim.h" 2 3 4
# 154 "/usr/include/bits/posix1_lim.h" 2 3 4
# 145 "/usr/include/limits.h" 2 3 4



# 1 "/usr/include/bits/posix2_lim.h" 1 3 4
# 149 "/usr/include/limits.h" 2 3 4
# 123 "/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/limits.h" 2 3 4
# 8 "/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/syslimits.h" 2 3 4
# 12 "/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/limits.h" 2 3 4
# 2 "a.c" 2
main()
{
 printf("%i\n", 4096);
}



上川
-- 
dancer@{debian.org,netfort.gr.jp}   Debian Project