-
Notifications
You must be signed in to change notification settings - Fork 18
Description
Description
I am attempting to deploy PyCuSFM (v0.1.8) on an Ubuntu 22.04.3 LTS workstation (Jammy) with CUDA 12 and RTX 6000 Ada GPU.
The Python package installs successfully via install_in_host.sh, and cusfm_cli is accessible. However, all packaged native executables under:
pycusfm/x86_cuda12/bin/
pycusfm/x86_cuda13/bin/
fail to execute due to glibc and libstdc++ ABI incompatibility.
Host Environment
Ubuntu 22.04.3 LTS (Jammy)
GLIBC 2.35
libstdc++ supports up to GLIBCXX_3.4.30
CUDA 12
RTX 6000 Ada
Observed Error
Example:
feature_extractor_main: /lib/x86_64-linux-gnu/libstdc++.so.6:
version `GLIBCXX_3.4.32' not found
feature_extractor_main: /lib/x86_64-linux-gnu/libc.so.6:
version `GLIBC_2.38' not found
This affects:
feature_extractor_main
keyframe_metadata_to_edex_main
All binaries under x86_cuda12 and x86_cuda13
ABI Inspection
The shipped binaries require:
GLIBC_2.38
GLIBCXX_3.4.32
Ubuntu 22.04 provides:
GLIBC 2.35
GLIBCXX up to 3.4.30
I have attached a full ABI manifest (cusfm_abi_manifest.txt) generated via ldd for reference.
Impact
PyCuSFM native tools cannot run on Ubuntu 22.04 due to ABI mismatch.
Since install_in_host.sh does not build tools from source and only installs Python components, there is currently no supported path to run cuSFM on Jammy using the provided binaries.
This blocks integration into our on-host 3D reconstruction pipeline (Nerfstudio → Splatfacto workflow).
Request
I kindly request one of the following if possible:
-
Jammy-compatible prebuilt binaries (glibc 2.35 / GLIBCXX_3.4.30 compatible), or
-
Official instructions to build the native tools from source against Ubuntu 22.04 toolchain, or
-
Confirmation that Ubuntu 24.04+ is a hard requirement for current releases.
Notes
I explicitly do not want to upgrade system glibc on this workstation due to platform stability constraints.
(base) mona@ada:~/tools/pyCuSFM$ cat /home/mona/tools/pyCuSFM/artifacts/cusfm_abi_manifest.txt
== Host ==
LSB Version: core-11.1.0ubuntu4-noarch:security-11.1.0ubuntu4-noarch
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
== glibc / libstdc++ ==
GNU C Library (Ubuntu GLIBC 2.35-0ubuntu3.13) stable release version 2.35.
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_3.4.29
GLIBCXX_3.4.30
GLIBCXX_DEBUG_MESSAGE_LENGTH
== cuSFM shipped tool ABI (needs) ==
---- pycusfm/x86_cuda12/bin/feature_extractor_main
pycusfm/x86_cuda12/bin/feature_extractor_main: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by pycusfm/x86_cuda12/bin/feature_extractor_main)
pycusfm/x86_cuda12/bin/feature_extractor_main: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by pycusfm/x86_cuda12/bin/feature_extractor_main)
linux-vdso.so.1 (0x00007ffed1f85000)
libglog.so.1 => /lib/x86_64-linux-gnu/libglog.so.1 (0x00007673b5bea000)
libabsl_status.so.20220623 => /lib/x86_64-linux-gnu/libabsl_status.so.20220623 (0x00007673b5bde000)
libabsl_strings.so.20220623 => /lib/x86_64-linux-gnu/libabsl_strings.so.20220623 (0x00007673b5bbf000)
libopencv_calib3d.so.406 => not found
libopencv_features2d.so.406 => not found
libopencv_imgcodecs.so.406 => not found
libopencv_imgproc.so.406 => not found
libopencv_core.so.406 => not found
libprotobuf.so.32 => not found
---- pycusfm/x86_cuda13/bin/feature_extractor_main
pycusfm/x86_cuda13/bin/feature_extractor_main: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by pycusfm/x86_cuda13/bin/feature_extractor_main)
pycusfm/x86_cuda13/bin/feature_extractor_main: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by pycusfm/x86_cuda13/bin/feature_extractor_main)
linux-vdso.so.1 (0x00007ffee5db3000)
libgflags.so.2.2 => /lib/x86_64-linux-gnu/libgflags.so.2.2 (0x00007e88ca580000)
libglog.so.1 => /lib/x86_64-linux-gnu/libglog.so.1 (0x00007e88ca54b000)
libabsl_status.so.2501.0.0 => not found
libopencv_calib3d.so.406 => not found
libopencv_features2d.so.406 => not found
libopencv_imgcodecs.so.406 => not found
libopencv_imgproc.so.406 => not found
libopencv_core.so.406 => not found
libprotobuf.so.32 => not found
---- pycusfm/x86_cuda12/bin/keyframe_metadata_to_edex_main
pycusfm/x86_cuda12/bin/keyframe_metadata_to_edex_main: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by pycusfm/x86_cuda12/bin/keyframe_metadata_to_edex_main)
pycusfm/x86_cuda12/bin/keyframe_metadata_to_edex_main: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by pycusfm/x86_cuda12/bin/keyframe_metadata_to_edex_main)
linux-vdso.so.1 (0x00007ffc015f5000)
libglog.so.1 => /lib/x86_64-linux-gnu/libglog.so.1 (0x00007cb59998f000)
libabsl_status.so.20220623 => /lib/x86_64-linux-gnu/libabsl_status.so.20220623 (0x00007cb599983000)
libabsl_strings.so.20220623 => /lib/x86_64-linux-gnu/libabsl_strings.so.20220623 (0x00007cb599964000)
libopencv_imgproc.so.406 => not found
libopencv_core.so.406 => not found
libprotobuf.so.32 => not found
libceres.so.4 => not found
libgflags.so.2.2 => /lib/x86_64-linux-gnu/libgflags.so.2.2 (0x00007cb599939000)
libgomp.so.1 => /lib/x86_64-linux-gnu/libgomp.so.1 (0x00007cb5998ed000)
---- pycusfm/x86_cuda13/bin/keyframe_metadata_to_edex_main
pycusfm/x86_cuda13/bin/keyframe_metadata_to_edex_main: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by pycusfm/x86_cuda13/bin/keyframe_metadata_to_edex_main)
pycusfm/x86_cuda13/bin/keyframe_metadata_to_edex_main: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by pycusfm/x86_cuda13/bin/keyframe_metadata_to_edex_main)
linux-vdso.so.1 (0x00007fffa9d22000)
libgflags.so.2.2 => /lib/x86_64-linux-gnu/libgflags.so.2.2 (0x000076f5ca733000)
libglog.so.1 => /lib/x86_64-linux-gnu/libglog.so.1 (0x000076f5ca6fe000)
libabsl_status.so.2501.0.0 => not found
libopencv_imgproc.so.406 => not found
libopencv_core.so.406 => not found
libprotobuf.so.32 => not found
libceres.so.4 => not found
libabsl_log_internal_check_op.so.2501.0.0 => not found
libabsl_log_internal_message.so.2501.0.0 => not found
(base) mona@ada:~/tools/pyCuSFM$