第三方依賴安裝指導(C++樣例)
前置條件
1. 按照官方指導文檔完成CANN包安裝。
2. CANN版本需要>=5.0.4.alpha001,低于此版本請參見昇騰CANN樣例倉介紹中的版本說明切換tag并使用發行版。
安裝須知
samples倉中的部分c++樣例使用到opencv,ffmpeg等第三方依賴進行圖像等處理,所以需要在運行之前,根據本文指導安裝第三方依賴并進行環境配置。
開發環境及運行環境說明如下:
- 運行環境: 運行環境指可運行算子、推理或訓練等程序的環境,運行環境必須帶昇騰AI處理器的設備。
- 開發環境: 可用于代碼開發、調試、編譯等開發活動。該環境可以是帶昇騰AI處理器的設備,也可以是其他滿足CANN軟件安裝的環境。
昇騰AI設備安裝開發環境,同時將此環境作為運行環境的samples相關依賴安裝 (推薦)
以下指導以普通用戶HwHiAiUser安裝CANN包為例說明;如果是root用戶,請將安裝準備中所有的${HOME}修改為/usr/local。
安裝準備
請執行以下命令進行安裝準備
# 以安裝用戶在任意目錄下執行以下命令,打開.bashrc文件。
vi ~/.bashrc
# 在文件最后一行后面添加如下內容。
export CPU_ARCH=`arch`
export THIRDPART_PATH=${HOME}/Ascend/thirdpart/${CPU_ARCH} #代碼編譯時鏈接samples所依賴的相關庫文件
export LD_LIBRARY_PATH=${THIRDPART_PATH}/lib:$LD_LIBRARY_PATH #運行時鏈接庫文件
export INSTALL_DIR=${HOME}/Ascend/ascend-toolkit/latest #CANN軟件安裝后的文件存儲路徑,根據安裝目錄自行修改
# 執行命令保存文件并退出。
:wq!
# 執行命令使其立即生效。
source ~/.bashrc
# 創建第samples相關依賴文件夾
mkdir -p ${THIRDPART_PATH}
# 下載源碼并安裝git
cd ${HOME}
sudo apt-get install git
git clone https://gitee.com/ascend/samples.git
# 拷貝公共文件到samples相關依賴路徑中
cp -r ${HOME}/samples/common ${THIRDPART_PATH}
如果是200DK場景還需要執行以下命令拷貝media_mini等so文件以及相關頭文件,滿足攝像頭樣例編譯需要。
mkdir -p ${INSTALL_DIR}/driver
cp /usr/lib64/libmedia_mini.so ${INSTALL_DIR}/driver/
cp /usr/lib64/libslog.so ${INSTALL_DIR}/driver/
cp /usr/lib64/libc_sec.so ${INSTALL_DIR}/driver/
cp /usr/lib64/libmmpa.so ${INSTALL_DIR}/driver/
cp /usr/local/Ascend/include/peripheral_api.h ${INSTALL_DIR}/driver/
安裝過程
安裝opencv
執行以下命令安裝opencv,如果代碼中并沒有使用opencv相關功能及函數,可以跳過此步驟(注:請確保安裝的版本是3.x)。
sudo apt-get install libopencv-dev
安裝ffmpeg及x246插件
執行以下命令源碼安裝ffmpeg,由于apt安裝的ffmpeg版本較低,所以需要源碼安裝。源碼安裝ffmpeg主要是為了acllite庫的安裝,如果代碼中并沒有使用ffmpeg或acllite,可以跳過此步驟。
# 下載x264
cd ${HOME}
git clone https://code.videolan.org/videolan/x264.git
cd x264
# 安裝x264
./configure --enable-shared --disable-asm
make
sudo make install
sudo cp /usr/local/lib/libx264.so.164 /lib
# 下載ffmpeg
cd ${HOME}
wget http://www.ffmpeg.org/releases/ffmpeg-4.1.3.tar.gz --no-check-certificate
tar -zxvf ffmpeg-4.1.3.tar.gz
cd ffmpeg-4.1.3
# 安裝ffmpeg
./configure --enable-shared --enable-pic --enable-static --disable-x86asm --enable-libx264 --enable-gpl --prefix=${THIRDPART_PATH}
make -j8
make install
安裝acllite庫
執行以下命令安裝acllite(注意,安裝前需要先進行ffmpeg的源碼安裝)。如果代碼中并沒有使用acllite庫相關功能及函數,可以跳過此步驟。
# 編譯并安裝acllite
cd ${HOME}/samples/cplusplus/common/acllite/
make
make install
安裝presentagent
執行以下命令源碼安裝protobuf及presentagent。如果代碼中并沒有使用presentagent相關功能及函數,可以跳過此步驟。
開始安裝protobuf及presentagent。
# 安裝protobuf相關依賴
sudo apt-get install autoconf automake libtool
# 下載protobuf源碼
cd ${HOME}
git clone -b 3.13.x https://gitee.com/mirrors/protobufsource.git protobuf
# 編譯安裝protobuf
cd protobuf
./autogen.sh
./configure --prefix=${THIRDPART_PATH}
make clean
make -j8
sudo make install
# 進入presentagent源碼目錄并編譯
cd ${HOME}/samples/cplusplus/common/presenteragent/proto
${THIRDPART_PATH}/bin/protoc presenter_message.proto --cpp_out=./
# 開始編譯presentagnet
cd ..
make -j8
make install