Arm-linux64位系統性下編譯OSS_C_SDK
阿新 • • 發佈:2020-12-16
系統:aarch64 GNU/Linux & Linux version 4.9.140-tegra
硬體:Xavier
軟體:cuda10.2
1、安裝curl
wget http://curl.haxx.se/download/curl-7.20.0.tar.gz
tar xzvf curl-7.20.0.tar.gz
cd curl-7.20.0
./configure --prefix=/usr/local/curl
make
make install
2、安裝apr
wget https://mirror.bit.edu.cn/apache//apr/apr-1.7.0.tar.gz
tar xzvf apr-1.7.0.tar.gz
cd apr-1.7.0/
./configure –prefix=/usr/local/apr-1
make
make install
3、安裝expat
https://sourceforge.net/projects/expat/files/expat/
tar vxf expat-2.2.5.tar
cd expat-2.2.5
./configure --prefix=/usr/local/expat
make
make install
4、安裝apr-util
git clone https://github.com/Distrotech/apr-util.git
cd apr-util/
./configure –prefix= /usr/local/apr-util
make
make install
5、安裝libmxml
wget --quiet https://github.com/michaelrsweet/mxml/releases/download/release-2.9/mxml-2.9.tar.gz
tar xzvf mxml-2.9.tar.gz
cd mxml-2.9
./configure --prefix=/usr/local/libmxml
make
make install
6、編譯oss_c_sdk
下載:
git clone https://github.com/aliyun/aliyun-oss-c-sdk.git
sudo apt-get install libcurl4-openssl-dev libapr1-dev libaprutil1-dev libmxml-dev
(1)修改CMakeLists.txt檔案:
SET(CMAKE_SYSTEM_NAME Linux) SET(TOOLCHAIN_DIR "/usr/bin")
SET(CMAKE_SYSTEM_PROCESSOR MIPS) SET(CMAKE_FIND_ROOT_PATH ${TOOLCHAIN_DIR})
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
SET(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
SET(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
注意:我的"aarch64-linux-gnu-gcc"和"aarch64-linux-gnu-g++"在
"/usr/bin"下,讀者可根據自己的情況更改。
(2)更改CMakeLists.txt檔案apr-1、apr-util和curl配置的檢索路徑:
FIND_PROGRAM(APR_CONFIG_BIN NAMES apr-config apr-1-config PATHS /usr/local/apr-1/bin /usr/local/bin /usr/local/apr/bin/)
FIND_PROGRAM(APU_CONFIG_BIN NAMES apu-config apu-1-config PATHS /usr/local/apr-util/bin /usr/local/bin /usr/local/apr/bin/)
FIND_PROGRAM(CURL_CONFIG_BIN NAMES curl-config PATHS /usr/local/curl/bin /usr/local/bin /usr/local/curl/bin/)
(3)註釋掉CMakeLists.txt檔案的最後兩行,這兩行是編譯oss_c_sdk_sample和oss_c_sdk_test.
#add_subdirectory(oss_c_sdk_sample)
#add_subdirectory(oss_c_sdk_test)
(4)編譯oss
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/oss_c_sdk -DCURL_INCLUDE_DIR=/usr/local/curl/include/ -DCURL_LIBRARY=/usr/local/curl/lib/libcurl.a -DAPR_INCLUDE_DIR=/usr/local/apr-1/include/apr-1/ -DAPR_LIBRARY=/usr/local/apr-1/lib/libapr-1.a -DAPR_UTIL_INCLUDE_DIR=/usr/local/apr-util/include/apr-1 -DAPR_UTIL_LIBRARY=/usr/local/apr-util/lib/libaprutil-1.a -DMINIXML_INCLUDE_DIR=/usr/local/libmxml/include/ -DMINIXML_LIBRARY=/usr/local/libmxml/lib/libmxml.a -DPTHREAD_LIBRARY=/usr/aarch64-linux-gnu-gcc/lib/libpthread.a -DM_LIBRARY=/usr/aarch64-linux-gnu-gcc/lib/libm.a -DRT_LIBRARY=/usr/aarch64-linux-gnu-gcc/lib/librt.a -DAPU_CONFIG_BIN=/usr/bin/apu-1-config
make
make install