From 08b5bef611646496843f03069a5e2ff5dc2e7e55 Mon Sep 17 00:00:00 2001 From: alvin1221 Date: Mon, 22 Nov 2021 19:13:06 +0800 Subject: [PATCH] Add package.sh; Fix build openssl by source code; --- .github/dockerfile/Dockerfile | 5 +++- .gitignore | 1 + install-libs.sh | 3 ++- package.sh | 49 ++++++++++++++++++++++++++++++----- 4 files changed, 49 insertions(+), 9 deletions(-) mode change 100644 => 100755 package.sh diff --git a/.github/dockerfile/Dockerfile b/.github/dockerfile/Dockerfile index 39df1382..1293f9b7 100644 --- a/.github/dockerfile/Dockerfile +++ b/.github/dockerfile/Dockerfile @@ -3,7 +3,8 @@ FROM ubuntu:18.04 RUN apt-get update -y \ && apt-get install -y curl wget vim unzip make ninja-build \ g++ gcc gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu \ - libssl-dev libghc-zlib-dev libcurl4-gnutls-dev libexpat1-dev gettext + libssl-dev libghc-zlib-dev libcurl4-gnutls-dev libexpat1-dev gettext \ + pkg-config COPY install-libs.sh install-libs.sh @@ -31,3 +32,5 @@ RUN ./install-libs.sh -a -c -p arm-linux-gnueabihf -s armv4 RUN apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN ldconfig diff --git a/.gitignore b/.gitignore index 4099da0a..91fef3c8 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,6 @@ build compile_commands.json .vscode *.log +*.tar.gz ft/reports __pycache__ \ No newline at end of file diff --git a/install-libs.sh b/install-libs.sh index e7967355..d2784a0b 100755 --- a/install-libs.sh +++ b/install-libs.sh @@ -151,7 +151,7 @@ function build_yaml() { rm -rf build mkdir build cd build - cmake -G Ninja -DBUILD_SHARED_LIBS=OFF ${compiler_opt} ${install_opt} .. + cmake -G Ninja -DBUILD_SHARED_LIBS=ON ${compiler_opt} ${install_opt} .. ninja ninja install @@ -229,6 +229,7 @@ function build_openssl() { make clean make make install + make clean cd ../ else diff --git a/package.sh b/package.sh old mode 100644 new mode 100755 index c17f27c0..215d948a --- a/package.sh +++ b/package.sh @@ -1,24 +1,59 @@ #!/bin/bash -package_name= +set -euo -if [ $# -ge 1 ];then - package_name=$1 -else - package_name=neuron -fi +lib_path=/usr/local/lib +arch=x86_64-linux-gnu +package_name=neuron + +function usage() { + echo "Usage: $0 " + echo "-n package name [default: ${package_name}]" + echo "-p target platform compiler prefix (opts: x86_64-linux-gnu, arm-linux-gnueabihf, aarch64-linux-gnu, ...)[default: x86_64-linux-gnu]" +} + +while getopts "p:n:h-:" OPT; do + case ${OPT} in + p) + arch=$OPTARG + ;; + n) + package_name=$OPTARG + ;; + h) + usage + exit 0 + ;; + \?) + usage + exit 1 + ;; + esac +done if [ ! -d $package_name ];then mkdir -p $package_name +else + rm -rf ${package_name}/* fi +case "$arch" in + "arm-linux-gnueabihf") lib_path="/opt/externs/libs/arm-linux-gnueabihf/lib" + ;; + "aarch64-linux-gnu") lib_path="/opt/externs/libs/aarch64-linux-gnu/lib" + ;; +esac + +cp ${lib_path}/libyaml.so ${package_name}/ + cp build/lib*.so \ build/neuron \ build/neuron.yaml \ build/plugin_param_schema.json \ - $package_name/ + ${package_name}/ tar czf ${package_name}.tar.gz ${package_name}/ +ls ${package_name} rm -rf ${package_name} echo "${package_name}.tar.gz"