Skip to content

PyCuSFM prebuilt binaries incompatible with Ubuntu 22.04 (GLIBC_2.38 / GLIBCXX_3.4.32 required) #29

@monajalal

Description

@monajalal

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$ 


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions