Amazon Kinesis Video Streams のセットアップ(Ubuntu編)

Amazon Kinesis Video Streams Producer SDK for C++

関連パッケージをインストール

$ sudo apt-get install git cmake libtool libtool-bin automake g++ curl pkg-config flex bison openjdk-8-jdk

環境変数を設定

$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

AWSの証明書を格納

$ wget https://www.amazontrust.com/repository/SFSRootCAG2.pem
$ ls /etc/ssl
certs openssl.cnf private
$ sudo cp -p SFSRootCAG2.pem /etc/ssl/cert.pem

SDKをインストール

$ git clone https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp
$ cd amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build
$ chmod +x install-script
$ ./install-script
$ rm -rf CMakeCache.txt CMakeFiles
$ ./install-script

テストプログラムを実行

$ ./start

opensslのエラー

$ ./start
./start: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

opensslが古いので最新版をインストール

$ sudo apt-get install openssl
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
openssl はすでに最新バージョン (1.0.2g-1ubuntu13.3) です。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。

aptでアップデート出来ないので仕方なく手動でインストールします。GitHubのガイド に沿って実行。

$ wget https://www.openssl.org/source/openssl-1.1.0g.tar.gz
$ tar xzvf openssl-1.1.0g.tar.gz
$ cd openssl-1.1.0g
$ ./config
$ make
$ make test
$ sudo make install
$ openssl version
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

ところがエラー。

libssl.so.1.1 は /usr/local/lib に出来上がっていますが、ここにパスが通っていないので通します。

$ ls -l /usr/local/lib
合計 9156
drwxr-xr-x 2 root root 4096 3月 10 11:52 engines-1.1
-rw-r--r-- 1 root root 5073780 3月 10 11:52 libcrypto.a
lrwxrwxrwx 1 root root 16 3月 10 11:52 libcrypto.so -> libcrypto.so.1.1
-rwxr-xr-x 1 root root 2967904 3月 10 11:52 libcrypto.so.1.1
-rw-r--r-- 1 root root 781454 3月 10 11:52 libssl.a
lrwxrwxrwx 1 root root 13 3月 10 11:52 libssl.so -> libssl.so.1.1
-rwxr-xr-x 1 root root 528936 3月 10 11:52 libssl.so.1.1
drwxr-xr-x 2 root root 4096 3月 10 11:52 pkgconfig
drwxrwsr-x 4 root staff 4096 3月 10 11:33 python2.7
drwxrwsr-x 3 root staff 4096 1月 6 05:35 python3.6
$ env | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ export LD_LIBRARY_PATH=/usr/local/lib
$ openssl version
OpenSSL 1.1.0g 2 Nov 2017

これでopensslの最新版がちゃんとインストールされたと思われます。

$ rm downloads/local/lib/libcurl*
$ rm downloads/local/bin/curl*
$ cd downloads/curl-7.57.0/
$ export DOWNLOADS=/home/ubu/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads
$ make clean
$ ./configure --prefix=$DOWNLOADS/local/ --enable-dynamic --disable-rtsp --disable-ldap --without-zlib --with-ssl=$DOWNLOADS/local/ --with-ca-bundle=/etc/ssl/cert.pem
$ make
$ make install

テストプログラムを再度実行します。

$ ./start

今度は libssl.so.1.1 を開けないというエラーは解消されました。

今回のUbuntu環境はWindows用VMware Workstation 14 Playerの上のゲストOSで、カメラも付けていないため、./startを実行しても何やらAWSに映像をアップロードしようとするログが標準出力に出続けるところまでしか確認できませんが、おそらくこれで環境は一通り整ったのだと思います。

コメントを残す