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

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



こんにちは、山本です。


Junichi Uekawa wrote:

>>/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/cc1 -E -quiet -v -D__unix__
>>-D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux -D__linux
>>-Asystem=unix -Asystem=posix a.c
>>ignoring nonexistent directory "/usr/powerpc/powerpc-linux/sys-include"
>>#include "..." search starts here:
>>#include <...> search starts here:
>>/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/include
>>/usr/powerpc/powerpc-linux/include
>>End of search list.
>># 1 "a.c"
>># 1 "<built-in>"
>># 1 "<command line>"
>># 1 "a.c"
>>    
>>
>
>
>  
>
>>/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/include
>>/usr/powerpc/powerpc-linux/include
>>    
>>
>だとglibcのincludeがパスに含まれていない気がするのですが,いかがでしょうか.
>
>/usr/powerpc/include をincludeしてくれないと,glibcの提供している
>includeファイルがincludeされないように思います.gccの提供しているヘッ
>ダだけをincludeしていて,glibcの提供しているヘッダをincludeしていない
>ことによる問題のように見受けます.
>  
>
いや、/usr/powerpc/powerpc-linux/include が、/usr/powerpc/include へのシ
ンボリックリンクに成っていますので、一応曲がりなりにも、
/usr/powerpc/include を読んでくれているようです。


#include_next <limits.h> の行が /usr/powerpc/include/limits.h には記述さ
れていますが、/usr/powerpc/lib/gcc-lib/powerpc-
linux/3.3.3/include/limits.h には無いのが気になり、/usr/powerpc/lib/gcc-
lib/powerpc-linux/3.3.3/include/limits.h のファイルの最後に、

#include_next <limits.h>

と記述したところ、次のようになりました。

$ /usr/powerpc/bin/powerpc-linux-cpp -v a.c
Reading specs from /usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/specs
Configured with: ../configure --prefix=/usr/powerpc
--exec-prefix=/usr/powerpc --target=powerpc-linux --enable-shared
--disable-nls --disable-multilib --enable-languages=c,c++,ada,f77,objc
Thread model: posix
gcc version 3.3.3 (Debian)
/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/cc1 -E -quiet -v -D__unix__
-D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux -D__linux
-Asystem=unix -Asystem=posix a.c
ignoring nonexistent directory "/usr/powerpc/powerpc-linux/sys-include"
#include "..." search starts here:
#include <...> search starts here:
/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/include
/usr/powerpc/powerpc-linux/include
End of search list.
# 1 "a.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "a.c"

# 1 "/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/include/limits.h" 1 3 4
# 110 "/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/include/limits.h" 3 4
# 1 "/usr/powerpc/powerpc-linux/include/limits.h" 1 3 4
# 26 "/usr/powerpc/powerpc-linux/include/limits.h" 3 4
# 1 "/usr/powerpc/powerpc-linux/include/features.h" 1 3 4
# 295 "/usr/powerpc/powerpc-linux/include/features.h" 3 4
# 1 "/usr/powerpc/powerpc-linux/include/sys/cdefs.h" 1 3 4
# 296 "/usr/powerpc/powerpc-linux/include/features.h" 2 3 4
# 318 "/usr/powerpc/powerpc-linux/include/features.h" 3 4
# 1 "/usr/powerpc/powerpc-linux/include/gnu/stubs.h" 1 3 4
# 319 "/usr/powerpc/powerpc-linux/include/features.h" 2 3 4
# 27 "/usr/powerpc/powerpc-linux/include/limits.h" 2 3 4
# 45 "/usr/powerpc/powerpc-linux/include/limits.h" 3 4
# 1 "/usr/powerpc/powerpc-linux/include/bits/wordsize.h" 1 3 4
# 46 "/usr/powerpc/powerpc-linux/include/limits.h" 2 3 4
# 144 "/usr/powerpc/powerpc-linux/include/limits.h" 3 4
# 1 "/usr/powerpc/powerpc-linux/include/bits/posix1_lim.h" 1 3 4
# 130 "/usr/powerpc/powerpc-linux/include/bits/posix1_lim.h" 3 4
# 1 "/usr/powerpc/powerpc-linux/include/bits/local_lim.h" 1 3 4
# 36 "/usr/powerpc/powerpc-linux/include/bits/local_lim.h" 3 4
# 1 "/usr/powerpc/powerpc-linux/include/linux/limits.h" 1 3 4
# 37 "/usr/powerpc/powerpc-linux/include/bits/local_lim.h" 2 3 4
# 131 "/usr/powerpc/powerpc-linux/include/bits/posix1_lim.h" 2 3 4
# 145 "/usr/powerpc/powerpc-linux/include/limits.h" 2 3 4



# 1 "/usr/powerpc/powerpc-linux/include/bits/posix2_lim.h" 1 3 4
# 149 "/usr/powerpc/powerpc-linux/include/limits.h" 2 3 4
# 111 "/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/include/limits.h" 2 3 4
# 3 "a.c" 2
main()
{
printf("%i\n", 4096);
}



何が原因だったかもあまり定かではありませんが、/usr/powerpc/powerpc-
linux/include/linux/limits.h の記述があることから、一応読んでくれている
ようです。

しかし、これでは、先の「おちゅ〜しゃ」パッケージをビルドしようと
~/ochusha/ochusha-0.5.8.2$ dpkg-buildpackage -apowerpc -rfakeroot
コマンドを実行しても、

(snip)
make[4]: Entering directory
`/home/nanashi/cross/cpp-test/ochusha/ochusha-0.5.8.2/libmodifiedghttp'
if /bin/sh ./libtool --tag=CC --mode=compile powerpc-linux-gcc
-DHAVE_CONFIG_H -I. -I. -I. -I/usr/local/include -Wall -g -O2 -MT
ghttp.lo -MD -MP -MF ".deps/ghttp.Tpo" -c -o ghttp.lo ghttp.c; \
then mv -f ".deps/ghttp.Tpo" ".deps/ghttp.Plo"; else rm -f
".deps/ghttp.Tpo"; exit 1; fi
mkdir .libs
powerpc-linux-gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/local/include -Wall
-g -O2 -MT ghttp.lo -MD -MP -MF .deps/ghttp.Tpo -c ghttp.c -fPIC -DPIC
-o .libs/ghttp.o
In file included from
/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/include/limits.h:110,
from /usr/powerpc/powerpc-linux/include/bits/socket.h:31,
from /usr/powerpc/powerpc-linux/include/sys/socket.h:35,
from http_trans.h:28,
from ghttp.c:31:
/usr/powerpc/powerpc-linux/include/limits.h:124:26: no include path in
which to find limits.h
make[4]: *** [ghttp.lo] エラー 1
make[4]: Leaving directory
`/home/nanashi/cross/cpp-test/ochusha/ochusha-0.5.8.2/libmodifiedghttp'
make[3]: *** [all] エラー 2
make[3]: Leaving directory
`/home/nanashi/cross/cpp-test/ochusha/ochusha-0.5.8.2/libmodifiedghttp'
make[2]: *** [all-recursive] エラー 1
make[2]: Leaving directory
`/home/nanashi/cross/cpp-test/ochusha/ochusha-0.5.8.2'
make[1]: *** [all] エラー 2
make[1]: Leaving directory
`/home/nanashi/cross/cpp-test/ochusha/ochusha-0.5.8.2'
make: *** [build-stamp] エラー 2
make: Leaving directory
`/home/nanashi/cross/cpp-test/ochusha/ochusha-0.5.8.2'


と、limits.h のエラーが出てしまい、やはりダメなようです。

やっぱり、/usr/powerpc/powerpc-linux/sys-include ディレクトリを何とか作
らないといけないのでしょうかね?
gcc-cross-3.3 パッケージの configure.in ファイルの中で sys-include ディ
レクトリ絡みの何かをやっているのは分かったのですが、肝心の「何をやってい
るか」が分からず、難儀しています。


----------
yama1066@xxxxxxxxxxxxxxx