编译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超时错误可以多执行几次。

相关推荐
艾莉丝努力练剑5 分钟前
【QT】环境搭建收尾:认识Qt Creator
运维·开发语言·c++·人工智能·qt·qt creator·qt5
tianyuanwo5 分钟前
解决Anolis/CentOS 8下Python 3.11 SELinux模块缺失:从原理到实战的完整指南
linux·centos·python3.11
小李独爱秋6 分钟前
计算机网络经典问题透视:可以通过哪些方案改造互联网,使互联网能够适合于传送音频/视频数据?
运维·服务器·网络协议·计算机网络·音视频
承渊政道8 分钟前
Linux系统学习【Linux基础指令以及权限问题】
linux·服务器·学习
一个人听秋雨11 分钟前
speedtest-x脚本优化
linux·运维
食咗未12 分钟前
Linux SSH工具的使用
linux·网络·测试工具·ssh·远程登陆
HalvmånEver13 分钟前
Linux:深入剖析 System V IPC下(进程间通信九)
linux·运维·服务器·c++·system v·管道pipe
AI+程序员在路上18 分钟前
Linux网桥内核配置与使用
linux·网络
济61719 分钟前
linux(第十六期)--按键输入实验-- Ubuntu20.04
linux·运维·服务器
祁思妙想20 分钟前
使用Docker部署Python前后端项目
运维·docker·容器