在香橙派上编译librealsense 2.55.1的一些坑(请注意ros1的realsense_ros版本是否使用该文章!!)

今天更新了d435i的固件,结果运行的时候一直报错。不管他吧也能用,有camera/imu话题但是但是没有imu数据

(response -7= HW not ready)hwmon command 0x80( 5 0 0 0 ) failed
(response -7= HW not ready) hwmon command 0x80( 5 0 0 0 ) failed 
(response -7= HW not ready) hwmon command 0x80( 5 0 0 0 ) failed 
(response -7= HW not ready) hwmon command 0x80( 5 0 0 0 ) failed 

连接pc端的2.55.4的驱动的时候没有任何报错而且能正常显示imu数据,初步怀疑是驱动版本导致的。所以卸载librealsense2.50后重新安装librealsense2.55.1,卸载直接进到2.50的build里面执行sudo make uninstall 即可

当我按照其他文章给的流程重新安装librealsense的时候并不是那么顺利....(浪费了我两三个小时)

Fetching nlohmann/json...
Cloning into 'json'...

cmake..后显示这个,然后不久后紧跟着报错

Cloning into 'json'...
error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.
fatal: the remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Cloning into 'json'...

##或者是

unable to access 'https://github.com/nlohmann/json.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.

我也看了一些文章说的调整缓存区(对我来说没有任何用)

git config --global http.postBuffer 524288000

于是我直接去json的git去拉取该工程,然后自行编译。注意,这需要修改几个部分的东西来绕开cmake的拉取。

sudo cd librealsense/ ;mkdir build;cd build ;cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true

##先报错一次

sudo cp ~/Desktop/json-download/ librealsense/build/external-projects

cd ..
##回到librealsense目录修改Cmake文件夹下的external_json.cmake全选后注释掉

cd ~/Desktop/json-download/ ;mkdir build;cd build ;cmake ..;sudo make install;
##手动编译json,然后回去再次cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true一看居然过了

也有libcurl的报错

比如

Cloning into 'libcurl'...
fatal: unable to access 'https://github.com/curl/curl.git/': gnutls_handshake() failed: Error in the pull function.
Cloning into 'libcurl'...
fatal: unable to access 'https://github.com/curl/curl.git/': SSL: certificate subject name (cloudflare-dns.com) does not match target host name 'github.com'
Cloning into 'libcurl'...
fatal: unable to access 'https://github.com/curl/curl.git/': gnutls_handshake() failed: Error in the pull function.
-- Had to git clone more than once:
          3 times.
CMake Error at /home/orangepi/Desktop/librealsense-2.55.1/build/libcurl/tmp/libcurl-gitclone.cmake:31 (message):
  Failed to clone repository: 'https://github.com/curl/curl.git'


make[2]: *** [CMakeFiles/libcurl.dir/build.make:92: libcurl/src/libcurl-stamp/libcurl-download] Error 1
make[1]: *** [CMakeFiles/Makefile2:967: CMakeFiles/libcurl.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

我承认可能是网络配置有点问题,有精力的同学可以自己想办法科学一下。但是对我还是用处不大也没有足够耐心了,所以继续上述操作——先给下下来,然后放进去自己编译或者放到指定目标目录后绕过cmake的拉取

##修改librealsense目录下的Cmake文件夹的external_libcurl.cmake文件

    ExternalProject_Add(
        libcurl
        # PREFIX libcurl
        # GIT_REPOSITORY "https://github.com/curl/curl.git"
        # GIT_TAG "2f33be817cbce6ad7a36f27dd7ada9219f13584c" # curl-7_75_0
        SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/third-party/libcurl
        CMAKE_ARGS  -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
                    -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
                    -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
                    -DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG}
                    -DCMAKE_C_FLAGS_MINSIZEREL=${CMAKE_C_FLAGS_MINSIZEREL}
                    -DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE}
                    -DCMAKE_C_FLAGS_RELWITHDEBINFO=${CMAKE_C_FLAGS_RELWITHDEBINFO}
                    -DCMAKE_CXX_STANDARD_LIBRARIES=${CMAKE_CXX_STANDARD_LIBRARIES}
                    -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/libcurl/libcurl_install
                    -DCMAKE_INSTALL_LIBDIR=lib
                    -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
                    -DANDROID_ABI=${ANDROID_ABI}
                    -DANDROID_STL=${ANDROID_STL} ${CURL_FLAGS}
        UPDATE_COMMAND ""
        PATCH_COMMAND ""
        TEST_COMMAND ""
    )


##注释掉上面的三行,自行从该地址拉取libcurl 然后一样的操作,放置到build目录下,注意还要在third-party里面放一份

##或者自己编译
cd libcurl ; mkdir build;cd build; cmake ..;sudo make install

基本上就这些了,祝你们realsense愉快,补觉去了......

附上一张编译成功的截图

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值