/lib/libgdal.so.26: undefined symbol: TIFFReadRGBATileExt, version LIBTIFF_4.0 的参考解决方法

写在前面

自己的测试环境:
Ubuntu20.04
ROS-Noetic

一、问题描述

运行以下 python 程序时,

 bridge = CvBridge()
 ground_image_array = bridge.imgmsg_to_cv2(ground_image_msg, "bgr8")
 ground_image_buffer.append(ground_image_array)

出现如下报错:

Traceback (most recent call last):
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py", line 750, in _invoke_callback
    cb(msg)
  File "main.py", line 133, in satelliteMapCallback
    ground_image_array = bridge.imgmsg_to_cv2(ground_image_msg, "bgr8")
  File "/opt/ros/noetic/lib/python3/dist-packages/cv_bridge/core.py", line 163, in imgmsg_to_cv2
    dtype, n_channels = self.encoding_to_dtype_with_channels(img_msg.encoding)
  File "/opt/ros/noetic/lib/python3/dist-packages/cv_bridge/core.py", line 99, in encoding_to_dtype_with_channels
    return self.cvtype2_to_dtype_with_channels(self.encoding_to_cvtype2(encoding))
  File "/opt/ros/noetic/lib/python3/dist-packages/cv_bridge/core.py", line 91, in encoding_to_cvtype2
    from cv_bridge.boost.cv_bridge_boost import getCvType
ImportError: /lib/libgdal.so.26: undefined symbol: TIFFReadRGBATileExt, version LIBTIFF_4.0

二、解决方法

出现这个问题的原因,可能是系统中存在多个 libtiff.so.5 库,但是索引到的 libtiff.so.5 里没有 LIBTIFF_4.0,所以需要指定正确的 libtiff.so.5 库.
在程序执行前,先在终端运行以下指令(或者在./bashrc 中添加以下命令):

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libtiff.so.5

然后再次运行自己的程序,即可解决问题。

参考链接

[1] 向阳+. caffe编译遇到的问题(持续更新) [EB/OL]. https://blog.csdn.net/m0_37407756/article/details/70789271, 2017-04-26/2024-08-01.

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个报错是由于在运行Python脚本时,出现了一个导入错误。具体的错误信息是:ImportError: /lib/x86_64-linux-gnu/libfreeimage.so.3: undefined symbol: TIFFFieldDataType, version LIBTIFF_4.0。根据引用\[1\]和引用\[3\]的信息,这个错误可能与libtiff.so.5库中的一个未定义的符号有关。 为了解决这个问题,可以尝试以下方法: 1. 安装python-numpy库:根据引用\[2\]的解决方法,可以尝试使用以下命令安装python-numpy库:sudo apt-get install python-numpy。这个库可能会提供所需的依赖项,从而解决导入错误。 2. 更新libtiff库:根据引用\[1\]和引用\[3\]的信息,这个错误可能与libtiff.so.5库中的一个未定义的符号有关。尝试更新libtiff库,可以使用以下命令:sudo apt-get update && sudo apt-get upgrade libtiff5。这将更新libtiff库并解决可能存在的符号未定义问题。 3. 检查依赖项:检查是否存在其他缺失的依赖项。可以使用ldd命令来检查可执行文件或共享库的依赖项。例如,使用ldd命令检查libfreeimage.so.3库的依赖项:ldd /lib/x86_64-linux-gnu/libfreeimage.so.3。确保所有依赖项都已正确安装。 请注意,这些解决方法是基于提供的引用内容,并且可能因系统环境和具体情况而有所不同。建议根据实际情况选择适合的解决方法。 #### 引用[.reference_title] - *1* [python报错: /usr/lib/libgdal.so.20: symbol TIFFReadRGBATileExt version LIBTIFF_4.0 not defined](https://blog.csdn.net/qq_39779233/article/details/127596089)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [caffe编译遇到的问题(持续更新)](https://blog.csdn.net/m0_37407756/article/details/70789271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值