现象

最近在用cmake编译Apache arrow时,竟然报了错:

排查过程

最开始在网上直接搜“Unsupported protocol”,查到的说是因为安装的curl不支持https,需要先使用如下命令查询curl支持的协议:

curl -V

然而查出来却是支持https的:

这就奇怪了,我的curl明明支持,怎么告诉我不支持呢?

加上了cmake关键词再搜索,终于在知乎上搜到一篇文章1指出,可能是由于cmake安装时出了问题。
然而我按文章中的办法重新编译了cmake依然报错。

最后终于在stackoverflow上找到了一篇文章2,解释是由于安装cmake时,编译出了问题:
在使用cmake源码编译安装时,如果不特殊指定,则会自己编译一个curl,而cmake自己编译的cmake是不支持https的。

结论

cmake编译安装出了问题,需要重新安装,并在安装时指定使用系统自带的curl。

以我使用的CentOS7为例,重新编译安装的过程如下:

  1. 首先安装依赖的curl和zlib:
sudo yum install -y curl-devel zlib-devel

注:这里需要使用devel版本。另外zlib是由于我安装时提醒需要。

  1. 之后进入cmake的编译目录,这里我是在源码中新建了一个build文件夹。
../bootstrap --prefix=/usr/local/cmake3.14.7 --system-curl

注:这里加了prefix是指定了安装的目录,方便我之后根据不同项目可以切换不同版本的cmake。

  1. 最后安装:
gmake -j8 && gmake install

至此重新编译Arrow,终于成功。


  1. 文章链接 ↩︎

  2. 文章链接 ↩︎

cmake报错:Unsupported protocol相关推荐

  1. 在aarch64-himix100-linux-gcc下cmake报错(The C compiler identification is unknown)

    项目场景: 华为好望角AI摄像头C系列的算法移植过程中,遇到cmake报错 问题描述: gcc: aarch64-himix100-linux-gcc CMakeLists.txt文档: cmake_ ...

  2. linux上 用unzip命令解压带密码保护的 zip 文件报错 unsupported compression method 99

    1.问题: Linux上用 unzip 命令解压带密码保护的 zip 文件报错 unsupported compression method 99 2.解决办法: mac自带的解压工具,无法解密加密的 ...

  3. Unity报错Unsupported D3D format 0x58

    Unity报错Unsupported D3D format 0x58 描述错误 每当新的视频开始播放,或者视频中的分辨率发生变化(使用HLS)时,使用DX11时都会引发错误"不支持的D3D格 ...

  4. CLion使用WSL的cmake报错解决: configure_file Problem configuring file Call Stack (most recent call first):

    今天想用WSL的cmake,结果刚使用的时候就报错如下: /usr/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Make ...

  5. [Elasticsearch] es 6.8 编译报错 Unsupported class file major version 57

    1.概述 Mac 编译es 6.8 报错 Caused by: java.lang.IllegalArgumentException: Unsupported class file major ver ...

  6. 在ubuntu中使用cv2.imshow()报错 No protocol specified qt.qpa.xcb: could not connect to display :0

    目录 报错 解决方案 1. 更换较低版本的opencv-python 2. 设置X server 报错 在带有桌面的ubuntu 16.04中,使用cv2.imshow()函数,报错信息如下 No p ...

  7. 执行cmake .. 报错:Cannot find llvm-lit

    执行: cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DUSE_CUDA=OFF 可避免报错. 注意:该方法编译出来的将会是 cpu版本的,不支持 gpu

  8. cmake报错:xxx can not be used when making a shared object; recompile with -fPIC

    一.问题描述 最近在cmake一个项目时,链接库时报错,如下图: 通过报错信息看出,需要加上编译选项-fPIC,定位到ntl库.猜测是在编译ntl库时出错. 二.解决方案 ntl库的文件结构如下: 进 ...

  9. Ubuntu下cmake报错:The current CMakeCache.txt directory...is different from...

    先说一下个人使用的环境和建立工程的方式: 环境:ubuntu20.04+cmake+vscode, 建立的是C++工程. 方式:用的是较为简单的方式.建立一个工程目录,下面有一个build目录,一个c ...

最新文章

  1. nodejs里require的调试截屏
  2. zabbix4.2 系列(二):agent配置
  3. 线性表的顺序存储 c语言表达,线性表的基本操作顺序存储(C语言).doc
  4. ajax 折叠,ASP.NET AJAX可折叠面板Accordion应用实例
  5. C++类与对象(05)
  6. mysql sharding 方案_mysql sharding 方案 分库分表(sharding)系列(4)
  7. 深度学习在推断阶段(inference)的硬件实现方法概述
  8. 加速你的开发环境[VS2003]
  9. 编译原理教程_4 语法分析
  10. 最牛逼android上的图表库MpChart(三) 条形图
  11. 解决python3报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xaa in position 1: ordinal not in ra
  12. 【ArcGIS教程】土地利用转移矩阵及土地利用数据获取
  13. 2006年中国首届杰出数据库工程师评选面试实录
  14. python 正则匹配 条件太多怎么办_python正则中re.findall匹配多个条件
  15. Blender烘焙贴图生成静态真实场景
  16. 数字后端基本概念介绍drc
  17. No.13 Not Shading
  18. 7.跨段跳转,短调用和长调用堆栈图
  19. As I Began to Love Myself
  20. JAVA面试-基础加强与巩固:反射、注解、泛型等

热门文章

  1. 有哪些网站or论坛是计算机学生必逛的
  2. ArcGIS 为地类图斑数据添加坡度等级
  3. EternalBlue漏洞利用
  4. I Wanna Go Home(Dijkstra)--C++实现
  5. Dictionary I
  6. 【C】双边循环快速排序,升序和降序的区别
  7. IDM下载器如何使用 谷歌浏览器(Chrome)集成详细教程
  8. 使用frisby 进行post的表单信息的提交,以及nginx缓存的命中
  9. 部分ADSL猫的IP和密码
  10. 大牛程序员利用Python开发王者荣耀带妹神器,一路直奔上王者