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

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



山本です。有難う御座います。


Junichi Uekawa wrote

>limits.h の中で #include-next <limits.h> とかやっているので,
>順番に読むはずです.
>
>cpp -v a.c 
>だとどうですか?
>  
>
早速、やってみました。
まず、クロスコンパイラの cpp: /usr/powerpc/bin/powerpc-linux-cpp にて $
/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
# 3 "a.c" 2
main()
{
printf("%i\n", 4096);
}

----------
"ignoring nonexistent directory
"/usr/powerpc/powerpc-linux/sys-include"" と出ているので該当パスを探しま
したが、/usr/powerpc/powerpc-linux/ 以下にはそのようなディレクトリ、ファ
イル、共に有りません。

> /usr/local/include
> /usr/lib/gcc/x86_64-linux-gnu/4.0.3/include
> /usr/include
>のようになっていて,/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/limits.h
>をinclude したあとは
>
>syslimits.hにて
>#define _GCC_NEXT_LIMITS_H              /* tell gcc's limits.h to recurse */
>#include_next <limits.h>
>#undef _GCC_NEXT_LIMITS_H
>
>のようになっているはずの気がします.
>  
>
crossdir (= /usr/powerpc) 以下には local ディレクトリは無く、include
ディレクトリは全部で、
/usr/powerpc/include
/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/install-tools/include
(gcc-3.3-powerpc パッケージ)
/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/include (gobjc-3.3-powerpc,
gcc-3.3-powerpc, g77-3.3-powerp パッケージ)
/usr/powerpc/lib/glib-2.0/include (libglib2.0-dev-powerpc-cross パッケージ)
/usr/powerpc/lib/gtk-2.0/include (libgtk2.0-dev-powerpc-cross パッケージ)
/usr/powerpc/powerpc-linux/include (/usr/powerpc/include へのシンボリッ
クリンク)
のみです。

syslimits.h は
/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/include/syslimits.h に有
り、その内容は
----------
/* syslimits.h stands for the system's own limits.h file.
If we can use it ok unmodified, then we install this text.
If fixincludes fixes it, then the fixed version is installed
instead of this text. */

#define _GCC_NEXT_LIMITS_H /* tell gcc's limits.h to recurse */
#include_next <limits.h>
#undef _GCC_NEXT_LIMITS_H

----------
となっております。


#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/install-tools/include/limits.h
/usr/powerpc/include/linux/limits.h には有りません。

セルフコンパイル環境には記述が有る、#include_next <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/install-tools/include/limits.h
には無いことが気になります。

>gccをビルドするときにglibcのヘッダをうまく認識できていなかったか?
>  
>

最後にコンパイラコンパイラである、gcc-boot-3.3-powerpc パッケージについ
てもインストールし直し、 $ /usr/powerpc/bin/powerpc-linux-cpp -v a.c を
してみましたので、その結果を付けておきます。
----------
/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/specs から spec を読み込み中
コンフィグオプション: ./configure --prefix=/usr
--exec-prefix=/usr/powerpc --target=powerpc-linux --disable-shared
--enable-languages=c --enable-threads=single
スレッドモデル: single
gcc バージョン 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
存在しないディレクトリ "/usr/powerpc/powerpc-linux/sys-include" を無視します
#include "..." の探索はここから始まります:
#include <...> の探索はここから始まります:
/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/include
/usr/powerpc/powerpc-linux/include
探索リストの終わり
# 1 "a.c"
# 1 "<built-in>"
# 1 "<\245\263\245\336\245\363\245\311\245\351\245\244\245\363>"
# 1 "a.c"

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


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