Armadilloフォーラム

ATDE5上でgcc-4.9を使用してG1/G2のkernelをビルドする方法

intec_atird

2016年5月30日 16時17分

石田です。

お世話になります。

ATDE5にgcc-4.9を導入する以下の手順に従い、

Prepare your development environment)
-------------------------------------
https://github.com/Azure/azure-iot-sdks/blob/master/doc/get_started/deb…

gcc-4.6 -> gcc-4.9に更新して、kernelをビルドしようとしたのですが、
以下の通り、エラーになりました。

-----
・・・
CC loginutils/adduser.o
CC loginutils/chpasswd.o
CC loginutils/cryptpw.o
CC loginutils/deluser.o
CC loginutils/getty.o
CC loginutils/login.o
CC loginutils/passwd.o
loginutils/passwd.c: In function ‘passwd_main’:
loginutils/passwd.c:104:16: error: storage size of ‘rlimit_fsize’ isn’t known
loginutils/passwd.c:188:2: warning: implicit declaration of function ‘setrlimit’ [-Wimplicit-function-declaration]
loginutils/passwd.c:188:12: error: ‘RLIMIT_FSIZE’ undeclared (first use in this function)
loginutils/passwd.c:188:12: note: each undeclared identifier is reported only once for each function it appears in
loginutils/passwd.c:104:16: warning: unused variable ‘rlimit_fsize’ [-Wunused-variable]
make[4]: *** [loginutils/passwd.o] エラー 1
make[3]: *** [loginutils] エラー 2
make[3]: ディレクトリ `/home/atmark/work/atmark-dist-20160126/user/busybox/busybox-1.20.2' から出ます
make[2]: *** [build] エラー 2
make[2]: ディレクトリ `/home/atmark/work/atmark-dist-20160126/user/busybox' から出ます
make[1]: *** [all] エラー 2
make[1]: ディレクトリ `/home/atmark/work/atmark-dist-20160126/user' から出ます
make: *** [subdirs] エラー 1
-----

gcc-4.9でビルドする方法がございましたら、教えて頂けると助かります。

なお、/usr/binを見ると、

lrwxrwxrwx 1 root root 25 6月 20 2013 arm-linux-gnueabi-cpp -> arm-linux-gnueabi-cpp-4.6
lrwxrwxrwx 1 root root 25 6月 20 2013 arm-linux-gnueabi-g++ -> arm-linux-gnueabi-g++-4.6
lrwxrwxrwx 1 root root 25 6月 20 2013 arm-linux-gnueabi-gcc -> arm-linux-gnueabi-gcc-4.6
lrwxrwxrwx 1 root root 26 6月 20 2013 arm-linux-gnueabi-gcov -> arm-linux-gnueabi-gcov-4.6
lrwxrwxrwx 1 root root 30 6月 20 2013 arm-linux-gnueabi-gfortran -> arm-linux-gnueabi-gfortran-4.6

となっています。gcc-4.9でkernelをビルドする際は、明示的にgcc-4.9を
使用するようにシンボリックリンクを張り替える必要がありますでしょうか?

宜しくお願い致します。

コメント

at_yuma.arakawa

2016年5月31日 13時44分

> となっています。gcc-4.9でkernelをビルドする際は、明示的にgcc-4.9を
> 使用するようにシンボリックリンクを張り替える必要がありますでしょうか?

「3.1 Build SDK and sample with ATDE」に以下の手順があり、
「4.9」を指定しているため、シンボリックリンクの張り替えは不要かと思います。
> Edit/Create the following file using any text editor of your choice (this file is necessary to cross build the SDK):
>
> azure-iot-sdks/c/build_all/linux/toolchain-armadillo.cmake
>
> Insert the following lines to the file:
>
> INCLUDE(CMakeForceCompiler)
> SET(CMAKE_SYSTEM_NAME Linux)
> SET(CMAKE_SYSTEM_VERSION 1)
> SET(CMAKE_C_COMPILER /usr/bin/arm-linux-gnueabi-gcc-4.9)
> SET(CMAKE_CXX_COMPILER /usr/bin/arm-linux-gnueabi-g++-4.9)

もしmake時のログに「4.6」が現れているのであれば、
上記の手順をお忘れでは無いでしょうか?

intec_atird

2016年6月7日 17時00分

情報ありがとうございます。

なお、都合、本質問事項を取り下げます。