pgcentralfoundation / pgrx

Build Postgres Extensions with Rust!
Other
3.7k stars 249 forks source link

building extenstion (WSL debian_x64, Pg17): failed to parse generated bindings #1915

Closed SpyMan10 closed 1 month ago

SpyMan10 commented 1 month ago

Hello, I'm trying to build an extension, I just created a new extension using cargo-pgrx but I can't build the example code provided by default,

Host: WSL2 debian x64, gcc12 Rust: toolchain: updated to latest PGRX: cargo-pgrx 0.12.5

Build output:

$ cargo run --no-default-features --features pg17
   Compiling pgrx-pg-sys v0.12.5
error: failed to run custom build command for `pgrx-pg-sys v0.12.5`

Caused by:
  process didn't exit successfully: `/mnt/c/Users/SpyMan/Desktop/pg_snowflake/target/debug/build/pgrx-pg-sys-80f1ad59281c88f1/build-script-bindgen` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=PGRX_BUILD_VERBOSE
  cargo:rerun-if-env-changed=PGRX_PG_SYS_GENERATE_BINDINGS_FOR_RELEASE
  cargo:rerun-if-env-changed=PGRX_PG_CONFIG_PATH
  cargo:rerun-if-env-changed=PGRX_PG_CONFIG_AS_ENV
  cargo:rerun-if-env-changed=LLVM_CONFIG_PATH
  cargo:rerun-if-env-changed=LIBCLANG_PATH
  cargo:rerun-if-env-changed=LIBCLANG_STATIC_PATH
  cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS
  cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=BINDGEN_EXTRA_CLANG_ARGS_x86_64_unknown_linux_gnu
  cargo:rerun-if-env-changed=PGRX_PG_SYS_GENERATE_BINDINGS_FOR_RELEASE
  cargo:rerun-if-changed=include
  cargo:rerun-if-changed=pgrx-cshim.c
  cargo:rerun-if-changed=/home/spyman/.pgrx/config.toml
  cargo:rerun-if-env-changed=PGRX_TARGET_INFO_PATH_PG17_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PGRX_TARGET_INFO_PATH_PG17
  cargo:rerun-if-env-changed=PGRX_BINDGEN_NO_DETECT_INCLUDES_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PGRX_BINDGEN_NO_DETECT_INCLUDES
  cargo:rerun-if-env-changed=PGRX_INCLUDEDIR_SERVER_PG17_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PGRX_INCLUDEDIR_SERVER_PG17
  cargo:rerun-if-env-changed=PGRX_INCLUDEDIR_SERVER_x86_64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PGRX_INCLUDEDIR_SERVER
  cargo:rerun-if-env-changed=PGRX_PG_SYS_EXTRA_OUTPUT_PATH

  --- stderr
  build_paths=BuildPaths { manifest_dir: "/home/spyman/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pgrx-pg-sys-0.12.5", out_dir: "/mnt/c/Users/SpyMan/Desktop/pg_snowflake/target/debug/build/pgrx-pg-sys-60f803ebd83a3684/out", src_dir: "/home/spyman/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pgrx-pg-sys-0.12.5/src/include", shim_src: "/home/spyman/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pgrx-pg-sys-0.12.5/pgrx-cshim.c", shim_dst: "/mnt/c/Users/SpyMan/Desktop/pg_snowflake/target/debug/build/pgrx-pg-sys-60f803ebd83a3684/out/pgrx-cshim.c" }
  Generating bindings for pg17
  pg_config --configure CLANG = None
  Bindgen found Debian clang version 11.0.1-2
  found libclang at /usr/lib/llvm-11/lib/libclang-11.0.1.so
  Found include dirs ["/usr/lib/llvm-11/lib/clang/11.0.1/include"]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/port.h:211:81: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/port.h:212:70: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/port.h:213:66: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/port.h:214:55: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/port.h:215:69: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/port.h:216:58: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/port.h:217:54: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/port.h:218:43: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/lib/stringinfo.h:172:67: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/lib/stringinfo.h:183:78: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:179:40: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:180:49: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:183:30: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:183:56: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:185:43: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:186:52: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:188:47: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:192:31: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:192:57: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:195:30: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:195:56: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:197:41: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:200:31: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:200:57: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:214:48: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:303:54: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/elog.h:538:47: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/palloc.h:148:44: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  clang diag: /home/spyman/.pgrx/17.0/pgrx-install/include/postgresql/server/utils/palloc.h:149:80: warning: 'format' attribute argument not supported: gnu_printf [-Wignored-attributes]
  Error: bindgen failed for pg17

  Caused by:
     0: failed to parse generated bindings
     1: expected identifier or `_`

  Location:
      /home/spyman/.cargo/registry/src/index.crates.io-6f17d22bba15001f/pgrx-bindgen-0.12.5/src/build.rs:751:40

The given error is pretty weird, I think bindings aren't generated correctly.