修改依赖安装脚本

This commit is contained in:
haotian 2026-02-26 23:03:48 +08:00
parent 9c2c4bdda5
commit c26909a241

View File

@ -87,21 +87,31 @@ echo -e "${YELLOW}[2/4] 安装 Rockchip MPP...${NC}"
cd "$PROJECT_DIR/third_party/mpp"
# 创建缺失的 version 文件
# 创建完整的 version.h 文件
mkdir -p build/cmake mpp
if [ ! -f "build/cmake/version.in" ]; then
cat > build/cmake/version.in << 'EOF'
cat > mpp/version.h << 'EOF'
#ifndef MPP_VERSION_H
#define MPP_VERSION_H
#define MPP_VERSION "1.0.0"
#define MPP_GIT_VERSION "unknown"
#define MPP_GIT_BRANCH "master"
#define MPP_BUILD_TIME "unknown"
#define MPP_VER_HIST_CNT 10
#define MPP_VER_HIST_0 "unknown"
#define MPP_VER_HIST_1 "unknown"
#define MPP_VER_HIST_2 "unknown"
#define MPP_VER_HIST_3 "unknown"
#define MPP_VER_HIST_4 "unknown"
#define MPP_VER_HIST_5 "unknown"
#define MPP_VER_HIST_6 "unknown"
#define MPP_VER_HIST_7 "unknown"
#define MPP_VER_HIST_8 "unknown"
#define MPP_VER_HIST_9 "unknown"
#endif
EOF
fi
if [ ! -f "mpp/version.h" ]; then
cp build/cmake/version.in mpp/version.h
fi
# 编译安装
mkdir -p build
@ -119,24 +129,33 @@ ldconfig
echo -e "${GREEN}${NC} MPP 安装完成"
# ============================================
# 3. RKNN Runtime (项目自带)
# 3. RKNN Runtime
# ============================================
echo -e "${YELLOW}[3/4] 安装 RKNN Runtime...${NC}"
cd "$PROJECT_DIR/third_party/rknpu2"
# 查找 runtime 目录
if [ -d "runtime/RK3588/Linux/aarch64" ]; then
echo " 安装 RKNN 库..."
cp runtime/RK3588/Linux/aarch64/*.so /usr/lib/ 2>/dev/null || true
cp runtime/RK3588/Linux/aarch64/librknn* /usr/lib/ 2>/dev/null || true
# 优先使用下载的 rknpu2-1.5.2.zip
if [ -f "/tmp/rknpu2-1.5.2.zip" ]; then
echo " 使用下载的 rknpu2-1.5.2.zip"
cd /tmp
unzip -q -o rknpu2-1.5.2.zip 2>/dev/null || unzip -q -o rknpu2-1.6.0_arm64.deb.zip 2>/dev/null || true
if [ -d "runtime/RK3588/Linux/aarch64/include" ]; then
cp -r runtime/RK3588/Linux/aarch64/include/* /usr/include/ 2>/dev/null || true
# 查找解压后的目录
RKNPU_DIR=$(find /tmp -maxdepth 1 -type d -name "rknpu*" | head -1)
if [ -n "$RKNPU_DIR" ] && [ -d "$RKNPU_DIR/runtime/RK3588/Linux/aarch64" ]; then
echo " 安装 RKNN 库..."
cp "$RKNPU_DIR/runtime/RK3588/Linux/aarch64/"*.so /usr/lib/ 2>/dev/null || true
cp -r "$RKNPU_DIR/runtime/RK3588/Linux/librknn_api/include/"* /usr/include/ 2>/dev/null || true
fi
else
echo -e "${YELLOW}警告: 未找到标准 runtime 目录结构,尝试其他路径...${NC}"
find . -name "*.so" -type f -exec cp {} /usr/lib/ \; 2>/dev/null || true
# 使用项目自带的(仅头文件,库需要系统安装)
echo " 使用项目自带的 RKNPU2 头文件..."
if [ -d "$PROJECT_DIR/third_party/rknpu2/runtime/RK3588/Linux/librknn_api/include" ]; then
cp -r "$PROJECT_DIR/third_party/rknpu2/runtime/RK3588/Linux/librknn_api/include/"* /usr/include/ 2>/dev/null || true
fi
echo -e "${YELLOW}警告: 未找到预编译库,尝试安装系统版本...${NC}"
# 尝试安装系统版本作为后备
apt-get install -y librknn-runtime librknn-dev 2>/dev/null || true
fi
ldconfig