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

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



こんにちは、山本です。


>#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)
>
>と、limits.h のエラーが出てしまい、やはりダメなようです。
>  
>


あれから、上記の方法を何とか使えないかと思い、セルフビルド環境の
/usr/lib/gcc-lib/i486-linux/3.3.5/include/limits.h の記述を参考にしなが
ら、/usr/powerpc/lib/gcc-lib/powerpc- linux/3.3.3/include/limits.h を色
々と書き換えて試しましたところ、以下のように記述すれば cpp、dpkg-
buildpackage 共に問題無く動くことが分かりましたので、書いておきます。


まず、/usr/powerpc/lib/gcc-lib/powerpc-linux/3.3.3/include/limits.h の冒
頭部分に

#ifndef _GCC_LIMITS_H_
#define _GCC_LIMITS_H_
#ifndef _LIBC_LIMITS_H_
#include "syslimits.h"
#endif

と書き足し、この #ifndef に相当する #endif を最後の部分に

#else
#ifdef _GCC_NEXT_LIMITS_H
#include_next <limits.h>
#endif
#endif

と書き足してやれば、どうやら良いようです。
これであっていますかね?

大変有難う御座いました。
あと、最初のメールで申し上げた第三の質問、dh_shlibdeps コマンドに関する
情報が何かあれば幸いです。


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