我正在尝试在 H3ULCB 上运行对象检测算法(使用 OpenCV 2.4.13.7)。它给出了 libGTK,如下所示
root@h3ulcb:/media/2.4.13_algo_target_# ./main_
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or [ 1976.641753] audit: type=1706
Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvWaitKey, fil7
terminate called after throwing an instance of 'cv::Exception'
what(): /media/2.4.13.7_pckage/modules/highgui/src/window.cpp:567: error: (-2) The function is not implemented. Rebuild the library with Wiy
Aborted (core dumped)}
为了解决这个错误,我尝试在 H3ULCB 上安装 libGTK 包(libgtk2.0-dev_2.24.31-2_arm64.deb),但它没有安装到目标。
* pkg_extract_data_file_names_to_stream: Failed to extract data.tar.gz from package '/media/libgtk2.0-dev_2.24.31-2_arm64.deb'.
* pkg_get_installed_files: Error extracting file list from /media/libgtk2.0-dev_2.24.31-2_arm64.deb.
* opkg_install: Cannot install package libgtk2.0-dev.
H3ULCB 的 BSP 和 SDK 是使用 yocto 构建的,详细信息如下:
Yocto 版本:2.23
Poky:2.1.3
libgtk2.0
通过从 apt-get manager安装库,在本机 Linux (Ubuntu16.04) 上解决了相同的错误。但是包管理器apt
并dpkg
没有安装在目标上。在构建图像时,我尝试在 yocto 层中添加这些管理器。目前在 H3ULCB 上可用的包管理器是 OPKG。由于 OPKG 适用于 .IPK 包,但不适用于 .IPK 包
libgtk2.0
,因此我已将 .deb 包转换为 .IPK 包。在 H3ulcb 上执行 .IPK 包时:root@h3ulcb:/media# opkg install libgtk2.0-dev_2.24.31-2_arm64.ipk Collected errors: * open_outer: Failed to open package 'libgtk2.0-dev_2.24.31-2_arm64.ipk': Unrecognized archive format * pkg_extract_control_file_to_stream: Failed to extract control.tar.gz from package 'libgtk2.0-dev_2.24.31-2_arm64.ipk'. * pkg_init_from_file: Failed to extract control file from libgtk2.0-dev_2.24.31-2_arm64.ipk.
包里
libgtk2.0-dev_2.24.31-2_arm64.deb
有3个文件control.tar.gz
data.tar.xz
debian-binary
在 H3ULCB 上执行 .deb 文件时,显示错误
data.tar.gz
而不是data.tar.xz
如下所示:pkg_extract_data_file_names_to_stream: Failed to extract data.tar.gz from package '/media/libgtk2.0-dev_2.24.31-2_arm64.deb'.
我已将 data.tar.xz 转换为 data.tar.gz,但是如何将这些文件 3 个文件打包回 .deb 包?