LoginSignup
0
1

More than 5 years have passed since last update.

AWS SDK for C++をラズパイでビルドしたら24時間掛かった件

Last updated at Posted at 2018-08-11

2018/08/09現在のAWS SDK for C++をRaspberry Pi 3Bでビルドした。
以下のURLに記載の通り、cmakeをやってmakeをやればOKと言う訳には行かなかったので共有する。

大きな問題点は「メモリが足りない」こと。
とにかく巨大なソースファイルが存在するため、それをコンパイルするためのメモリが全然足りない。
そして、SDメモリにスワップすると、ほぼハングアップ状態になるので実質使えない。

そこでやったことは以下の2つ。

  • SDメモリのスワップファイルは止め、USB HDDにスワップファイルを作成する。
  • スワップが発生しても耐えられるように巨大なソースファイルは分割する。

USB HDDには2GBのスワップファイルを作成した。

# swapoff /var/swap
# dd if=/dev/zero of=/media/pi/here-is-usb-hdd-mount-point/swapfile bs=1M count=2048
# mkswap /media/pi/here-is-usb-hdd-mount-point/swapfile
# swapon /media/pi/here-is-usb-hdd-mount-point/swapfile

以下のソースコードを概ね等分となるように分割した。

ソースコード 行数 分割数
aws-cpp-sdk-apigateway/source/APIGatewayClient.cpp 4721 2
aws-cpp-sdk-cognito-idp/source/CognitoIdentityProviderClient.cpp 3514 2
aws-cpp-sdk-ec2/source/EC2Client.cpp 9961 4
aws-cpp-sdk-iam/source/IAMClient.cpp 4679 2
aws-cpp-sdk-iot/source/IoTClient.cpp 5513 2
aws-cpp-sdk-rds/source/RDSClient.cpp 3466 2
aws-cpp-sdk-ssm/source/SSMClient.cpp 3802 2

あとはAWSのドキュメントの通り、cmakeをやってmakeをやればビルドが完了できる。
ただし、24時間ほど掛かるのでそのつもりで作業して欲しい。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1