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

msys/ mingw64 failing at linker step #1133

Open
robe2 opened this issue May 9, 2023 · 15 comments
Open

msys/ mingw64 failing at linker step #1133

robe2 opened this issue May 9, 2023 · 15 comments

Comments

@robe2
Copy link

robe2 commented May 9, 2023

Not sure if this is related to #731, but I got to this point trying to get to work under mingw64 and changing the test files.

export PG_VER=15
export PGPATH=/projects/postgresql/rel/pg${PG_VER}
export PATH=${PATH}:${PGPATH}/bin:${PGPATH}/lib
cargo install --path cargo-pgrx/ --debug --force
cargo pgrx init --pg${PG_VER} pg_config

cargo test \
  --features "pg$PG_VER cshim" \
  --package pgrx-tests

Everything goes up to here (cshim or no shim doesn't matter too much)

 Compiling pgrx-pg-config v0.8.3 (C:\ming64\projects\rust\pgrx\pgrx-pg-config)
    Finished dev [unoptimized + debuginfo] target(s) in 4m 15s
   Replacing C:\Users\Administrator\.cargo\bin\cargo-pgrx.exe
    Replaced package `cargo-pgrx v0.8.3 (C:\ming64\projects\rust\pgrx\cargo-pgrx)` with `cargo-pgrx v0.8.3 (C:\ming64\projects\rust\pgrx\cargo-pgrx)` (executable `cargo-pgrx.exe`)
warning: be sure to add `C:\Users\Administrator\.cargo\bin` to your PATH to be able to run the installed binaries
   Validating pg_config
   Compiling quote v1.0.26
: 
Compiling pgrx-macros v0.8.3 (C:\ming64\projects\rust\pgrx\pgrx-macros)
   Compiling pest v2.6.0
   Compiling semver-parser v0.10.2
   Compiling semver v0.11.0
   Compiling rustc_version v0.3.3
   Compiling atomic-traits v0.3.0
   Compiling serde_spanned v0.6.1
   Compiling toml_datetime v0.6.1
   Compiling toml_edit v0.19.8
   Compiling tokio-postgres v0.7.8
   Compiling serde_cbor v0.11.2
   Compiling clap v4.2.5
   Compiling clap-cargo v0.10.0
   Compiling toml v0.7.3
   Compiling postgres v0.19.5
   Compiling cargo_toml v0.15.2
   Compiling pgrx-pg-config v0.8.3 (C:\ming64\projects\rust\pgrx\pgrx-pg-config)
   Compiling pgrx-pg-sys v0.8.3 (C:\ming64\projects\rust\pgrx\pgrx-pg-sys)
warning: unnecessary `unsafe` block
  --> pgrx-pg-sys\src\submodules\thread_check.rs:35:18
   |
35 |         Ok(_) => unsafe {
   |                  ^^^^^^ unnecessary `unsafe` block
   |
   = note: `#[warn(unused_unsafe)]` on by default

   Compiling pgrx v0.8.3 (C:\ming64\projects\rust\pgrx\pgrx)
warning: field `notify_pid` is never read
   --> pgrx\src\bgworkers.rs:321:5
    |
319 | pub struct TerminatingDynamicBackgroundWorker {
    |            ---------------------------------- field in this struct
320 |     handle: *mut pg_sys::BackgroundWorkerHandle,
321 |     notify_pid: pg_sys::pid_t,
    |     ^^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` on by default

warning: `pgrx` (lib) generated 1 warning
warning: `pgrx-pg-sys` (lib) generated 1 warning
   Compiling pgrx-tests v0.8.3 (C:\ming64\projects\rust\pgrx\pgrx-tests)
    Building [=======================> ] 384/387: pgrx-tests(test), pgrx-tests

and then fails with a slew of linker errors, which look mostly looking for postgres functions.

C:\ming64\projects\rust\pgrx/target\debug\build\pgrx-pg-sys-9fd0bfa06b341700\out/pg15.rs:99570: undefined reference to `pg_analyze_and_rewrite_fixedparams'
          C:/ming64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\ming64\projects\rust\pgrx\target\debug\deps\libpgrx_pg_sys-5f8ad12f5e99f1e2.rlib(pgrx_pg_sys-5f8ad12f5e99f1e2.2z7e0kgz64a89n10.rcgu.o): in function `pgrx_pg_sys::pg15::pg_analyze_and_rewrite_varparams::{{closure}}':
          C:\ming64\projects\rust\pgrx/target\debug\build\pgrx-pg-sys-9fd0bfa06b341700\out/pg15.rs:99580: undefined reference to `pg_analyze_and_rewrite_varparams'
          C:/ming64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\ming64\projects\rust\pgrx\target\debug\deps\libpgr
x_pg_sys-5f8ad12f5e99f1e2.rlib(pgrx_pg_sys-5f8ad12f5e99f1e2.2z7e0kgz64a89n10.rcgu.o): in function `pgrx_pg_sys::pg15::pg_analyze_and_rewrite_withcb::{{closure}}':
          C:\ming64\projects\rust\pgrx/target\debug\build\pgrx-pg-sys-9fd0bfa06b341700\out/pg15.rs:99590: undefined reference to `pg_analyze_and_rewrite_withcb'
          C:/ming64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\ming64\projects\rust\pgrx\target\debug\deps\libpgr
x_pg_sys-5f8ad12f5e99f1e2.rlib(pgrx_pg_sys-5f8ad12f5e99f1e2.2z7e0kgz64a89n10.rcgu.o): in function `pgrx_pg_sys::pg15::pg_plan_query::{{closure}}':
          C:\ming64\projects\rust\pgrx/target\debug\build\pgrx-pg-sys-9fd0bfa06b341700\out/pg15.rs:99600: undefined reference to `pg_plan_query'
          C:/ming64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\ming64\projects\rust\pgrx\target\debug\deps\libpgr
x_pg_sys-5f8ad12f5e99f1e2.rlib(pgrx_pg_sys-5f8ad12f5e99f1e2.2z7e0kgz64a89n10.rcgu.o): in function `pgrx_pg_sys::pg15::pg_plan_queries::{{closure}}':

I tried changing the .cargo/config.toml to have line

[target.'cfg(windows)']
rustflags = ["-C", "link-args=-Wl,-undefined,dynamic_lookup"]

Also tried:

[target.'cfg(windows)']
rustflags = ["-C", "link-arg=-Wl,-undefined"]

Any thoughts on what I could try next will be much appreciated.

@eeeebbbbrrrr
Copy link
Contributor

eeeebbbbrrrr commented May 9, 2023

What linker does mingw use? If it’s MSVC’s LINK.EXE there’s different flags to set. If it’s not there’s probably still different flags to set.

Or the Postgres sources fail to properly exposer those symbols under windows? That’d be weird tho. I’m sure they solved that problem 15+ years ago.

@eeeebbbbrrrr
Copy link
Contributor

eeeebbbbrrrr commented May 9, 2023

What does: "-C link-arg=/FORCE" do for the rustflags? I think that’s the correct syntax for LINK.EXE. I had that filed away in my brain for something I did years ago.

https://learn.microsoft.com/en-us/cpp/build/reference/force-force-file-output

@robe2
Copy link
Author

robe2 commented May 9, 2023

What does: "-C link-arg=/FORCE" do for the rustflags? I think that’s the correct syntax for LINK.EXE. I had that filed away in my brain for something I did years ago.

https://learn.microsoft.com/en-us/cpp/build/reference/force-force-file-output

I tried that first and got an error. forgot to mention that.

I seem to be making some progress though, now I seem to be getting only plpgsql link errors.

I had added this to pgrx/pgrx-pg-sys build_shim

    #[cfg(windows)]
    println!("cargo:rustc-link-lib=postgres");

    #[cfg(windows)]
    println!("cargo:rustc-link-lib=libpq");

So now just getting link errors like:

_pg_sys-2c13caeee0cbbd75.rlib(pgrx_pg_sys-2c13caeee0cbbd75.mh8thn79hjxq4ki.rcgu.o): in function `pgrx_pg_sys::pg15::plpgsql_scanner_finish::{{closure}}':
          C:\ming64\projects\rust\pgrx/target\debug\build\pgrx-pg-sys-9fd0bfa06b341700\out/pg15.rs:96309: undefined reference to `plpgsql_scanner_finish'

I'm going to try to add plpgsql to see if that clears those.

@eeeebbbbrrrr
Copy link
Contributor

We've never linked in libpq before. Why would it be required for windows? I can't see any reason for pgrx to need to link to the client library.

And afaik we haven't done anything special for for the plpgsql symbols, such as plpgsql_scanner_finish. Truth be told, I'm a little surprised those are included at all!

@robe2
Copy link
Author

robe2 commented May 9, 2023

Okay this might be my mistake. Looks like I added postgres dependency to pgrx-pg-sys trying to fix linking errors earlier and I see that's not in current Cargo.toml. Maybe that's what dragging that in. I'll try taking that out to see what happens in a bit.

@robe2
Copy link
Author

robe2 commented May 9, 2023

I don't think it was my inclusion of postgres extension. I took that out and still have issues even after cargo clean.

I also confirmed the https://github.com/sfackler/rust-postgres/ project actually compiles and runs fine under my msys/mingw64 setup. It fails some tests, but those are expected since they are testing extensions like hstore and ltree I didn't bother compiling.

But one thing I notice, yes I get fewer complaints about missing symbols when I explicitly add in postgres and libpq libraries as mentioned before,
but it's ending in a export ordinal too large: 193557

I read here https://users.rust-lang.org/t/export-ordinal-too-large-error-while-linking/74547/8 might be a bug in mingw64 linker. Other suggestion is reduce size of dll or reduct number of exports.

which is maybe why even adding the pgsql to list doesn't help as it's run out of room
So I'll see what happens if I do a frankenstein build using rust msvc instead of gnu as suggested in that link

Usually to get around these link issues I have my LDFLAGS
-Wl,--enable-auto-import

I tried putting that in, but didn't help

anyway my compile looks like this before it crokes on the export ordinal too large: 193557 and plpgsql errors

"x86_64-w64-mingw32-gcc" "-Wl,C:\\ming64\\msys\\tmp\\rustcRYA5sD\\list.def" "-fno-use-linker-plugin" "-Wl,--dynamicbase" "-Wl,--disable-auto-image-base" "-m
64" "-Wl,--high-entropy-va" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsbegin.o" "C:\\ming64\\msys\\tmp\\rustcRYA5sD\\symbols.o" "C:\\ming64\\pr
ojects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.10u4x7no93olct8g.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.10ve3e8jgfjft2qq.rcgu.
o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.126c5q0mhm2kqzzi.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.14hl
j1fkenvo5jhk.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.16y3bahgff4luwck.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\dep
s\\pgrx_tests.18jz0bckutote5ud.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.18sje2fq9id4sfj9.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\
target\\debug\\deps\\pgrx_tests.1algvfnzzfj86olo.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1c7oq39ku2nnj0xp.rcgu.o" "C:\\ming64\\proj
ects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1dkdy0mw9x474eel.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1dm8czujma2k0znf.rcgu.o"
 "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1f997c24r7zw9epr.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1fue3j
ecj08bj8qg.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1hc4tb9ho4nwxq5v.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\
\pgrx_tests.1hca545sjduhbd2k.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1hfvx4b451v3ijm0.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\ta
rget\\debug\\deps\\pgrx_tests.1if5hiim50qxmwb3.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1jz7rpl09vxhsmaj.rcgu.o" "C:\\ming64\\projec
ts\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1k89nkx1fegtmxhc.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1ksci9wrv8pyotpj.rcgu.o" "
C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1lxdd7a8wjb0ekvi.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1mrxw0az
tab2q5ma.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1oo16oo5m18rdh6m.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\p
grx_tests.1pjgqv7ctspzq315.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1pjjvquuajtw85n3.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\targ
et\\debug\\deps\\pgrx_tests.1qmd0rchsedzvgcp.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1r9kw90fm67li128.rcgu.o" "C:\\ming64\\projects
\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1rfti94mxrg5ljp4.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1ruewxachl9x2y89.rcgu.o" "C:
\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1tc0g63xtm9v4hij.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1tzt740fei
19uijg.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1unmni3wcc3zrp83.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgr
x_tests.1uy9tqw3i4ba3jjf.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1uybg4cibnmienb5.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target
\\debug\\deps\\pgrx_tests.1vvrxdeimz7lii93.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1w4b6e9asi90xkvu.rcgu.o" "C:\\ming64\\projects\\
rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1wvxu1c7i94xegu0.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.1yfylxy8b8ot70x7.rcgu.o" "C:\\
ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.20bshyhws0c9bryp.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.20soyhpr7xvv
y6ca.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.22hly0w9l724w4ku.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_
tests.23s3eg9ccik1sx3i.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.25fj2wt7bdbzrs3u.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\
debug\\deps\\pgrx_tests.29jwftfnowxc11t9.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2ahs3mhfml3ts3fk.rcgu.o" "C:\\ming64\\projects\\ru
st\\pgrx\\target\\debug\\deps\\pgrx_tests.2ahw8f0gj4xs2udy.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2an592dhgnc14soc.rcgu.o" "C:\\mi
ng64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2by3ujqvy6oo15ra.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2c71v301daiwd7
wh.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2f3mb0xgbxllj59h.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_te
sts.2f7lm2pycywnog4m.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2felz3ttalcucdm3.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\de
bug\\deps\\pgrx_tests.2g17kyhv4llsy8kx.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2gt1n2sqpsbud6l6.rcgu.o" "C:\\ming64\\projects\\rust
\\pgrx\\target\\debug\\deps\\pgrx_tests.2h176b3d7pabh45b.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2hdzkrait9eop18o.rcgu.o" "C:\\ming
64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2i0wioylkisno58b.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2i2kyinchr1h8nb0
.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2i55gwowqyxp6u81.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_test
s.2ibxrspv7ic8p1kg.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2il451vl31pzpgke.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debu
g\\deps\\pgrx_tests.2k7u2d428wtaofy3.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2k83oyi8okc01qmm.rcgu.o" "C:\\ming64\\projects\\rust\\
pgrx\\target\\debug\\deps\\pgrx_tests.2kgan4xsl7v650el.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2krrjb5cat5wlweo.rcgu.o" "C:\\ming64
\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2kwo90dhkj95h6vx.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2kzcxqmgk1iew8nq.r
cgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2l98ralod1u9f4gx.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.
2laqx6bkafio20fa.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2lnfz64r90mha9vy.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\
\deps\\pgrx_tests.2m7nsigoifhnflkz.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2md3961t8jjis0ft.rcgu.o" "C:\\ming64\\projects\\rust\\pg
rx\\target\\debug\\deps\\pgrx_tests.2miww605fdf6kyvi.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2oc4cdurb0dr8slu.rcgu.o" "C:\\ming64\\
projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2oel7ygkmk1ttuxa.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2oljapupz3o9uzsu.rcg
u.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2pgkdftu94zjrko8.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2s
i08wxl3jahu0g8.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2t21xnjsnsg0z6a0.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\d
eps\\pgrx_tests.2timyvs34qw6y4um.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2tqbc13adwzl5hiv.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx
\\target\\debug\\deps\\pgrx_tests.2uifbudrhjpf8u75.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2wfiujxris3iqidy.rcgu.o" "C:\\ming64\\pr
ojects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2wp1k4rcjx9zmqj1.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2xfl2ybh8hbkkvfm.rcgu.
o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2xh5iu7bk2r8ai7m.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2ydd
jtqahsnj910q.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2yfgkcfdf2sk3r6x.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\dep
s\\pgrx_tests.2z7fmvl3a9l1p8al.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.2ziv669w8cnxermh.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\
target\\debug\\deps\\pgrx_tests.2ztmwpnukwo4ahrj.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.308cakdkvuxb47gx.rcgu.o" "C:\\ming64\\proj
ects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.31133lbkn6hqjcr.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.329i71pg3e0pxpwo.rcgu.o"
"C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.33vrpksam1td0wj2.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.34ha0oc
f2c92704x.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.34z6cj1qopq7265w.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\
pgrx_tests.35rbqe7js1461e6m.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.36x296lk3o56vqz.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\targ
et\\debug\\deps\\pgrx_tests.37e1wt6qlnxq9fld.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.37hzqplxgybknd9y.rcgu.o" "C:\\ming64\\projects
\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3afll1ixpuohkwz4.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3anskrsxs6t32uf8.rcgu.o" "C:
\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3b3yfp56qsb7miil.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3c3721oxoa
zps960.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3d7vxac8d38zm6fj.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgr
x_tests.3e4w00mu8ctmnyua.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3e5oydrh02jkc4yf.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target
\\debug\\deps\\pgrx_tests.3eul8bmqnan1txar.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3gmwyop14je81kgd.rcgu.o" "C:\\ming64\\projects\\
rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3idqlglgif0j8o8d.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3j8qk4jrhop44x1o.rcgu.o" "C:\\
ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3jepm81kprpamjp.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3jng4pftrrws9
u11.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3jrvlb0tnd89x0gc.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_t
ests.3jzd2vug5d5htuz4.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3ke1z3pv71hqahiw.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\d
ebug\\deps\\pgrx_tests.3kuad50suiu68845.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3la8j12vw3nfqs49.rcgu.o" "C:\\ming64\\projects\\rus
t\\pgrx\\target\\debug\\deps\\pgrx_tests.3lt17b63gi6oanv9.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3mwdogo8h833rbaa.rcgu.o" "C:\\min
g64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3ngvdr55brxxaxb8.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3o5f107v9e7fekj
v.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3p1muezx5qncgb80.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tes
ts.3pmvcmz9v4x1vfd4.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3q2yl8gngra4160x.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\deb
ug\\deps\\pgrx_tests.3qnh7ywdozxka92.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3r6v0b9nqiz3f3xd.rcgu.o" "C:\\ming64\\projects\\rust\\
pgrx\\target\\debug\\deps\\pgrx_tests.3rw0kb2ythpk86k5.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3sbwcigwrm9ko53z.rcgu.o" "C:\\ming64
\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3ses8cq49lionj4g.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3slpf8xeqo1vbpzf.r
cgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3tacgohlft11o6ed.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.
3vwylfqcvi3aq1lj.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3wflyfjwmr2bhgqt.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\
\deps\\pgrx_tests.3wl7mnp6wwjdtplw.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.3yi80dcgumy2r3nw.rcgu.o" "C:\\ming64\\projects\\rust\\pg
rx\\target\\debug\\deps\\pgrx_tests.404gr6hpycscl0am.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.40swh03rpob9mkjr.rcgu.o" "C:\\ming64\\
projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.411isu1x9c5giblr.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.41nys7djohg9pxph.rcg
u.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.42ab7hfwuyj6757h.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.42
aiwwfigedtzz1y.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.42bhmt56rkelr2x9.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\d
eps\\pgrx_tests.45zhd3nvrppy5xpb.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4606b37k9f57waqh.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx
\\target\\debug\\deps\\pgrx_tests.46f5snxtwdre5mzx.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.47qyx6toh41ip0tc.rcgu.o" "C:\\ming64\\pr
ojects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.48vvtun86cscn6ul.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.494e6ofi9rpbfeer.rcgu.
o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.49fwwuc17hb5gcef.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.49ge
rkr75jw3mhrr.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.49s1d4kvezh8l34f.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\dep
s\\pgrx_tests.4a6je4vkbgtlm9o8.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4cey60q09k9gyx1d.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\
target\\debug\\deps\\pgrx_tests.4cfnpwllph8296xt.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4e8myz6x5ui9brqi.rcgu.o" "C:\\ming64\\proj
ects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4euna9zle8ulzedt.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4f7tqzvj6sr5mu6y.rcgu.o"
 "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4hs8su09orfu9wqj.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4iloim
yvmbx30jzu.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4juei00786mlefko.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\
\pgrx_tests.4krsyha6i0ibrlbc.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4m2plbqzdi0712s0.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\ta
rget\\debug\\deps\\pgrx_tests.4nljywzwvx1zpytz.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4o23fty9c0u1jq38.rcgu.o" "C:\\ming64\\projec
ts\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4poszvzmlhriz4u8.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4qby33k2n25zhhc8.rcgu.o" "
C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4qfkblk93e6k97pf.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4r1zi3t9
l1bw0qz2.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4shasbcetn19puq7.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\p
grx_tests.4sm2820jukc200ky.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4tr187rkuqlkpbnx.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\targ
et\\debug\\deps\\pgrx_tests.4tzp11lcoxnd1ddy.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4ugxvem16o152d2f.rcgu.o" "C:\\ming64\\projects
\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4uk7wahu51ihkgh7.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4va16uwbeb9v8r3i.rcgu.o" "C:
\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4vn8dygkzv8pmgdf.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4wlzk4y0zg
6uurki.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4wxmmfy7i7hgndxa.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgr
x_tests.4x9oxo2om14fgnjv.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.4ya28o3364jx1di.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\
\debug\\deps\\pgrx_tests.4zsehuzoozgw5sej.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.506cw7pvjnlv6y7z.rcgu.o" "C:\\ming64\\projects\\r
ust\\pgrx\\target\\debug\\deps\\pgrx_tests.50bfy5b14b4f1vkb.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.50riwwfce6x8jg1f.rcgu.o" "C:\\m
ing64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.51179d5pg19d6vvx.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.51mlw7adxug2m
4dp.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.51u175v6e8qkg37b.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_t
ests.52jpk4ogksl0avh8.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.52rxj5liuarkj7k6.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\d
ebug\\deps\\pgrx_tests.53dtolhdl0euwbo5.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.53kjn9u1pqtd04je.rcgu.o" "C:\\ming64\\projects\\rus
t\\pgrx\\target\\debug\\deps\\pgrx_tests.545b3io327mj12x3.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.54fqphk7xb0r4dx1.rcgu.o" "C:\\min
g64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.55eh3zcklt1mynds.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.55llhr247twcd0s
z.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.55ml53eax9ljekir.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tes
ts.56bpdthpf6t55ipy.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.57h6oexjmb53daeb.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\deb
ug\\deps\\pgrx_tests.58j1qdgq29e068id.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.5922q9mmjnh600oo.rcgu.o" "C:\\ming64\\projects\\rust\
\pgrx\\target\\debug\\deps\\pgrx_tests.59rjm9ba89em3mn1.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.5an3829jr3otlnci.rcgu.o" "C:\\ming6
4\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.5b3yb0wq9tl2mr04.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.5biwr17mzxbhcjl1.
rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.5bkg1zf9y4fjzykr.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests
.5byfzcu80vv0ifmb.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.5bypge2uj4grafpv.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug
\\deps\\pgrx_tests.5ey5eclm5280ti7m.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.5fow560eyito2mde.rcgu.o" "C:\\ming64\\projects\\rust\\p
grx\\target\\debug\\deps\\pgrx_tests.5fwk86howrvjje3z.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.5h5g6fxjyguugfs.rcgu.o" "C:\\ming64\\
projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.7rspm2lwvpxlphv.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.8yptdfncvtwjj2e.rcgu.
o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.90wxsrrqga95e0g.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.c12jg
1kem2p6coo.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.ci58uonjqvd0nrm.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\
pgrx_tests.gepwdffrq6r0dko.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.iyrkhanmcqgnh0j.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\targe
t\\debug\\deps\\pgrx_tests.l89yxqghsgezclm.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.lue23r13qw5ld3g.rcgu.o" "C:\\ming64\\projects\\r
ust\\pgrx\\target\\debug\\deps\\pgrx_tests.m27mjxaihi2sgzr.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.mwa8xdmhar64jm9.rcgu.o" "C:\\min
g64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.n2tl78t9l7htf8y.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.ngf944ixs1oloe1.
rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.o16w8y8139far9w.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.
pnn2qubud0hc08y.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.pzgfw9hkwf9teyh.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\d
eps\\pgrx_tests.qswoyf2gcddduoj.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.r4tqfjy1bfvwnag.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\
target\\debug\\deps\\pgrx_tests.r9olxkmczhg2kmi.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.rvyyzftg1xpnrwb.rcgu.o" "C:\\ming64\\projec
ts\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.sf77z3kgriyjsru.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.tb5moqdnqdm71c9.rcgu.o" "C:
\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.uraoqj70kmgr786.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.vc376u71toi
l6xp.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.vc8j4v0mhw99ddb.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_t
ests.vtwim52ykudpwp0.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.w8y7qbtk391gw9.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debu
g\\deps\\pgrx_tests.wsa57qlpr1hh1nd.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.x5da45qsterorfd.rcgu.o" "C:\\ming64\\projects\\rust\\pg
rx\\target\\debug\\deps\\pgrx_tests.xy1tieg458u8cgl.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.yebi8qrl4ul4n17.rcgu.o" "C:\\ming64\\pr
ojects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.yev9ctnvbu7hl5i.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.zbzpwombn0t75ov.rcgu.o"
 "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.zdkvyfist7i7yhz.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.zk17goi
qi53g9hs.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.zpfjq0ddhnyfqpg.rcgu.o" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\pg
rx_tests.s6iq6yvbnqf8sm9.rcgu.o" "-L" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps" "-L" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\build\\pgrx-pg-sy
s-86df2b493ce566e1\\out\\cshim" "-L" "C:\\Users\\Administrator\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\winapi-x86_64-pc-windows-gnu-0.4.0\\lib" "-L" "C:\
\Users\\Administrator\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\windows_x86_64_gnu-0.42.2\\lib" "-L" "C:\\Users\\Administrator\\.cargo\\registry\\src\\gith
ub.com-1ecc6299db9ec823\\windows_x86_64_gnu-0.48.0\\lib" "-L" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-Wl,-Bstatic" "C:\\ming64\\projects\\ru
st\\pgrx\\target\\debug\\deps\\libclap_cargo-ec2dce823641a3ae.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libclap-99a7253eb154af6e.rlib" "C:\\ming64
\\projects\\rust\\pgrx\\target\\debug\\deps\\libclap_builder-a8d2a93f8427ddeb.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libanstyle-ef0f3ee1f32eb97
2.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libclap_lex-ded8e5b81c65dbe9.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libdoc_comm
ent-a1b53506f2975dd9.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libregex-7ab82550bf1b5a86.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\d
eps\\libaho_corasick-54b4ebdf92e1d9e4.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libregex_syntax-6ef0169f4847fca7.rlib" "C:\\ming64\\projects\\rust
\\pgrx\\target\\debug\\deps\\libsysinfo-04d191231670fe38.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\librayon-cf4c93403aeb924a.rlib" "C:\\ming64\\pr
ojects\\rust\\pgrx\\target\\debug\\deps\\librayon_core-1cd57448815a2242.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libnum_cpus-7eb23bf4cd90138a.rli
b" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libcrossbeam_deque-af845724ad41060d.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libcrossb
eam_epoch-2a50a0f1db3e9ba7.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libcrossbeam_channel-411bffbc9ebbdb89.rlib" "C:\\ming64\\projects\\rust\\pgrx
\\target\\debug\\deps\\libcrossbeam_utils-906a2e98c95d3b95.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libeither-21823a37fe67b571.rlib" "C:\\ming64\
\projects\\rust\\pgrx\\target\\debug\\deps\\libntapi-2984f33c07bc7643.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libpostgres-f3d9eacfe6958a99.rlib"
 "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libtokio_postgres-2d5764494cc3a9ef.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libphf-59847
4f91f0fc003.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libphf_shared-8bfe2235989d8667.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\
\libsiphasher-579cb0dc840351e0.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libsocket2-0340a30e4538b1a5.rlib" "C:\\ming64\\projects\\rust\\pgrx\\targ
et\\debug\\deps\\libtokio_util-e4507f0a6f8cd021.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libtracing-0384f49a3e4d8274.rlib" "C:\\ming64\\projects\
\rust\\pgrx\\target\\debug\\deps\\libtracing_core-5fc8ecb719fb5f6c.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libparking_lot-66bbbbac289d89f7.rlib"
 "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libparking_lot_core-1f78270c17fdad9b.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libsmallve
c-45cec9ccc17f6452.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libfutures_channel-a0231713a7f56e64.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\
debug\\deps\\libtokio-6962dbb0eab9c9c9.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libsocket2-0b3536d768401b58.rlib" "C:\\ming64\\projects\\rust\\pg
rx\\target\\debug\\deps\\libwindows_sys-98054779d955e260.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libwindows_targets-c2bd5d23df24a870.rlib" "C:\\
ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libmio-12f103695fbe393b.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libwindows_sys-a3b243c9eb2328
ba.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\liblog-bf43d9d3ca6a78e3.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libpostgres_typ
es-1d90851a88b6f162.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libpostgres_protocol-dd54eff3aeb39553.rlib" "C:\\ming64\\projects\\rust\\pgrx\\targe
t\\debug\\deps\\libstringprep-375891778592b5b6.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libmemchr-6482fd19e84e115b.rlib" "C:\\ming64\\projects\\r
ust\\pgrx\\target\\debug\\deps\\libsha2-af7667efbe006860.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libcpufeatures-0bd458c504261ceb.rlib" "C:\\ming
64\\projects\\rust\\pgrx\\target\\debug\\deps\\librand-dc7aa86a55bff23b.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\librand_chacha-19988bbab5fce008.
rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libppv_lite86-472ef86d207ab229.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\librand_cor
e-01780a16d294548c.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libhmac-aa196daa36b576c5.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps
\\libbase64-56bb2735ffc9e198.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libmd5-a09c72239dfb41d2.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\de
bug\\deps\\libdigest-229a6c5a1e29f7fc.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libsubtle-7b28983f915bde70.rlib" "C:\\ming64\\projects\\rust\\pgrx
\\target\\debug\\deps\\libblock_buffer-cd47f86c06e56a23.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libcrypto_common-57313c9721f408ba.rlib" "C:\\min
g64\\projects\\rust\\pgrx\\target\\debug\\deps\\libgeneric_array-d1fa1eafbab16561.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libtypenum-8a54cf48442
edc7a.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libfutures_util-b44504b8c7b387ec.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\lib
slab-67cadcda6d966b17.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libpin_project_lite-5edde307c93e3eea.rlib" "C:\\ming64\\projects\\rust\\pgrx\\targ
et\\debug\\deps\\libfutures_sink-fdac91f330c636d7.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libfutures_task-a2d3ce4b0fc2a063.rlib" "C:\\ming64\\pr
ojects\\rust\\pgrx\\target\\debug\\deps\\libpin_utils-f86ecb7115907e13.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libfutures_core-c5bb0926bdb0a9a4.
rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libbytes-8338b58693e43bb3.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libfallible_iter
ator-ba5f3d2ee5673b67.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libpgrx_pg_config-cd7e49a5815fefd0.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target
\\debug\\deps\\libdirs-1cafea17373c510b.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libdirs_sys-ad3e0e68e508920d.rlib" "C:\\ming64\\projects\\rust\\
pgrx\\target\\debug\\deps\\libwinapi-bb11c3e42dca4155.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libpathsearch-a2f580e791e5f033.rlib" "C:\\ming64\\
projects\\rust\\pgrx\\target\\debug\\deps\\libcargo_toml-08c91d52024cb8f5.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libtoml-4013a495580374d0.rlib"
 "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libtoml_edit-f10fbb286ab5f7d4.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libserde_spanned-
7c5f711e5f09c644.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libwinnow-0bdb634a0fc0698d.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps
\\libtoml_datetime-66acc06d15ac1dcb.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\liburl-59a006d1228647c8.rlib" "C:\\ming64\\projects\\rust\\pgrx\\tar
get\\debug\\deps\\libidna-1dd8ac9a72f5e6d4.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libunicode_normalization-865711dbfef5609e.rlib" "C:\\ming64\\
projects\\rust\\pgrx\\target\\debug\\deps\\libtinyvec-af1f602655a34a5d.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libtinyvec_macros-b81a4b15dd92e20
0.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libunicode_bidi-cea9bdd3c02f685e.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libform
_urlencoded-37a5b759783afbc6.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libpercent_encoding-0b445b7cf420e943.rlib" "C:\\ming64\\projects\\rust\\pgr
x\\target\\debug\\deps\\libpgrx-7b66f4ab8c9be54d.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libheapless-1f8225cf2aaf31be.rlib" "C:\\ming64\\project
s\\rust\\pgrx\\target\\debug\\deps\\libstable_deref_trait-4eb3ac9856ce700b.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libspin-f8784cac39468aad.rlib
" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\liblock_api-0bc1e20bca57975d.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libscopeguard-8bd
6c009be637436.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libhash32-ec6c0966e858f61f.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\l
ibbyteorder-ff0620d9eff0a3b3.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libseahash-d82a7b4efac18011.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target
\\debug\\deps\\libserde_cbor-c95db48c4bdbae3d.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libhalf-7e089c52878a8f00.rlib" "C:\\ming64\\projects\\rust
\\pgrx\\target\\debug\\deps\\libatomic_traits-b511e3f2b7ad0fd0.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libthiserror-74130682daa8d751.rlib" "C:\\
ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libuuid-c16fdfd956fdf8db.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libgetrandom-e70aedb292ec4b6
3.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libcfg_if-c25a8f4cf493fed6.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\liblibc-dcdd6
e82d14fb0fa.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libtime-dcefb3d9b116b438.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libti
me_core-286cae6f2a741c85.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libserde_json-cee97464b47fc937.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\
\debug\\deps\\libryu-aca97350d85af9c7.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libitoa-0c63b5a4df5e41ad.rlib" "C:\\ming64\\projects\\rust\\pgrx\\
target\\debug\\deps\\libenum_map-e4b6ae54bbcc9363.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libbitvec-ad5163d366f1028d.rlib" "C:\\ming64\\projects
\\rust\\pgrx\\target\\debug\\deps\\libwyz-04dcdecc90c8069a.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libtap-3ad54cf43c39493a.rlib" "C:\\ming64\\pr
ojects\\rust\\pgrx\\target\\debug\\deps\\libradium-1fa4b18bf4fe881c.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libfunty-32cfdc0552a81769.rlib" "C:\
\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libpgrx_pg_sys-22f6c02437bccbaf.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libserde-369a10fe8a6
818ee.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libmemoffset-f2b39691f2a234dd.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libpgr
x_sql_entity_graph-8d70be69519b14b9.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libunescape-271d7cba1eca007f.rlib" "C:\\ming64\\projects\\rust\\pgrx
\\target\\debug\\deps\\libpetgraph-0824bdb21f28b149.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libindexmap-68b4781ce0a6aef4.rlib" "C:\\ming64\\proj
ects\\rust\\pgrx\\target\\debug\\deps\\libhashbrown-6b0ccfe96293ff39.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libfixedbitset-70c69805f513a30d.rli
b" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libconvert_case-1ab66091ccee48e7.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libunicode_s
egmentation-6312f6de02dbd42b.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libsyn-69f973cc68d1bd10.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\de
bug\\deps\\libquote-94ace0e844dbaf3d.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libproc_macro2-716e6772019f82aa.rlib" "C:\\ming64\\projects\\rust\\
pgrx\\target\\debug\\deps\\libunicode_ident-e7d39478400d706f.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libproc_macro-1b7fd003ce276951.rlib
" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libsptr-70a1091969aeeba2.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libbitflags-ed0442796
15cab94.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libowo_colors-3016888400f87e2f.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\lib
eyre-944a5bcc17ffb9e9.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\libindenter-f31c508b209b58e6.rlib" "C:\\ming64\\projects\\rust\\pgrx\\target\\debu
g\\deps\\libonce_cell-cfa008a79d8908ce.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libstd-ac1f4cf51d246c6d.rlib" "C:\\ming64\\mingw64\\lib\\
rustlib\\x86_64-pc-windows-gnu\\lib\\libpanic_unwind-99e85263911152ba.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libobject-0f297d7eb5bda6e5
.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libmemchr-56a42d7f84d308da.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib
\\libaddr2line-7b9f85867a150bff.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libgimli-e4f167b10cfc02a1.rlib" "C:\\ming64\\mingw64\\lib\\rustl
ib\\x86_64-pc-windows-gnu\\lib\\librustc_demangle-65d6d2eb45dbf9d3.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libstd_detect-c99c4d92fbed405
8.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libhashbrown-3aad001ce0f4891b.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\
\lib\\libminiz_oxide-078dc9891d3aa9c5.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libadler-5d203ccbc670d644.rlib" "C:\\ming64\\mingw64\\lib\
\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_std_workspace_alloc-5167566b07b6d61f.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libunwind-b1
14eb92cdb7750e.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcfg_if-ea1abb5d40bd456e.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-wi
ndows-gnu\\lib\\liblibc-d2f27c8d203574d7.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\liballoc-d880525be5a5291d.rlib" "C:\\ming64\\mingw64\\l
ib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_std_workspace_core-09f90b0489164b8c.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcore-a1
7ca02207b40c94.rlib" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcompiler_builtins-3bf88c2ef39a36af.rlib" "-Wl,-Bdynamic" "-lntdll" "-lwindows.
0.48.0" "-lntdll" "-lwindows" "-lwinapi_advapi32" "-lwinapi_cfgmgr32" "-lwinapi_comctl32" "-lwinapi_credui" "-lwinapi_fwpuclnt" "-lwinapi_gdi32" "-lwinapi_iphlpapi" "
-lwinapi_kernel32" "-lwinapi_msimg32" "-lwinapi_netapi32" "-lwinapi_ntdll" "-lwinapi_ole32" "-lwinapi_oleaut32" "-lwinapi_opengl32" "-lwinapi_pdh" "-lwinapi_powrprof"
 "-lwinapi_psapi" "-lwinapi_secur32" "-lwinapi_shell32" "-lwinapi_shlwapi" "-lwinapi_synchronization" "-lwinapi_user32" "-lwinapi_winspool" "-lwinapi_ws2_32" "-lbcryp
t" "-ladvapi32" "-lmsvcrt" "-lpostgres" "-llibpq" "-lkernel32" "-ladvapi32" "-luserenv" "-lkernel32" "-lws2_32" "-lbcrypt" "-lgcc_eh" "-l:libpthread.a" "-lmsvcrt" "-l
mingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-luser32" "-lkernel32" "-Wl,--nxcompat" "-L" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-o" "C:\\ming64
\\projects\\rust\\pgrx\\target\\debug\\deps\\pgrx_tests.dll" "-Wl,--gc-sections" "-shared" "-Wl,--out-implib=C:\\ming64\\projects\\rust\\pgrx\\target\\debug\\deps\\li
bpgrx_tests.dll.a" "-nodefaultlibs" "-Wl,--unresolved-symbols=ignore-all" "C:\\ming64\\mingw64\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsend.o"
  = note: C:/ming64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: error: export ordinal too large: 193557

@thomcc
Copy link
Contributor

thomcc commented May 18, 2023

Hm, that's probably not the right approach, let me look and see if there's a better solution to your problem.

(Note that -undefined dynamic_lookup (and consequently the -Wl version) are flags that only apply to the macOS linker, ld64)

@robe2
Copy link
Author

robe2 commented May 25, 2023

@thomcc Thanks. Any thoughts are welcome

@thomcc
Copy link
Contributor

thomcc commented May 25, 2023

Hm, yeah, I got stuck here, sorry. How do you import the symbols in C? dllimport? Do we have an import lib for the pg symbols?

If not perhaps we need to use raw_dylib, but as C has no equivalent, I'd assume some import lib exists

@robe2
Copy link
Author

robe2 commented Jun 1, 2023

Usually adding to my LDFLAGS something like

-Wl,--enable-auto-import -L/path/to/postgresql/lib 

does the trick. lib is the folder that contains all the extension libraries and libpq.dll, libpostgresq.a, libpgport.a etc. I'm not sure where I can put that -L/path/to/postgresql/lib .

One thing I notice is rust is introducing other things to LDFLAGS and trying to remove them doesn't seem to work, so I'm thinking its some additional things it's adding that is conflicting with what I'm trying to add. I forgot how I saw that. I'll try to rerun again to see the full output it is using for LDFLAGS

@thomcc
Copy link
Contributor

thomcc commented Jun 2, 2023

So one trick to customize linking for rust is to make a little python (or whatever) program that you set as the linker, which then gets set as CARGO_TARGET_*_LINKER (well, in your case CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER) which then rewrites the linker args to be what you want before forwarding to the real linker.

If this sounds abstract, when I worked at mozilla we did that in servo here and in rust-android-gradle here (both of these uses are Android for various reasons having to do with the bionic linker being annoying, but it would work fine for your case too, you'd just need to forward to link.exe).

I'm not sure if that helps you any, but that's generally the solution to "damn, rustc is sending the wrong flags to the linker"-style problems.

@thomcc
Copy link
Contributor

thomcc commented Jun 3, 2023

Actually, if you have access to a dll of a C extension built in this manner, and can use dumpbin to dump its imports (see https://learn.microsoft.com/en-us/cpp/build/reference/imports-dumpbin?view=msvc-170 -- don't provide the filter for import source, just dumpbin /imports basic_ext.dll), it would help if you can put that output in a gist (the simpler the extension, the better1). Also don't throw it away afterwards -- I might need you to run other dumpbin commands to get other information.

Basically, I suspect --enable-auto-import is breaking something, and ideally that could be fixed, but I suspect we don't actually need it -- we can instead just import from the right thing the way we do elsewhere2.

Footnotes

  1. Ideally it would but really we just need something that just exposes a call into some pg function (since the goal is to figure out how those functions are getting imported), but if that's too painful to set up, a complex one is better than nothing.

  2. And if that's impossible, in the worse case scenario we can use Rust's functionality for auto-generating an import library to link against something arbitrary (even without an import library or even a physical DLL), but that's probably a last resort -- I doubt it's needed.

@robe2
Copy link
Author

robe2 commented Jun 7, 2023

Just in case you need it, since I had to use my VS install to use dumpbin.
The output that shows is the same hstore.dll compiled with mingw64.

Here is the output of

dumpbin /imports hstore.dll

https://gist.github.com/robe2/6f0fdf660d938a29672786a722994f63

Using mingws objdump too
objdump -x hstore.dll

https://gist.github.com/robe2/b08eb86f424f64052e06316102c66b4f

@robe2
Copy link
Author

robe2 commented Jun 7, 2023

Just occurred to me I didn't compile hstore with --enable-auto-import, though I think somewhere in postgresql code it does have that logic in there for windows.

Here is another extension (packaged with postgis (though just has a dependency on pcre) ) where my configure does have -enable-auto-import for sure, and seems to import different set of symbols.

dumpbin /imports address_standardizer-3.dll

https://gist.github.com/robe2/5b1e2a4d7bd84154add7d09e85134301

For the postgresql contrib extensions, I don't think I've ever had to do that at least not for a while.

I didn't follow what you said about CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER but maybe when I read those files you linked to it will be clearer.

@thomcc
Copy link
Contributor

thomcc commented Aug 2, 2023

I found out the solution here. We need to either:

  1. Use #[link(kind = "raw-dylib", name = "postgres")] on our extern blocks (perhaps name = "postmaster", whichever is the real name of the binary that loads us. also it may need the .exe). Unfortunately, doing this directly would break schema generation, which wants to load the extension library at runtime.

    Working around this is possible (for example, by having a cfg flag that just stubs these functions out when doing schema generation), but annoying and slow to compile.

  2. Use runtime loading of symbols, e.g. lazily evaluate GetProcAddress(GetModuleHandle(0), <symbol name>). This would avoid the schema generator changes above, but would not work for extern statics (e.g. globals), so is probably a non-starter.

So, this is not really trivial to fix, but it is far from impossible. I may be getting a nice windows machine in the next few months, and if I do so I might hack something for this together over a weekend.


Note that all of this assumes that there's no postgres.dll or whatever, which actually contains the symbol definitions we need. It's surprising that there's not (since this functionality is pretty obscure even in C) I haven't heard that there is. If there is such a dll, we just need to generate an import library for it, similar to how it's done in https://github.com/PyO3/python3-dll-a and https://github.com/PyO3/pyo3/blob/ae982b8ad0fff71d4d2fdbc2f7055500a6fb450f/pyo3-build-config/src/import_lib.rs, (and probably store the import library it in the PGRX home).

Note mostly for my own reference in the future, https://github.com/lucasg/Dependencies can be used to help track this stuff down.

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

No branches or pull requests

4 participants