1. 程式人生 > 其它 >Arm-linux64位系統性下編譯OSS_C_SDK

Arm-linux64位系統性下編譯OSS_C_SDK

系統: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