Skip to content

Commit 18c4d83

Browse files
committed
works
1 parent fc0bb78 commit 18c4d83

1 file changed

Lines changed: 105 additions & 0 deletions

File tree

Dockerfile

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,111 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
4444
apt-get autoremove -y && apt-get clean && \
4545
rm -rf /var/lib/apt/lists/* /tmp/*
4646

47+
# Install Hik MVS runtime SDK and its runtime dependencies
48+
RUN apt-get update && apt-get install -y --no-install-recommends \
49+
libbz2-1.0 \
50+
libgcc-s1 \
51+
libstdc++6 \
52+
libudev1 \
53+
libusb-1.0-0 \
54+
zlib1g && \
55+
apt-get autoremove -y && apt-get clean && \
56+
rm -rf /var/lib/apt/lists/* /tmp/* && \
57+
set -eux; \
58+
case "${TARGETARCH}" in \
59+
amd64) arch_tag=x86_64; arch_dir=64 ;; \
60+
arm64) arch_tag=aarch64; arch_dir=aarch64 ;; \
61+
*) echo "unsupported TARGETARCH: ${TARGETARCH}" >&2; exit 1 ;; \
62+
esac; \
63+
download_url="https://github.com/Alliance-Algorithm/hik-mvs/releases/latest/download/mvs-sdk-${arch_tag}.tar.gz"; \
64+
mkdir -p /tmp/mvs-src \
65+
"/opt/mvs-usb3-core/lib/${arch_dir}" \
66+
/opt/mvs-usb3-core/lib/cmake/MVSUSB3Core \
67+
/opt/mvs-usb3-core/include \
68+
/usr/local/bin; \
69+
curl -fsSL -o /tmp/mvs.tar.gz "${download_url}"; \
70+
tar -xzf /tmp/mvs.tar.gz -C /tmp/mvs-src; \
71+
cp -a "/tmp/mvs-src/lib/${arch_dir}/." "/opt/mvs-usb3-core/lib/${arch_dir}/"; \
72+
cp -a /tmp/mvs-src/include/. /opt/mvs-usb3-core/include/; \
73+
rm -f "/opt/mvs-usb3-core/lib/${arch_dir}/libusb-1.0.so.0"; \
74+
case "${TARGETARCH}" in \
75+
amd64) \
76+
rm -f \
77+
"/opt/mvs-usb3-core/lib/${arch_dir}/libCLAllSerial_gcc485_v3_0.so" \
78+
"/opt/mvs-usb3-core/lib/${arch_dir}/libCLProtocol_gcc485_v3_0.so" \
79+
"/opt/mvs-usb3-core/lib/${arch_dir}/libCLSerCOM.so" \
80+
"/opt/mvs-usb3-core/lib/${arch_dir}/libCLSerHvc.so" \
81+
"/opt/mvs-usb3-core/lib/${arch_dir}/libGCBase_gcc485_v3_0.so" \
82+
"/opt/mvs-usb3-core/lib/${arch_dir}/libGenCP_gcc485_v3_0.so" \
83+
"/opt/mvs-usb3-core/lib/${arch_dir}/liblog4cpp_gcc485_v3_0.so" \
84+
"/opt/mvs-usb3-core/lib/${arch_dir}/libLog_gcc485_v3_0.so" \
85+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMvCameraControlWrapper.so" \
86+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMvCameraControlWrapper.so.4.7.0.1" \
87+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMvCamLVision.so" \
88+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMvCamLVision.so.4.7.0.3" \
89+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMVGigEVisionSDK.so" \
90+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMVGigEVisionSDK.so.4.7.1.1" \
91+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMVFGControl.so" \
92+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMvProducerVIR.so" \
93+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMvLCProducer.so" \
94+
"/opt/mvs-usb3-core/lib/${arch_dir}/MvLCProducer.so" \
95+
"/opt/mvs-usb3-core/lib/${arch_dir}/MvProducerGEV.cti" \
96+
"/opt/mvs-usb3-core/lib/${arch_dir}/MvFGProducerCML.cti" \
97+
"/opt/mvs-usb3-core/lib/${arch_dir}/MvFGProducerCXP.cti" \
98+
"/opt/mvs-usb3-core/lib/${arch_dir}/MvFGProducerGEV.cti" \
99+
"/opt/mvs-usb3-core/lib/${arch_dir}/MvFGProducerXoF.cti"; \
100+
;; \
101+
arm64) \
102+
rm -f \
103+
"/opt/mvs-usb3-core/lib/${arch_dir}/libCLAllSerial_gcc494_v3_0.so" \
104+
"/opt/mvs-usb3-core/lib/${arch_dir}/libCLProtocol_gcc494_v3_0.so" \
105+
"/opt/mvs-usb3-core/lib/${arch_dir}/libCLSerCOM.so" \
106+
"/opt/mvs-usb3-core/lib/${arch_dir}/libGCBase_gcc494_v3_0.so" \
107+
"/opt/mvs-usb3-core/lib/${arch_dir}/libGenCP_gcc494_v3_0.so" \
108+
"/opt/mvs-usb3-core/lib/${arch_dir}/liblog4cpp_gcc494_v3_0.so" \
109+
"/opt/mvs-usb3-core/lib/${arch_dir}/libLog_gcc494_v3_0.so" \
110+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMvCameraControlWrapper.so" \
111+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMvCameraControlWrapper.so.4.7.0.1" \
112+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMvCamLVision.so" \
113+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMvCamLVision.so.4.7.0.3" \
114+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMVGigEVisionSDK.so" \
115+
"/opt/mvs-usb3-core/lib/${arch_dir}/libMVGigEVisionSDK.so.4.7.1.1" \
116+
"/opt/mvs-usb3-core/lib/${arch_dir}/MvProducerGEV.cti"; \
117+
;; \
118+
*) echo "unsupported TARGETARCH: ${TARGETARCH}" >&2; exit 1 ;; \
119+
esac; \
120+
rm -rf /var/lib/apt/lists/* /tmp/mvs-src /tmp/mvs.tar.gz; \
121+
cmake_dir=/opt/mvs-usb3-core/lib/cmake/MVSUSB3Core; \
122+
<<EOF cat > "${cmake_dir}/MVSUSB3CoreConfig.cmake"
123+
get_filename_component(MVSUSB3Core_ROOT "\${CMAKE_CURRENT_LIST_DIR}/../../.." ABSOLUTE)
124+
125+
set(MVSUSB3Core_INCLUDE_DIR "\${MVSUSB3Core_ROOT}/include")
126+
set(MVSUSB3Core_INCLUDE_DIRS "\${MVSUSB3Core_INCLUDE_DIR}")
127+
set(MVSUSB3Core_LIBRARY_DIR "\${MVSUSB3Core_ROOT}/lib/${arch_dir}")
128+
set(MVSUSB3Core_LIBRARY "\${MVSUSB3Core_LIBRARY_DIR}/libMvCameraControl.so")
129+
set(MVSUSB3Core_LIBRARIES "\${MVSUSB3Core_LIBRARY}")
130+
131+
if(NOT EXISTS "\${MVSUSB3Core_INCLUDE_DIR}/MvCameraControl.h")
132+
set(MVSUSB3Core_FOUND FALSE)
133+
message(FATAL_ERROR "MVSUSB3Core headers not found under \${MVSUSB3Core_INCLUDE_DIR}")
134+
endif()
135+
136+
if(NOT EXISTS "\${MVSUSB3Core_LIBRARY}")
137+
set(MVSUSB3Core_FOUND FALSE)
138+
message(FATAL_ERROR "MVSUSB3Core library libMvCameraControl.so not found under \${MVSUSB3Core_LIBRARY_DIR}")
139+
endif()
140+
141+
if(NOT TARGET MVSUSB3Core::MVSUSB3Core)
142+
add_library(MVSUSB3Core::MVSUSB3Core SHARED IMPORTED GLOBAL)
143+
set_target_properties(MVSUSB3Core::MVSUSB3Core PROPERTIES
144+
IMPORTED_LOCATION "\${MVSUSB3Core_LIBRARY}"
145+
INTERFACE_INCLUDE_DIRECTORIES "\${MVSUSB3Core_INCLUDE_DIR}"
146+
)
147+
endif()
148+
149+
set(MVSUSB3Core_FOUND TRUE)
150+
EOF
151+
47152

48153
# Install openvino runtime
49154
RUN if [ "${TARGETARCH}" = "amd64" ]; then \

0 commit comments

Comments
 (0)