解决Ubuntu 18.04 gdal源码安装出现的致命问题!CURL_OPENSSL_4

我在Ubuntu18.04系统下安装gdal3.1.2,虽然按照网上的教程能够编译成功,但是在ros下使用catkin_make的时候一直报告如下错误:

libgdal.so: undefined reference to 'curl_easy_getinfo@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_multi_perform@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_multi_cleanup@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_mime_init@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_multi_remove_handle@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_mime_addpart@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_mime_name@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_multi_info_read@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_easy_setopt@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_mime_filedata@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_mime_free@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_easy_cleanup@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_easy_perform@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_easy_init@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_multi_add_handle@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_slist_free_all@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_slist_append@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_version@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_multi_setopt@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_mime_data@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_multi_init@CURL_OPENSSL_4'

libgdal.so: undefined reference to 'curl_multi_wait@CURL_OPENSSL_4'

查了大量的资料,试过

sudo apt install libcurl4-openssl-dev
sudo apt install -y libcurl4 curl

但是发现并不行,还是没有解决问题,包括卸了libcurl4-dev,最后把ros都卸载了还是不能解决问题!最后就把目光集中在了gdal身上,使用如下命令查看libdal.so位置

ldconfig -p | grep libgdal

然后使用以下命令查看libgdal.so对与curl依赖的是哪个.so文件

ldd /usr/local/lib/libgdal.so | grep curl

输出如下:

libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4
libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4

给我的感觉就是应该是gdal的安装环境被我搞坏了,导致gdal.so的依赖出了问题,所以我果断卸载gdal,使用如下命令清除:

sudo rm -rf /usr/local/bin/gdal* /usr/local/lib/libgdal* /usr/lib/libgdal*

需要注意的是:我没有把gdal安装在build文件下,而是直接让其默认安装的。

然后删除掉我的gdal-3.1.5的文件夹,之后重新解压出一个新的gdal-3.1.5的文件夹,执行如下命令:

cd gdal-3.1.5/
./configure --with-proj=/usr/local --prefix=/usr/local --with-tiff=no --with-local=/usr/local --without-curl
make -j4
sudo make install

安装完成之后就可以正常使用了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值