Skip to content

Commit d8e079f breaks U22.04 compile - ld error: undefined reference to ZSTD_xxxxx #7294

@EwingKang

Description

@EwingKang

Checklist

Steps to reproduce the issue

I first cloned Open3D by:

git clone https://github.com/isl-org/Open3D.git
cd Open3D

Install the dependencies

./util/install_deps_ubuntu.sh

Then, I build Open3D (on Ubuntu 22.04, enable shared lib) with:

mkdir build
cd build
cmake -DUSE_SYSTEM_EIGEN3=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=../../open3d_install_clean ..
make -j$(nproc)

The error I got

Error message

/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_createDStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_decompressStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_isError'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_freeDStream'
collect2: error: ld returned 1 exit status
make[2]: *** [cpp/tools/CMakeFiles/MergeMesh.dir/build.make:101: bin/MergeMesh] Error 1
make[1]: *** [CMakeFiles/Makefile2:4140: cpp/tools/CMakeFiles/MergeMesh.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 81%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/blob.cpp.o
[ 81%] Linking CXX executable ../../bin/ViewGeometry
[ 81%] Linking CXX executable ../../bin/examples/DepthCapture
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_createDStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_decompressStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_isError'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_freeDStream'
collect2: error: ld returned 1 exit status
make[2]: *** [examples/cpp/CMakeFiles/DepthCapture.dir/build.make:101: bin/examples/DepthCapture] Error 1
make[1]: *** [CMakeFiles/Makefile2:4623: examples/cpp/CMakeFiles/DepthCapture.dir/all] Error 2
[ 81%] Building CXX object cpp/tools/ManuallyAlignPointCloud/CMakeFiles/ManuallyAlignPointCloud.dir/AlignmentSession.cpp.o
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_createDStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_decompressStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_isError'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_freeDStream'
collect2: error: ld returned 1 exit status
make[2]: *** [cpp/tools/CMakeFiles/ViewGeometry.dir/build.make:101: bin/ViewGeometry] Error 1
make[1]: *** [CMakeFiles/Makefile2:4172: cpp/tools/CMakeFiles/ViewGeometry.dir/all] Error 2
[ 81%] Building CXX object cpp/tools/ManuallyAlignPointCloud/CMakeFiles/ManuallyAlignPointCloud.dir/VisualizerForAlignment.cpp.o
[ 81%] Linking CXX executable ../../Open3D/Open3D
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_createDStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_decompressStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_isError'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_freeDStream'
collect2: error: ld returned 1 exit status
make[2]: *** [cpp/apps/CMakeFiles/Open3DViewer.dir/build.make:183: Open3D/Open3D] Error 1
make[1]: *** [CMakeFiles/Makefile2:4270: cpp/apps/CMakeFiles/Open3DViewer.dir/all] Error 2
[ 81%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/core.cpp.o
[ 81%] Linking CXX executable ../../bin/ManuallyCropGeometry
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_createDStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_decompressStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_isError'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_freeDStream'
collect2: error: ld returned 1 exit status
make[2]: *** [cpp/tools/CMakeFiles/ManuallyCropGeometry.dir/build.make:101: bin/ManuallyCropGeometry] Error 1
make[1]: *** [CMakeFiles/Makefile2:4108: cpp/tools/CMakeFiles/ManuallyCropGeometry.dir/all] Error 2
[ 81%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/cuda_utils.cpp.o
[ 81%] Linking CXX executable ../../bin/examples/CameraPoseTrajectory
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_createDStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_decompressStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_isError'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_freeDStream'
collect2: error: ld returned 1 exit status
make[2]: *** [examples/cpp/CMakeFiles/CameraPoseTrajectory.dir/build.make:101: bin/examples/CameraPoseTrajectory] Error 1
make[1]: *** [CMakeFiles/Makefile2:4559: examples/cpp/CMakeFiles/CameraPoseTrajectory.dir/all] Error 2
[ 82%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/device.cpp.o
[ 82%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/dtype.cpp.o
[ 82%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/hashmap.cpp.o
[ 82%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/kernel.cpp.o
[ 82%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/linalg.cpp.o
[ 82%] Linking CXX executable ../../bin/GLInfo
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_createDStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_decompressStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_isError'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_freeDStream'
collect2: error: ld returned 1 exit status
make[2]: *** [cpp/tools/CMakeFiles/GLInfo.dir/build.make:106: bin/GLInfo] Error 1
make[1]: *** [CMakeFiles/Makefile2:4076: cpp/tools/CMakeFiles/GLInfo.dir/all] Error 2
[ 82%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/scalar.cpp.o
[ 82%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/size_vector.cpp.o
[ 82%] Linking CXX executable ../../../bin/ManuallyAlignPointCloud
/usr/bin/ld: ../../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_createDStream'
/usr/bin/ld: ../../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_decompressStream'
/usr/bin/ld: ../../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_isError'
/usr/bin/ld: ../../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_freeDStream'
collect2: error: ld returned 1 exit status
make[2]: *** [cpp/tools/ManuallyAlignPointCloud/CMakeFiles/ManuallyAlignPointCloud.dir/build.make:135: bin/ManuallyAlignPointCloud] Error 1
make[1]: *** [CMakeFiles/Makefile2:4206: cpp/tools/ManuallyAlignPointCloud/CMakeFiles/ManuallyAlignPointCloud.dir/all] Error 2
[ 82%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/sycl_utils.cpp.o
[ 82%] Linking CXX executable ../../bin/ConvertPointCloud
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_createDStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_decompressStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_isError'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_freeDStream'
collect2: error: ld returned 1 exit status
make[2]: *** [cpp/tools/CMakeFiles/ConvertPointCloud.dir/build.make:101: bin/ConvertPointCloud] Error 1
make[1]: *** [CMakeFiles/Makefile2:4043: cpp/tools/CMakeFiles/ConvertPointCloud.dir/all] Error 2
[ 82%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/tensor_accessor.cpp.o
[ 83%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/tensor_converter.cpp.o
[ 83%] Linking CXX executable ../../OfflineReconstruction/OfflineReconstruction
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_createDStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_decompressStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_isError'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_freeDStream'
collect2: error: ld returned 1 exit status
make[2]: *** [cpp/apps/CMakeFiles/OfflineReconstruction.dir/build.make:183: OfflineReconstruction/OfflineReconstruction] Error 1
make[1]: *** [CMakeFiles/Makefile2:4366: cpp/apps/CMakeFiles/OfflineReconstruction.dir/all] Error 2
[ 83%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/tensor_function.cpp.o
[ 83%] Linking CXX executable ../../bin/examples/ColorMapOptimization
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_createDStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_decompressStream'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_isError'
/usr/bin/ld: ../../lib/Release/libOpen3D.so.0.19.0: undefined reference to `ZSTD_freeDStream'
collect2: error: ld returned 1 exit status
make[2]: *** [examples/cpp/CMakeFiles/ColorMapOptimization.dir/build.make:101: bin/examples/ColorMapOptimization] Error 1
make[1]: *** [CMakeFiles/Makefile2:4591: examples/cpp/CMakeFiles/ColorMapOptimization.dir/all] Error 2
[ 83%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/tensor_type_caster.cpp.o
[ 83%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/tensor.cpp.o
[ 83%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/core/nns/nearest_neighbor_search.cpp.o
[ 83%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/data/dataset.cpp.o
[ 83%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/geometry/boundingvolume.cpp.o
[ 83%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/geometry/geometry.cpp.o
[ 83%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/geometry/halfedgetrianglemesh.cpp.o
[ 84%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/geometry/image.cpp.o
[ 84%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/geometry/kdtreeflann.cpp.o
[ 84%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/geometry/keypoint.cpp.o
[ 84%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/geometry/lineset.cpp.o
[ 84%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/geometry/meshbase.cpp.o
[ 84%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/geometry/octree.cpp.o
[ 84%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/geometry/pointcloud.cpp.o
[ 84%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/geometry/tetramesh.cpp.o
[ 84%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/geometry/trianglemesh.cpp.o
[ 84%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/geometry/voxelgrid.cpp.o
[ 85%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/io/class_io.cpp.o
[ 85%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/io/io.cpp.o
[ 85%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/io/rpc.cpp.o
[ 85%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/ml/ml.cpp.o
[ 85%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/ml/contrib/contrib_subsample.cpp.o
[ 85%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/ml/contrib/contrib.cpp.o
[ 85%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/ml/contrib/iou.cpp.o
[ 85%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/pipelines/pipelines.cpp.o
[ 85%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/pipelines/color_map/color_map.cpp.o
[ 86%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/pipelines/integration/integration.cpp.o
[ 86%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/pipelines/odometry/odometry.cpp.o
[ 86%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/pipelines/registration/feature.cpp.o
[ 86%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/pipelines/registration/global_optimization.cpp.o
[ 86%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/pipelines/registration/registration.cpp.o
[ 86%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/pipelines/registration/robust_kernels.cpp.o
[ 86%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/t.cpp.o
[ 86%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/geometry/geometry.cpp.o
[ 86%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/geometry/drawablegeometry.cpp.o
[ 86%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/geometry/image.cpp.o
[ 87%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/geometry/lineset.cpp.o
[ 87%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/geometry/pointcloud.cpp.o
[ 87%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/geometry/boundingvolume.cpp.o
[ 87%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/geometry/raycasting_scene.cpp.o
[ 87%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/geometry/tensormap.cpp.o
[ 87%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/geometry/trianglemesh.cpp.o
[ 87%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/geometry/voxel_block_grid.cpp.o
[ 87%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/io/class_io.cpp.o
[ 87%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/io/io.cpp.o
[ 88%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/io/sensor.cpp.o
[ 88%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/pipelines/pipelines.cpp.o
[ 88%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/pipelines/odometry/odometry.cpp.o
[ 88%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/pipelines/registration/feature.cpp.o
[ 88%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/pipelines/registration/registration.cpp.o
[ 88%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/pipelines/registration/robust_kernel.cpp.o
[ 88%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/pipelines/slac/slac.cpp.o
[ 88%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/t/pipelines/slam/slam.cpp.o
[ 88%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/utility/eigen.cpp.o
[ 89%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/utility/logging.cpp.o
[ 89%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/utility/random.cpp.o
[ 89%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/utility/utility.cpp.o
[ 89%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/visualization/renderoption.cpp.o
[ 89%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/visualization/utility.cpp.o
[ 89%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/visualization/viewcontrol.cpp.o
[ 89%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/visualization/visualization.cpp.o
[ 89%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/visualization/visualizer.cpp.o
[ 89%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/visualization/rendering/material.cpp.o
[ 89%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/visualization/o3dvisualizer.cpp.o
[ 90%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/visualization/app/viewer.cpp.o
[ 90%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/visualization/gui/events.cpp.o
[ 90%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/visualization/gui/gui.cpp.o
[ 90%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/visualization/rendering/rendering.cpp.o
[ 90%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/visualization/webrtc_server/webrtc_window_system.cpp.o
[ 90%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/docstring.cpp.o
[ 90%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/open3d_pybind.cpp.o
[ 90%] Building CXX object cpp/pybind/CMakeFiles/pybind.dir/pybind_utils.cpp.o
[ 90%] Linking CXX shared module ../../lib/Release/Python/cpu/pybind.cpython-310-x86_64-linux-gnu.so
[ 90%] Built target pybind
make: *** [Makefile:156: all] Error 2

Open3D, Python and System information

- Operating system: Ubuntu 22.04
- Python version: Python 3.10.12
- Open3D version: 
- System architecture: x86 
- Is this a remote workstation?: no
- How did you install Open3D?: build from source
- Compiler version (if built from source): gcc 11.4 / libc++-11 (llvm)

Additional information

Commit 1868f43 is fine; commit d8e079f <feat: upgrade curl, zlib, libpng to latest versions (https://github.com/isl-org/Open3D/pull/7021)> breaks the compilation.

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