编译pg_duckdb步骤

  1. 要求cmake的版本要高于3.17,可以通过下载最新的cmake的程序,然后设置.bash_profile的PATH环境变量,将最新的cmake的bin目录放到PATH环境变量的最前面

  2. g++的版本要支持c++17标准,否则会报 error 'invoke_result in namespace 'std does not name a template type 错误

  3. 下载pg_duckdb的源码GitHub - duckdb/pg_duckdb: DuckDB-powered Postgres for high performance apps & analytics.

注意下载解压后,里面的third_party目录是空的,本来make的时候会执行

git submodule update --init --recursive 来下载所需要的duckdb的源码到该目录中,但是实际使用貌似不行,所以需要到github中直接下载duckdb的源码并放到third_party中

  1. 第一次执行的时候发现报下面的错误,可以通过

git init命令解决

make

git submodule update --init --recursive

fatal: 不是一个 git 仓库(或者任何父目录):.git

make: *** [Makefile:109:.git/modules/third_party/duckdb/HEAD] 错误 128

4.添加postgresql 的bin目录到PATH环境变量中,因为编译过程要执行pg_config命令,获取到server/include 目录

  1. 安装lz4-devel,否则编译完后无法链接。

  2. make过程中还会执行git clone命令,国内访问git网站时灵时不灵,如果报443超时错误可以多执行几次。

相关推荐
weixin_3077791317 小时前
Jenkins Jackson 2 API插件详解:JSON处理的基础支柱
运维·开发语言·架构·json·jenkins
缘友一世17 小时前
Kubuntu 24.04.3 LTS启用RooT用户sddm桌面登陆
linux·ubuntu
徐子元竟然被占了!!17 小时前
Linux-du
linux·运维·服务器
Howe~zZ17 小时前
mybatis 报错解决方案ORA-01795: maximum number of expressions in a list is 1000
java·服务器·前端
Awkwardx17 小时前
Linux网络编程—传输层协议UDP和TCP
linux·网络·tcp/ip·udp
乐迪信息17 小时前
乐迪信息:AI摄像机+反光衣佩戴检测,保障智慧煤矿人员作业安全
大数据·运维·人工智能·物联网·安全
程序猿编码17 小时前
Linux内核模块实现TCP连接强制断开机制
linux·网络·tcp/ip·内核·内核模块
讨厌下雨的天空17 小时前
进程间通信
linux·服务器
测试人社区—小叶子17 小时前
Rust会取代C++吗?系统编程语言的新较量
运维·开发语言·网络·c++·人工智能·测试工具·rust
QQ71987257817 小时前
Linux【4】:FTP服务搭建
linux·运维·服务器