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

python ld flags not detected... #4068

Closed
flynn1973 opened this issue Apr 11, 2024 · 6 comments · Fixed by #4073
Closed

python ld flags not detected... #4068

flynn1973 opened this issue Apr 11, 2024 · 6 comments · Fixed by #4073

Comments

@flynn1973
Copy link

os: AIX
rust: rustc 1.76.0-dev (fcce8cab4 2023-12-26) (IBM SDK for Rust on AIX)
maturin: 1.5.1

python ldflags are not detected, build fails...

root@nimvie: /tmp/rpds_py-0.18.0 # PYO3_PRINT_CONFIG=1 cargo build
   Compiling target-lexicon v0.12.9
   Compiling autocfg v1.1.0
   Compiling once_cell v1.18.0
   Compiling proc-macro2 v1.0.66
   Compiling libc v0.2.147
   Compiling unicode-ident v1.0.11
   Compiling parking_lot_core v0.9.8
   Compiling heck v0.4.1
   Compiling cfg-if v1.0.0
   Compiling smallvec v1.11.0
   Compiling scopeguard v1.1.0
   Compiling static_assertions v1.1.0
   Compiling triomphe v0.1.9
   Compiling unindent v0.2.3
   Compiling indoc v2.0.4
   Compiling archery v1.1.0
   Compiling lock_api v0.4.10
   Compiling memoffset v0.9.0
   Compiling rpds v1.1.0
   Compiling quote v1.0.31
   Compiling pyo3-build-config v0.20.2
   Compiling syn v2.0.32
   Compiling parking_lot v0.12.1
   Compiling pyo3-ffi v0.20.2
   Compiling pyo3 v0.20.2
error: failed to run custom build command for `pyo3-ffi v0.20.2`

Caused by:
  process didn't exit successfully: `/tmp/rpds_py-0.18.0/target/debug/build/pyo3-ffi-406d3d4a023e3c99/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=PYO3_CROSS
  cargo:rerun-if-env-changed=PYO3_CROSS_LIB_DIR
  cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_VERSION
  cargo:rerun-if-env-changed=PYO3_CROSS_PYTHON_IMPLEMENTATION
  cargo:rerun-if-env-changed=PYO3_PRINT_CONFIG

  -- PYO3_PRINT_CONFIG=1 is set, printing configuration and halting compile --
  implementation=CPython
  version=3.9
  shared=true
  abi3=false
  lib_name=python3.9
  lib_dir=/usr/opt/python3/lib
  executable=/usr/bin/python3
  pointer_width=64
  build_flags=
  suppress_build_script_link_lines=false

  note: unset the PYO3_PRINT_CONFIG environment variable and retry to compile with the above config
warning: build failed, waiting for other jobs to finish...

after adding it to rustflags build succeeds...

root@nimvie: /tmp/rpds_py-0.18.0 # python3.9-config --ldflags
-L/usr/opt/python3/lib -lpython3.9 -lintl -ldl -lm -lm

root@nimvie: /tmp/rpds_py-0.18.0 # maturin build
📦 Including license file "/tmp/rpds_py-0.18.0/LICENSE"
🔗 Found pyo3 bindings
🐍 Found CPython 3.9 at /usr/bin/python3
📡 Using build options features from pyproject.toml
   Compiling target-lexicon v0.12.9
   Compiling autocfg v1.1.0
   Compiling proc-macro2 v1.0.66
   Compiling once_cell v1.18.0
   Compiling unicode-ident v1.0.11
   Compiling libc v0.2.147
   Compiling parking_lot_core v0.9.8
   Compiling smallvec v1.11.0
   Compiling scopeguard v1.1.0
   Compiling cfg-if v1.0.0
   Compiling heck v0.4.1
   Compiling triomphe v0.1.9
   Compiling static_assertions v1.1.0
   Compiling indoc v2.0.4
   Compiling unindent v0.2.3
   Compiling archery v1.1.0
   Compiling rpds v1.1.0
   Compiling lock_api v0.4.10
   Compiling memoffset v0.9.0
   Compiling quote v1.0.31
   Compiling pyo3-build-config v0.20.2
   Compiling syn v2.0.32
   Compiling parking_lot v0.12.1
   Compiling pyo3-ffi v0.20.2
   Compiling pyo3 v0.20.2
   Compiling pyo3-macros-backend v0.20.2
   Compiling pyo3-macros v0.20.2
   Compiling rpds-py v0.18.0 (/tmp/rpds_py-0.18.0)
    Finished dev [unoptimized + debuginfo] target(s) in 56.71s
📖 Found type stub file at rpds.pyi
📦 Built wheel for CPython 3.9 to /tmp/rpds_py-0.18.0/target/wheels/rpds_py-0.18.0-cp39-cp39-aix_3_00CA8B904B00.whl

@davidhewitt
Copy link
Member

Can you describe what you're doing and what the problem is here in some more detail?

@flynn1973
Copy link
Author

i tried to built a wheel of rpds-py with maturin for testing purposes, but the linker crashes with unresolved symbols.

root@nimvie: /tmp/rpds_py-0.18.0 # maturin build
📦 Including license file "/tmp/rpds_py-0.18.0/LICENSE"
🔗 Found pyo3 bindings
🐍 Found CPython 3.9 at /usr/bin/python3
📡 Using build options features from pyproject.toml
   Compiling target-lexicon v0.12.9
   Compiling autocfg v1.1.0
   Compiling once_cell v1.18.0
   Compiling proc-macro2 v1.0.66
   Compiling libc v0.2.147
   Compiling unicode-ident v1.0.11
   Compiling parking_lot_core v0.9.8
   Compiling cfg-if v1.0.0
   Compiling heck v0.4.1
   Compiling smallvec v1.11.0
   Compiling scopeguard v1.1.0
   Compiling triomphe v0.1.9
   Compiling static_assertions v1.1.0
   Compiling indoc v2.0.4
   Compiling unindent v0.2.3
   Compiling archery v1.1.0
   Compiling rpds v1.1.0
   Compiling lock_api v0.4.10
   Compiling memoffset v0.9.0
   Compiling pyo3-build-config v0.20.2
   Compiling quote v1.0.31
   Compiling parking_lot v0.12.1
   Compiling syn v2.0.32
   Compiling pyo3-ffi v0.20.2
   Compiling pyo3 v0.20.2
   Compiling pyo3-macros-backend v0.20.2
   Compiling pyo3-macros v0.20.2
   Compiling rpds-py v0.18.0 (/tmp/rpds_py-0.18.0)
error: linking with `ld` failed: exit status: 8
  |
  = note: LC_ALL="C" PATH="/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/bin:/usr/local/rustsdk/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java8_64/jre/bin:/opt/freeware/bin:/opt/freeware/sbin:.:/usr/lib/instl:/usr/local/ibm:/opt/csm/bin:/opt/IBM/dscli:/root/bin:/aix_lundb/etc::/srv/www/cargo_cache/bin" VSLANG="1033" "ld" "-bE:/tmp/rustcB4dmml/list.exp" "-b64" "-bpT:0x100000000" "-bpD:0x110000000" "-bcdtors:all:0:s" "/tmp/rustcB4dmml/symbols.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.10artsdnsz4hnrop.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.10fej8ynf0dw0t5e.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.10uaf7zijdocey4k.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.11mj1u8azlxphmh2.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.13m16ldvlkx2eyk1.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.14i18zh8vg0k4yre.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.17zrc2q4bhe4vipx.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.184xx9gij49w91so.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.187okrvifbmmxax2.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.18zivnd4lyfo25h.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1a8x3f9lm0w4b7j7.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1g6mq3idqrvspbyd.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1ggvrcy1bpnycnoi.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1hcpoucjop2r4goj.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1i52kmjtz1avuglg.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1ivloxnva5gu6e0.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1iwtjww1d240slde.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1jxzzaackols61lk.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1mfxf41xs6eawy88.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1mnx94ua63erz35z.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1rd4gp96weudbgod.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1vva818veey8chno.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1vyiwyg7j4mxidz0.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1x40bxc5dfxk4wly.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1xk8avuruyutgbai.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1yn201ib0jce6rjn.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.1zl8iugn58py7r51.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.21w7str8irk4vxdc.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2574uhjc9nl863ma.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.25j8yxjyxo5us6i0.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.26iuasny4z4t7q7l.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.27qj11qet1p0f9lc.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2bd6weog1mqkx240.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2d06g0daew5j4ziy.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2fpsax81nmedp6ny.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2grkc2wu2wmc342p.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2h1v38s18nyhin6c.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2ij5e4o3d9kvxo4h.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2l1bit8yfytsqypi.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2lxvpyb3obz27j9p.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2mq4csa5w4ur2odl.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2os5n4w147siq1e3.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2ouylct9hmg5j8wf.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2q6fg70tv1so5wsy.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2rx4g4y0kazkjnhl.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2s9usbn7l2tn107s.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2tahkqiuu3px2gf9.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2tszgfsiv6zymocy.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2ufd8iyu7hnl4bd.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2w7vxj57wze0j9f0.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2wy28tbg07ajq4ad.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2x62r40cbkzk8cgb.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2y2j60zeyncvjoy5.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.2yzyo5958p40r2n0.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.320fbw88qur6l119.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3343waius2b8cenw.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.339mqx8sxlsjc42i.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.34vu3ig7h7ap2rxt.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.356lf7v96z59wvda.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.35td9k389bkuvbhw.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.36jxao52ofztwbr3.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.36rzbp3xk8gauxhi.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.371sil09bbw4dmgr.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.37j5r3uzczvmu90m.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.37mwdypzcsriczee.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.37uftd6qytj5hzor.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.38jgyfjhs6uvr6ii.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3asdfxdpacuppvmj.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3b7kpslgmni15rwb.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3iiqze6hfktb4nrx.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3jg68j7hr42vloo7.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3k4w2jtqoy06wfs0.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3nmo449x6mzqx54g.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3p120xlba15m9i7k.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3q5ymhcuz8zhomig.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3rtcjcjdaxjgmbx6.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3trzddwbupgljsgd.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3u0jg1lwwcihln77.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3u9j1dfwo0z36fd7.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3xi6bxo8n3thziqi.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3zhx4ew377hkd5lj.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.3zi77hvant99hpyl.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.40jlj5il59gpqkjq.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.41qkdz9pf056k9ge.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4820pqvrnvsznb1q.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4dnatrrl7w5xz4qq.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4e2eh0lo87818x86.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4gcebp2ikh4uojlf.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4i0l8rokcvb3h0qb.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4ljipq75qe6vrpaj.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4m8mdduo28eaf6z3.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4p5v4hc8avk0kl22.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4pe9k8nqrgnqv8um.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4rn99fm6e8d9a6k2.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4tyb39h0jn9jbezf.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4y911zex880cfzf4.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4zowzwl2gznkc626.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.4zvjyb56eq9atlpp.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.544ujd3zswvfqw24.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.54fxc9tuyhw7zm5b.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.57k0hmmb5cdihn9a.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.5a2z36r2655j2q4y.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.5bsbhj13c47rlp7b.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.5duadtpvo40petjm.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.5fk55xy96rxk67aj.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.6d8qvk9w3wwowv1.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.6pfhgrxmt776v48.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.8ejpo18axilsqqm.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.arau6ex9y8d5cap.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.d10jko9ooezejdj.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.egcgcnffrvnaz67.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.fbad61cgpmspdw4.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.fbk38jwzu0rjn97.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.httm8m00cb8zjfp.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.kubn0kfz93ckr6i.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.nf8nuxw4ijc10m9.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.puhnc5jdidspghw.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.q5m6psv7nt7fdbh.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.t2x65rs6ulibdgy.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.tundb8bq8t8zd3w.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.ubcyru3fa7sxhv6.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.wzcq14lt0loyraa.rcgu.o" "/tmp/rpds_py-0.18.0/target/debug/deps/rpds.33dz6cj8hugpwx7l.rcgu.o" "-L" "/tmp/rpds_py-0.18.0/target/debug/deps" "-L" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib" "-bstatic" "/tmp/rpds_py-0.18.0/target/debug/deps/librpds-7e28e82b49f4d014.rlib" "/tmp/rpds_py-0.18.0/target/debug/deps/libarchery-f8ca9bdf0a3f385e.rlib" "/tmp/rpds_py-0.18.0/target/debug/deps/libtriomphe-32b80b5dbc87b295.rlib" "/tmp/rpds_py-0.18.0/target/debug/deps/libpyo3-6b720b23b6c332e8.rlib" "/tmp/rpds_py-0.18.0/target/debug/deps/libmemoffset-2875d14dbe83923c.rlib" "/tmp/rpds_py-0.18.0/target/debug/deps/libparking_lot-658d4578d632b790.rlib" "/tmp/rpds_py-0.18.0/target/debug/deps/libparking_lot_core-77ddea496e8fa917.rlib" "/tmp/rpds_py-0.18.0/target/debug/deps/libcfg_if-b90bc16ab991b6d0.rlib" "/tmp/rpds_py-0.18.0/target/debug/deps/libsmallvec-6338a9be35da252d.rlib" "/tmp/rpds_py-0.18.0/target/debug/deps/liblock_api-b70b0b554923a13b.rlib" "/tmp/rpds_py-0.18.0/target/debug/deps/libscopeguard-c80dd66237f3a908.rlib" "/tmp/rpds_py-0.18.0/target/debug/deps/libpyo3_ffi-1974c81a34171a95.rlib" "/tmp/rpds_py-0.18.0/target/debug/deps/liblibc-7a12b83b60965906.rlib" "/tmp/rpds_py-0.18.0/target/debug/deps/libunindent-bc5e9f2bd06e281f.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libstd-fb622041e58c42ed.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libpanic_unwind-8ca73df972b17c09.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libobject-d40c943868788cc1.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libmemchr-7ae6bb5dd78cbcf7.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libaddr2line-f19012dd7920f968.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libgimli-9a54fdb4773fe5d5.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/librustc_demangle-febfcff4ed80d48d.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libstd_detect-415fe66cab7dbf57.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libhashbrown-d651c6b0c8f11efa.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/librustc_std_workspace_alloc-f9e082c267a65863.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libminiz_oxide-87157a26102d6d4e.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libadler-73bedb928b43f2fb.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libunwind-1c3cb0c5e2a94cd0.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libcfg_if-1ebaf4606b9e83a7.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/liblibc-aa4c7d84ef226caa.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/liballoc-3067606266921285.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/librustc_std_workspace_core-f96731a1c387017c.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libcore-0b10263a5906cea1.rlib" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib/libcompiler_builtins-fa924631c096f2ac.rlib" "-bdynamic" "-lthread" "-lpthread" "-liconv" "-lunwind" "-lc" "-lm" "-lrt" "-lpthread" "-lthread" "-lpthread" "-liconv" "-L" "/usr/local/rustsdk/opt/IBM/sdk_rust/0.0.6/lib/rustlib/powerpc64-ibm-aix/lib" "-o" "/tmp/rpds_py-0.18.0/target/debug/deps/librpds.a" "-bgc" "-bM:SRE" "-bnoentry" "-bexpfull" "-bbigtoc"
  = note: ld: 0711-317 ERROR: Undefined symbol: .PyErr_Print
          ld: 0711-317 ERROR: Undefined symbol: ._Py_Dealloc
          ld: 0711-317 ERROR: Undefined symbol: PyExc_RuntimeError
          ld: 0711-317 ERROR: Undefined symbol: .PyUnicode_FromStringAndSize
          ld: 0711-317 ERROR: Undefined symbol: PyExc_TypeError
          ld: 0711-317 ERROR: Undefined symbol: .PyUnicode_InternInPlace
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_GetAttr
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_Fetch
          ld: 0711-317 ERROR: Undefined symbol: PyExc_BaseException
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_NewExceptionWithDoc
          ld: 0711-317 ERROR: Undefined symbol: .Py_IsInitialized
          ld: 0711-317 ERROR: Undefined symbol: .PyGILState_Ensure
          ld: 0711-317 ERROR: Undefined symbol: .Py_InitializeEx
          ld: 0711-317 ERROR: Undefined symbol: .PyEval_SaveThread
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_SetString
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_SetObject
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_NormalizeException
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_Repr
          ld: 0711-317 ERROR: Undefined symbol: .PyUnicode_AsUTF8AndSize
          ld: 0711-317 ERROR: Undefined symbol: .PyUnicode_AsEncodedString
          ld: 0711-317 ERROR: Undefined symbol: .PyBytes_AsString
          ld: 0711-317 ERROR: Undefined symbol: .PyBytes_Size
          ld: 0711-317 ERROR: Undefined symbol: .PyGILState_Release
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_Str
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_Restore
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_PrintEx
          ld: 0711-317 ERROR: Undefined symbol: .PyTuple_New
          ld: 0711-317 ERROR: Undefined symbol: .PyList_New
          ld: 0711-317 ERROR: Undefined symbol: PyLong_Type
          ld: 0711-317 ERROR: Undefined symbol: PyBool_Type
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_WriteUnraisable
          ld: 0711-317 ERROR: Undefined symbol: .PyException_GetCause
          ld: 0711-317 ERROR: Undefined symbol: .PyException_GetTraceback
          ld: 0711-317 ERROR: Undefined symbol: _Py_NoneStruct
          ld: 0711-317 ERROR: Undefined symbol: .PyException_SetTraceback
          ld: 0711-317 ERROR: Undefined symbol: .PyException_SetCause
          ld: 0711-317 ERROR: Undefined symbol: .PyImport_Import
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_IsInstance
          ld: 0711-317 ERROR: Undefined symbol: .PyMapping_Items
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_GetIter
          ld: 0711-317 ERROR: Undefined symbol: .PyIter_Next
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_Hash
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ValueError
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_Call
          ld: 0711-317 ERROR: Undefined symbol: _Py_TrueStruct
          ld: 0711-317 ERROR: Undefined symbol: PyBaseObject_Type
          ld: 0711-317 ERROR: Undefined symbol: PyType_GenericAlloc
          ld: 0711-317 ERROR: Undefined symbol: .PyType_IsSubtype
          ld: 0711-317 ERROR: Undefined symbol: PyExc_KeyError
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_Next
          ld: 0711-317 ERROR: Undefined symbol: PyExc_StopIteration
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_GC_Track
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_GC_UnTrack
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_Free
          ld: 0711-317 ERROR: Undefined symbol: .PyMem_Malloc
          ld: 0711-317 ERROR: Undefined symbol: PyObject_GenericGetDict
          ld: 0711-317 ERROR: Undefined symbol: PyObject_GenericSetDict
          ld: 0711-317 ERROR: Undefined symbol: .PyLong_FromSsize_t
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_GetItem
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_SetItem
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_DelItem
          ld: 0711-317 ERROR: Undefined symbol: .PyType_FromSpec
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_SetAttrString
          ld: 0711-317 ERROR: Undefined symbol: PyExc_OverflowError
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_VectorcallMethod
          ld: 0711-317 ERROR: Undefined symbol: _Py_NotImplementedStruct
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_Size
          ld: 0711-317 ERROR: Undefined symbol: .PySequence_Contains
          ld: 0711-317 ERROR: Undefined symbol: _Py_FalseStruct
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_RichCompare
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_IsTrue
          ld: 0711-317 ERROR: Undefined symbol: .PyLong_FromLong
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_New
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_SetItem
          ld: 0711-317 ERROR: Undefined symbol: PyExc_IndexError
          ld: 0711-317 ERROR: Undefined symbol: .PyTuple_GetSlice
          ld: 0711-317 ERROR: Undefined symbol: .PyTuple_GetItem
          ld: 0711-317 ERROR: Undefined symbol: .PyNumber_Index
          ld: 0711-317 ERROR: Undefined symbol: .PyLong_AsLong
          ld: 0711-317 ERROR: Undefined symbol: PyExc_AttributeError
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_GivenExceptionMatches
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_SetAttr
          ld: 0711-317 ERROR: Undefined symbol: .PyList_Append
          ld: 0711-317 ERROR: Undefined symbol: .PyInterpreterState_Get
          ld: 0711-317 ERROR: Undefined symbol: .PyInterpreterState_GetID
          ld: 0711-317 ERROR: Undefined symbol: .PyModule_Create2
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ImportError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_NotADirectoryError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ReferenceError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_Warning
          ld: 0711-317 ERROR: Undefined symbol: PyExc_SyntaxError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_NameError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_PermissionError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_BlockingIOError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_LookupError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_SystemError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ModuleNotFoundError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_InterruptedError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_PendingDeprecationWarning
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ConnectionRefusedError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_UnboundLocalError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ImportWarning
          ld: 0711-317 ERROR: Undefined symbol: PyExc_DeprecationWarning
          ld: 0711-317 ERROR: Undefined symbol: PyExc_BytesWarning
          ld: 0711-317 ERROR: Undefined symbol: PyExc_FutureWarning
          ld: 0711-317 ERROR: Undefined symbol: PyExc_SystemExit
          ld: 0711-317 ERROR: Undefined symbol: PyExc_SyntaxWarning
          ld: 0711-317 ERROR: Undefined symbol: PyExc_BufferError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_RuntimeWarning
          ld: 0711-317 ERROR: Undefined symbol: PyExc_TimeoutError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_UnicodeWarning
          ld: 0711-317 ERROR: Undefined symbol: PyExc_FileExistsError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_EnvironmentError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_FloatingPointError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_FileNotFoundError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_MemoryError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ChildProcessError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ConnectionResetError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ResourceWarning
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ConnectionError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_IsADirectoryError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ZeroDivisionError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_UserWarning
          ld: 0711-317 ERROR: Undefined symbol: PyExc_StopAsyncIteration
          ld: 0711-317 ERROR: Undefined symbol: PyExc_BrokenPipeError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_UnicodeError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_GeneratorExit
          ld: 0711-317 ERROR: Undefined symbol: PyExc_OSError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_NotImplementedError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_EOFError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_AssertionError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ProcessLookupError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_KeyboardInterrupt
          ld: 0711-317 ERROR: Undefined symbol: PyExc_UnicodeDecodeError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ConnectionAbortedError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_UnicodeEncodeError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_ArithmeticError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_RecursionError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_Exception
          ld: 0711-317 ERROR: Undefined symbol: PyExc_IOError
          ld: 0711-317 ERROR: Undefined symbol: PyExc_UnicodeTranslateError
          ld: 0711-317 ERROR: Undefined symbol: .PyUnicodeDecodeError_Create
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_CallNoArgs
          ld: 0711-317 ERROR: Undefined symbol: .PyTraceBack_Print
          ld: 0711-317 ERROR: Undefined symbol: .PySequence_Size
          ld: 0711-317 ERROR: Undefined symbol: _Py_EllipsisObject
          ld: 0711-317 ERROR: Undefined symbol: PySlice_Type
          ld: 0711-317 ERROR: Undefined symbol: PyFloat_Type
          ld: 0711-317 ERROR: Undefined symbol: .PySequence_Check
          ld: 0711-317 ERROR: Undefined symbol: .PySequence_GetItem
          ld: 0711-317 ERROR: Undefined symbol: ._PyLong_FromByteArray
          ld: 0711-317 ERROR: Undefined symbol: PyByteArray_Type
          ld: 0711-317 ERROR: Undefined symbol: .PyByteArray_AsString
          ld: 0711-317 ERROR: Undefined symbol: .PyByteArray_Size
          ld: 0711-317 ERROR: Undefined symbol: .PyBytes_FromStringAndSize
          ld: 0711-317 ERROR: Undefined symbol: ._PyLong_AsByteArray
          ld: 0711-317 ERROR: Undefined symbol: .PyLong_FromUnsignedLongLong
          ld: 0711-317 ERROR: Undefined symbol: .PyLong_AsUnsignedLongLong
          ld: 0711-317 ERROR: Undefined symbol: .Py_CompileStringExFlags
          ld: 0711-317 ERROR: Undefined symbol: PyCapsule_Type
          ld: 0711-317 ERROR: Undefined symbol: PyDictValues_Type
          ld: 0711-317 ERROR: Undefined symbol: PyDictKeys_Type
          ld: 0711-317 ERROR: Undefined symbol: .PyCapsule_Import
          ld: 0711-317 ERROR: Undefined symbol: PyDictItems_Type
          ld: 0711-317 ERROR: Undefined symbol: PySet_Type
          ld: 0711-317 ERROR: Undefined symbol: .PyEval_RestoreThread
          ld: 0711-317 ERROR: Undefined symbol: .PyFloat_FromDouble
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_MergeFromSeq2
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_Copy
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_Clear
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_Contains
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_GetItemWithError
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_DelItem
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_Keys
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_Values
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_Items
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_Update
          ld: 0711-317 ERROR: Undefined symbol: .PyDict_Merge
          ld: 0711-317 ERROR: Undefined symbol: .PySet_New
          ld: 0711-317 ERROR: Undefined symbol: .PySet_Size
          ld: 0711-317 ERROR: Undefined symbol: .PySet_Contains
          ld: 0711-317 ERROR: Undefined symbol: .PySet_Discard
          ld: 0711-317 ERROR: Undefined symbol: .PySet_Add
          ld: 0711-317 ERROR: Undefined symbol: .PySet_Pop
          ld: 0711-317 ERROR: Undefined symbol: PyComplex_Type
          ld: 0711-317 ERROR: Undefined symbol: PyModule_Type
          ld: 0711-317 ERROR: Undefined symbol: ._PyUnicode_Ready
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_Display
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_WarnEx
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_WarnExplicit
          ld: 0711-317 ERROR: Undefined symbol: .PyCapsule_SetContext
          ld: 0711-317 ERROR: Undefined symbol: .PyCapsule_GetContext
          ld: 0711-317 ERROR: Undefined symbol: .PyCapsule_GetName
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_Clear
          ld: 0711-317 ERROR: Undefined symbol: .PyCapsule_GetPointer
          ld: 0711-317 ERROR: Undefined symbol: .PyCapsule_IsValid
          ld: 0711-317 ERROR: Undefined symbol: .PyComplex_FromDoubles
          ld: 0711-317 ERROR: Undefined symbol: .PyComplex_RealAsDouble
          ld: 0711-317 ERROR: Undefined symbol: .PyComplex_ImagAsDouble
          ld: 0711-317 ERROR: Undefined symbol: ._Py_c_abs
          ld: 0711-317 ERROR: Undefined symbol: _Py_c_pow
          ld: 0711-317 ERROR: Undefined symbol: ._Py_c_pow
          ld: 0711-317 ERROR: Undefined symbol: .PyComplex_FromCComplex
          ld: 0711-317 ERROR: Undefined symbol: _Py_c_sum
          ld: 0711-317 ERROR: Undefined symbol: ._Py_c_sum
          ld: 0711-317 ERROR: Undefined symbol: _Py_c_diff
          ld: 0711-317 ERROR: Undefined symbol: ._Py_c_diff
          ld: 0711-317 ERROR: Undefined symbol: _Py_c_prod
          ld: 0711-317 ERROR: Undefined symbol: ._Py_c_prod
          ld: 0711-317 ERROR: Undefined symbol: _Py_c_quot
          ld: 0711-317 ERROR: Undefined symbol: ._Py_c_quot
          ld: 0711-317 ERROR: Undefined symbol: ._Py_c_neg
          ld: 0711-317 ERROR: Undefined symbol: .PySequence_SetItem
          ld: 0711-317 ERROR: Undefined symbol: .PySequence_Count
          ld: 0711-317 ERROR: Undefined symbol: .PySequence_Index
          ld: 0711-317 ERROR: Undefined symbol: .PySequence_List
          ld: 0711-317 ERROR: Undefined symbol: .PySequence_GetSlice
          ld: 0711-317 ERROR: Undefined symbol: PyFrozenSet_Type
          ld: 0711-317 ERROR: Undefined symbol: PyTraceBack_Type
          ld: 0711-317 ERROR: Undefined symbol: PySuper_Type
          ld: 0711-317 ERROR: Undefined symbol: .PyList_GetItem
          ld: 0711-317 ERROR: Undefined symbol: .PyList_GetSlice
          ld: 0711-317 ERROR: Undefined symbol: .PyList_SetItem
          ld: 0711-317 ERROR: Undefined symbol: .PyList_Insert
          ld: 0711-317 ERROR: Undefined symbol: .PyList_Sort
          ld: 0711-317 ERROR: Undefined symbol: .PyList_Reverse
          ld: 0711-317 ERROR: Undefined symbol: .PyList_AsTuple
          ld: 0711-317 ERROR: Undefined symbol: PyCFunction_Type
          ld: 0711-317 ERROR: Undefined symbol: .PyCMethod_New
          ld: 0711-317 ERROR: Undefined symbol: PyFunction_Type
          ld: 0711-317 ERROR: Undefined symbol: PyFrame_Type
          ld: 0711-317 ERROR: Undefined symbol: .PyUnicode_DecodeFSDefaultAndSize
          ld: 0711-317 ERROR: Undefined symbol: .PyUnicode_EncodeFSDefault
          ld: 0711-317 ERROR: Undefined symbol: .PyOS_FSPath
          ld: 0711-317 ERROR: Undefined symbol: .PyImport_AddModule
          ld: 0711-317 ERROR: Undefined symbol: .PyModule_GetDict
          ld: 0711-317 ERROR: Undefined symbol: .PyEval_GetBuiltins
          ld: 0711-317 ERROR: Undefined symbol: .PyEval_EvalCode
          ld: 0711-317 ERROR: Undefined symbol: .Py_GetVersion
          ld: 0711-317 ERROR: Undefined symbol: .PyErr_CheckSignals
          ld: 0711-317 ERROR: Undefined symbol: .PyByteArray_FromStringAndSize
          ld: 0711-317 ERROR: Undefined symbol: .PyByteArray_FromObject
          ld: 0711-317 ERROR: Undefined symbol: .PyByteArray_Resize
          ld: 0711-317 ERROR: Undefined symbol: .PyFloat_AsDouble
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_LengthHint
          ld: 0711-317 ERROR: Undefined symbol: .PyIter_Check
          ld: 0711-317 ERROR: Undefined symbol: .PyModule_New
          ld: 0711-317 ERROR: Undefined symbol: .PyImport_ExecCodeModuleEx
          ld: 0711-317 ERROR: Undefined symbol: .PyModule_GetName
          ld: 0711-317 ERROR: Undefined symbol: .PyModule_GetFilenameObject
          ld: 0711-317 ERROR: Undefined symbol: .PyUnicode_FromEncodedObject
          ld: 0711-317 ERROR: Undefined symbol: PyCode_Type
          ld: 0711-317 ERROR: Undefined symbol: .PyCallable_Check
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_Dir
          ld: 0711-317 ERROR: Undefined symbol: .PyFrozenSet_New
          ld: 0711-317 ERROR: Undefined symbol: .PySlice_New
          ld: 0711-317 ERROR: Undefined symbol: .PyObject_IsSubclass
          ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.


error: could not compile `rpds-py` (lib) due to 1 previous error
💥 maturin failed
  Caused by: Failed to build a native library through cargo
  Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.9-64bit" PYO3_PYTHON="/usr/bin/python3" PYTHON_SYS_EXECUTABLE="/usr/bin/python3" "cargo" "rustc" "--features" "pyo3/extension-module" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/rpds_py-0.18.0/Cargo.toml" "--lib"`

after adding the python libs manually to $RUSTFLAGS the linker runs ok. i might be completely wrong, but i expexted this to happen automatically.

root@nimvie: /tmp/rpds_py-0.18.0 # python3.9-config --ldflags
 -L/usr/opt/python3/lib -lpython3.9 -lintl -ldl  -lm -lm
root@nimvie: /tmp/rpds_py-0.18.0 # echo $RUSTFLAGS
-C link-arg=-bbigtoc
root@nimvie: /tmp/rpds_py-0.18.0 # export RUSTFLAGS="-C link-arg=-bbigtoc -L/usr/opt/python3/lib -lpython3.9 -lintl -ldl  -lm -lm"
root@nimvie: /tmp/rpds_py-0.18.0 # echo $RUSTFLAGS
-C link-arg=-bbigtoc -L/usr/opt/python3/lib -lpython3.9 -lintl -ldl -lm -lm

@messense
Copy link
Member

Python extension modules should not link libpython on Unix: python/cpython#12946

I don't know anything about AIX, does its linker require all symbols resolved when building a shared library?

@flynn1973
Copy link
Author

Python extension modules should not link libpython on Unix: python/cpython#12946

I don't know anything about AIX, does its linker require all symbols resolved when building a shared library?

hmm...definitly not...run time linking is no problem...but this is a good point...will check back with the ibm guys

@ayappanec
Copy link

In AIX, Python extension modules still links to libpython. The reason behind this is python is not built using runtime linking (-brtl) in AIX as it introduces slowness in symbol resolution. So the extension modules requires libpython linking, otherwise the modules will not be useable when python is embedded.

@davidhewitt
Copy link
Member

Makes sense, we already have an exemption for Android and we can add the same for AIX.

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

Successfully merging a pull request may close this issue.

4 participants