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?錯誤
2. 下載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中
3. 第一次執行的時候發現報下面的錯誤,可以通過
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 目錄
5. 安裝lz4-devel,否則編譯完后無法鏈接。
5. make過程中還會執行git clone命令,國內訪問git網站時靈時不靈,如果報443超時錯誤可以多執行幾次。