Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libpq >= 12 fails to static link with openssl #81

Open
clux opened this issue Jun 19, 2021 · 2 comments · May be fixed by #98
Open

libpq >= 12 fails to static link with openssl #81

clux opened this issue Jun 19, 2021 · 2 comments · May be fixed by #98

Comments

@clux
Copy link
Owner

clux commented Jun 19, 2021

Similar issue as before, and others have reported it too: sgrif/pq-sys#27
This is why libpq is pinned to latest 11 release. we could upgrade, if pq-sys actually merged the fix :(

build log

./test.sh pq
+ docker_build pq
+ local -r crate=pqcrate
+ docker run --rm -v /home/runner/work/muslrust/muslrust/test/pqcrate:/volume -v cargo-cache:/root/.cargo/registry -e RUST_BACKTRACE=1 clux/muslrust:temp cargo build
    Updating crates.io index
 Downloading crates ...
  Downloaded pq-sys v0.4.6
   Compiling pkg-config v0.3.19
   Compiling cc v1.0.68
   Compiling autocfg v1.0.1
   Compiling libc v0.2.97
   Compiling bitflags v1.2.1
   Compiling pq-sys v0.4.6
   Compiling openssl v0.10.35
   Compiling foreign-types-shared v0.1.1
   Compiling once_cell v1.8.0
   Compiling cfg-if v1.0.0
   Compiling openssl-sys v0.9.64
   Compiling foreign-types v0.3.2
   Compiling pqcrate v0.1.0 (/volume)
error: linking with `cc` failed: exit status: 1
  |
  = note: "cc" "-m64" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crt1.o" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crti.o" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtbegin.o" "/volume/target/x86_64-unknown-linux-musl/debug/deps/pqcrate-7882b05042e23d6c.1hftbp5vx4rs5tz7.rcgu.o" "/volume/target/x86_64-unknown-linux-musl/debug/deps/pqcrate-7882b05042e23d6c.384p7u03hmdaoaf8.rcgu.o" "/volume/target/x86_64-unknown-linux-musl/debug/deps/pqcrate-7882b05042e23d6c.3qduubka0xitgj0c.rcgu.o" "/volume/target/x86_64-unknown-linux-musl/debug/deps/pqcrate-7882b05042e23d6c.4kqgrua8qp7696ql.rcgu.o" "/volume/target/x86_64-unknown-linux-musl/debug/deps/pqcrate-7882b05042e23d6c.52ydmaq45nh7bzb4.rcgu.o" "/volume/target/x86_64-unknown-linux-musl/debug/deps/pqcrate-7882b05042e23d6c.7ylijitxf4r67r5.rcgu.o" "/volume/target/x86_64-unknown-linux-musl/debug/deps/pqcrate-7882b05042e23d6c.44o8ammlpytcjale.rcgu.o" "-Wl,--as-needed" "-L" "/volume/target/x86_64-unknown-linux-musl/debug/deps" "-L" "/volume/target/debug/deps" "-L" "/musl/lib" "-L" "/musl/lib" "-L" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib" "-Wl,-Bstatic" "/volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib" "/volume/target/x86_64-unknown-linux-musl/debug/deps/libopenssl-9e6f4c7c82243f09.rlib" "/volume/target/x86_64-unknown-linux-musl/debug/deps/libonce_cell-257079c73d6e0a81.rlib" "/volume/target/x86_64-unknown-linux-musl/debug/deps/libbitflags-2b06d9303e6233ff.rlib" "/volume/target/x86_64-unknown-linux-musl/debug/deps/libforeign_types-9a0e339477be781e.rlib" "/volume/target/x86_64-unknown-linux-musl/debug/deps/libforeign_types_shared-0d04ac3b44ec5718.rlib" "/volume/target/x86_64-unknown-linux-musl/debug/deps/libcfg_if-93cca5c086798193.rlib" "/volume/target/x86_64-unknown-linux-musl/debug/deps/libopenssl_sys-379f78d685c6567a.rlib" "/volume/target/x86_64-unknown-linux-musl/debug/deps/liblibc-3f1a4e24e22ed966.rlib" "-Wl,--start-group" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd-645ff18786bd8f4c.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libpanic_unwind-1e7397296328c849.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libminiz_oxide-b0dc2ee69d3cd28d.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libadler-d7bd6706a60956bd.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libobject-20323123b22dd8d9.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libaddr2line-b1856e39a6442059.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libgimli-dc23389320eb7017.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libstd_detect-09742bee4d7cdce6.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_demangle-13bbc2cbe6da9731.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libhashbrown-12c3bed34f07ecaa.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_alloc-074dd2bf98e1bb95.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libunwind-654bedcd013d11ca.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libcfg_if-dc501baf64ee4c09.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/liblibc-9e3694f1b1e58590.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/liballoc-6346596a31b8c817.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/librustc_std_workspace_core-3e240aff10db9180.rlib" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libcore-60eab00334ec8288.rlib" "-Wl,--end-group" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/libcompiler_builtins-91bbdb295abafcf0.rlib" "-Wl,-Bdynamic" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-nostartfiles" "-L" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib" "-L" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained" "-o" "/volume/target/x86_64-unknown-linux-musl/debug/deps/pqcrate-7882b05042e23d6c" "-Wl,--gc-sections" "-static" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtend.o" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-musl/lib/self-contained/crtn.o"
  = note: /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-secure.o): In function `pqsecure_raw_read':
          fe-secure.c:(.text+0x211): undefined reference to `pg_strerror_r'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-secure.o): In function `pqsecure_raw_write':
          fe-secure.c:(.text+0x46c): undefined reference to `pg_strerror_r'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-secure-openssl.o): In function `pgtls_read':
          fe-secure-openssl.c:(.text+0x236): undefined reference to `pg_strerror_r'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-secure-openssl.o): In function `pgtls_write':
          fe-secure-openssl.c:(.text+0x598): undefined reference to `pg_strerror_r'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-secure-openssl.o): In function `pq_lockingcallback':
          fe-secure-openssl.c:(.text+0xb97): undefined reference to `pg_fprintf'
          fe-secure-openssl.c:(.text+0xbeb): undefined reference to `pg_fprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-secure-openssl.o): In function `initialize_SSL':
          fe-secure-openssl.c:(.text+0x1053): undefined reference to `pg_snprintf'
          fe-secure-openssl.c:(.text+0x11cb): undefined reference to `pg_snprintf'
          fe-secure-openssl.c:(.text+0x133f): undefined reference to `pg_snprintf'
          fe-secure-openssl.c:(.text+0x13b5): undefined reference to `pg_strerror_r'
          fe-secure-openssl.c:(.text+0x1a2b): undefined reference to `pg_snprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-secure-openssl.o): In function `open_client_SSL':
          fe-secure-openssl.c:(.text+0x1da6): undefined reference to `pg_strerror_r'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-secure-openssl.o): In function `SSLerrmessage':
          fe-secure-openssl.c:(.text+0x20d3): undefined reference to `pg_snprintf'
          fe-secure-openssl.c:(.text+0x2132): undefined reference to `pg_snprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-secure-openssl.o): In function `PQsslAttribute':
          fe-secure-openssl.c:(.text+0x22a8): undefined reference to `pg_snprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-secure-common.o): In function `wildcard_certificate_match':
          fe-secure-common.c:(.text+0x92): undefined reference to `pg_strcasecmp'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-secure-common.o): In function `pq_verify_peer_name_matches_certificate_name':
          fe-secure-common.c:(.text+0x225): undefined reference to `pg_strcasecmp'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `connectOptions2':
          fe-connect.c:(.text+0x106b): undefined reference to `pg_snprintf'
          fe-connect.c:(.text+0x1508): undefined reference to `pg_get_encoding_from_locale'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `connectNoDelay':
          fe-connect.c:(.text+0x1aed): undefined reference to `pg_strerror_r'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `getHostaddr':
          fe-connect.c:(.text+0x1b88): undefined reference to `inet_net_ntop'
          fe-connect.c:(.text+0x1bca): undefined reference to `inet_net_ntop'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `connectFailureMessage':
          fe-connect.c:(.text+0x1c65): undefined reference to `pg_getnameinfo_all'
          fe-connect.c:(.text+0x1c85): undefined reference to `pg_strerror_r'
          fe-connect.c:(.text+0x1e61): undefined reference to `pg_strerror_r'
          fe-connect.c:(.text+0x1ec2): undefined reference to `pg_strerror_r'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `setKeepalivesIdle':
          fe-connect.c:(.text+0x217a): undefined reference to `pg_strerror_r'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `setKeepalivesInterval':
          fe-connect.c:(.text+0x22a7): undefined reference to `pg_strerror_r'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o):fe-connect.c:(.text+0x23d4): more undefined references to `pg_strerror_r' follow
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `connectDBStart':
          fe-connect.c:(.text+0x2583): undefined reference to `pg_link_canary_is_frontend'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `PQconnectPoll':
          fe-connect.c:(.text+0x2dba): undefined reference to `pg_snprintf'
          fe-connect.c:(.text+0x2e0e): undefined reference to `pg_getaddrinfo_all'
          fe-connect.c:(.text+0x2eaf): undefined reference to `pg_getaddrinfo_all'
          fe-connect.c:(.text+0x2f93): undefined reference to `pg_snprintf'
          fe-connect.c:(.text+0x3004): undefined reference to `pg_getaddrinfo_all'
          fe-connect.c:(.text+0x336d): undefined reference to `pg_strerror_r'
          fe-connect.c:(.text+0x33df): undefined reference to `pg_set_noblock'
          fe-connect.c:(.text+0x3403): undefined reference to `pg_strerror_r'
          fe-connect.c:(.text+0x347f): undefined reference to `pg_strerror_r'
          fe-connect.c:(.text+0x3582): undefined reference to `pg_strerror_r'
          fe-connect.c:(.text+0x3759): undefined reference to `pg_strerror_r'
          fe-connect.c:(.text+0x381b): undefined reference to `pg_strerror_r'
          fe-connect.c:(.text+0x38d8): undefined reference to `getpeereid'
          fe-connect.c:(.text+0x3926): undefined reference to `pg_strerror_r'
          fe-connect.c:(.text+0x3979): undefined reference to `pqGetpwuid'
          fe-connect.c:(.text+0x39b4): undefined reference to `pg_strerror_r'
          fe-connect.c:(.text+0x3b32): undefined reference to `pg_strerror_r'
          fe-connect.c:(.text+0x3c50): undefined reference to `pg_strerror_r'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `release_conn_addrinfo':
          fe-connect.c:(.text+0x5a36): undefined reference to `pg_freeaddrinfo_all'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `internal_cancel':
          fe-connect.c:(.text+0x6124): undefined reference to `pg_strerror_r'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `parseServiceInfo':
          fe-connect.c:(.text+0x649f): undefined reference to `pg_snprintf'
          fe-connect.c:(.text+0x6559): undefined reference to `pg_snprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `PQsetClientEncoding':
          fe-connect.c:(.text+0x8d7a): undefined reference to `pg_get_encoding_from_locale'
          fe-connect.c:(.text+0x8dcf): undefined reference to `pg_sprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `defaultNoticeProcessor':
          fe-connect.c:(.text+0x90ab): undefined reference to `pg_fprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `passwordFromFile':
          fe-connect.c:(.text+0x9314): undefined reference to `pg_fprintf'
          fe-connect.c:(.text+0x9350): undefined reference to `pg_fprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `pqGetHomeDirectory':
          fe-connect.c:(.text+0x9862): undefined reference to `pqGetpwuid'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-connect.o): In function `default_threadlock':
          fe-connect.c:(.text+0x98fc): undefined reference to `pg_fprintf'
          fe-connect.c:(.text+0x9936): undefined reference to `pg_fprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-exec.o): In function `pqInternalNotice':
          fe-exec.c:(.text+0x15f7): undefined reference to `pg_vsnprintf'
          fe-exec.c:(.text+0x171d): undefined reference to `pg_sprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-exec.o): In function `pqSaveParameterStatus':
          fe-exec.c:(.text+0x19aa): undefined reference to `pg_fprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-exec.o): In function `PQfnumber':
          fe-exec.c:(.text+0x4288): undefined reference to `pg_tolower'
          fe-exec.c:(.text+0x43a0): undefined reference to `pg_tolower'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-misc.o): In function `pqGetc':
          fe-misc.c:(.text+0xe9): undefined reference to `pg_fprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-misc.o): In function `pqPutc':
          fe-misc.c:(.text+0x157): undefined reference to `pg_fprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-misc.o): In function `pqGets_internal':
          fe-misc.c:(.text+0x266): undefined reference to `pg_fprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-misc.o): In function `pqPuts':
          fe-misc.c:(.text+0x332): undefined reference to `pg_fprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-misc.o): In function `pqGetnchar':
          fe-misc.c:(.text+0x3f6): undefined reference to `pg_fprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-misc.o):fe-misc.c:(.text+0x433): more undefined references to `pg_fprintf' follow
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-misc.o): In function `pqSocketCheck':
          fe-misc.c:(.text+0x17d0): undefined reference to `pg_strerror_r'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-protocol2.o): In function `pqSetenvPoll':
          fe-protocol2.c:(.text+0x182): undefined reference to `pg_strcasecmp'
          fe-protocol2.c:(.text+0x19e): undefined reference to `pg_sprintf'
          fe-protocol2.c:(.text+0x1bf): undefined reference to `pg_sprintf'
          fe-protocol2.c:(.text+0x267): undefined reference to `pg_strcasecmp'
          fe-protocol2.c:(.text+0x295): undefined reference to `pg_sprintf'
          fe-protocol2.c:(.text+0x2c8): undefined reference to `pg_sprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-protocol3.o): In function `build_startup_packet':
          fe-protocol3.c:(.text+0x39a9): undefined reference to `pg_strcasecmp'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(pqexpbuffer.o): In function `appendPQExpBufferVA':
          pqexpbuffer.c:(.text+0x5b7): undefined reference to `pg_vsnprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(encnames.o): In function `pg_char_to_encoding':
          encnames.c:(.text+0x1d4): undefined reference to `pg_fprintf'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-auth.o): In function `pg_password_sendauth':
          fe-auth.c:(.text+0x6a3): undefined reference to `pg_md5_encrypt'
          fe-auth.c:(.text+0x6e0): undefined reference to `pg_md5_encrypt'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-auth.o): In function `pg_fe_getauthname':
          fe-auth.c:(.text+0xb10): undefined reference to `pqGetpwuid'
          fe-auth.c:(.text+0xb64): undefined reference to `pg_strerror_r'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-auth.o): In function `PQencryptPassword':
          fe-auth.c:(.text+0xc7d): undefined reference to `pg_md5_encrypt'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-auth.o): In function `PQencryptPasswordConn':
          fe-auth.c:(.text+0xece): undefined reference to `pg_md5_encrypt'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-auth-scram.o): In function `pg_fe_scram_init':
          fe-auth-scram.c:(.text+0xb7): undefined reference to `pg_saslprep'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-auth-scram.o): In function `build_client_first_message':
          fe-auth-scram.c:(.text+0x5e1): undefined reference to `pg_strong_random'
          fe-auth-scram.c:(.text+0x61a): undefined reference to `pg_b64_enc_len'
          fe-auth-scram.c:(.text+0x680): undefined reference to `pg_b64_encode'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-auth-scram.o): In function `build_client_final_message':
          fe-auth-scram.c:(.text+0x94a): undefined reference to `pg_b64_enc_len'
          fe-auth-scram.c:(.text+0x99d): undefined reference to `pg_b64_encode'
          fe-auth-scram.c:(.text+0xac1): undefined reference to `pg_b64_enc_len'
          fe-auth-scram.c:(.text+0xaf3): undefined reference to `pg_b64_encode'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-auth-scram.o): In function `read_server_first_message':
          fe-auth-scram.c:(.text+0xd3c): undefined reference to `pg_b64_dec_len'
          fe-auth-scram.c:(.text+0xdad): undefined reference to `pg_b64_decode'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-auth-scram.o): In function `read_server_final_message':
          fe-auth-scram.c:(.text+0xfef): undefined reference to `pg_b64_dec_len'
          fe-auth-scram.c:(.text+0x1052): undefined reference to `pg_b64_decode'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-auth-scram.o): In function `calculate_client_proof':
          fe-auth-scram.c:(.text+0x112d): undefined reference to `scram_SaltedPassword'
          fe-auth-scram.c:(.text+0x1147): undefined reference to `scram_ClientKey'
          fe-auth-scram.c:(.text+0x115c): undefined reference to `scram_H'
          fe-auth-scram.c:(.text+0x1177): undefined reference to `scram_HMAC_init'
          fe-auth-scram.c:(.text+0x11a9): undefined reference to `scram_HMAC_update'
          fe-auth-scram.c:(.text+0x11c4): undefined reference to `scram_HMAC_update'
          fe-auth-scram.c:(.text+0x11f6): undefined reference to `scram_HMAC_update'
          fe-auth-scram.c:(.text+0x1211): undefined reference to `scram_HMAC_update'
          fe-auth-scram.c:(.text+0x123b): undefined reference to `scram_HMAC_update'
          fe-auth-scram.c:(.text+0x1251): undefined reference to `scram_HMAC_final'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-auth-scram.o): In function `verify_server_signature':
          fe-auth-scram.c:(.text+0x12f0): undefined reference to `scram_ServerKey'
          fe-auth-scram.c:(.text+0x130b): undefined reference to `scram_HMAC_init'
          fe-auth-scram.c:(.text+0x133d): undefined reference to `scram_HMAC_update'
          fe-auth-scram.c:(.text+0x1358): undefined reference to `scram_HMAC_update'
          fe-auth-scram.c:(.text+0x138a): undefined reference to `scram_HMAC_update'
          fe-auth-scram.c:(.text+0x13a5): undefined reference to `scram_HMAC_update'
          fe-auth-scram.c:(.text+0x13d7): undefined reference to `scram_HMAC_update'
          fe-auth-scram.c:(.text+0x13ed): undefined reference to `scram_HMAC_final'
          /volume/target/x86_64-unknown-linux-musl/debug/deps/libpq_sys-30779afa45d38741.rlib(fe-auth-scram.o): In function `pg_fe_scram_build_verifier':
          fe-auth-scram.c:(.text+0x1463): undefined reference to `pg_saslprep'
          fe-auth-scram.c:(.text+0x1492): undefined reference to `pg_strong_random'
          fe-auth-scram.c:(.text+0x14d2): undefined reference to `scram_build_verifier'
          collect2: error: ld returned 1 exit status
          

error: aborting due to previous error

error: could not compile `pqcrate`

@clux
Copy link
Owner Author

clux commented Jan 26, 2024

might need to look into this again; the upstream sgrif/pq-sys#27 (comment) got closed with a comment suggesting it "should work". not sure i am super hopeful, more and more references to people not getting static linking to work (even oxide in oxidecomputer/omicron#213 ).

basically either we fix this now or we remove libpq entirely from the image because we can't ship a pq that's 5 major versions behind (see #126 (comment)). unfortunately i need to look at other things first, so leaving this open.

@clux
Copy link
Owner Author

clux commented Feb 26, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant