Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Colmap 4.0 Installation instructions for Ubuntu 20 from source tar

Abierto
#4,307 1 comentario 3 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
32/100
Tipo de issue
Documentación
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
cmake, linux, ubuntu

Línea de trabajo

Start by reading cmake/FindDependencies.cmake and comparing its dependency handling with the Ubuntu 20 source-build steps and workarounds described in the issue. The issue does not state a specific documentation change or expected outcome, so clarify the requested installation instructions and how they will be verified before starting.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Go to : cmake/FindDependencies.cmake

# Manually define the paths to your HOME-built OIIO
set(OPENIMAGEIO_LIBRARIES 
    "/home/user/oiio/build/lib/libOpenImageIO.so"
    "/home/user/oiio/build/lib/libOpenImageIO_Util.so"
)
set(OPENIMAGEIO_INCLUDE_DIRS "/home/user/oiio/build/include")

# Create/Update the target COLMAP expects
if(TARGET OpenImageIO::OpenImageIO)
    set_target_properties(OpenImageIO::OpenImageIO PROPERTIES
        INTERFACE_INCLUDE_DIRECTORIES "${OPENIMAGEIO_INCLUDE_DIRS}"
        IMPORTED_LOCATION "/home/user/oiio/build/lib/libOpenImageIO.so"
        INTERFACE_LINK_LIBRARIES "/home/user/oiio/build/lib/libOpenImageIO_Util.so"
    )
else()
    add_library(OpenImageIO::OpenImageIO UNKNOWN IMPORTED)
    set_target_properties(OpenImageIO::OpenImageIO PROPERTIES
        INTERFACE_INCLUDE_DIRECTORIES "${OPENIMAGEIO_INCLUDE_DIRS}"
        IMPORTED_LOCATION "/home/user/oiio/build/lib/libOpenImageIO.so"
        INTERFACE_LINK_LIBRARIES "/home/user/oiio/build/lib/libOpenImageIO_Util.so"
    )
endif()

cd ~/colmap4.0/colmap-4.0.2/build
rm -rf *

Reconfigure with our anti-crash flags + specific GCC 11

cmake .. -GNinja
-DCMAKE_C_COMPILER=/usr/bin/gcc-11
-DCMAKE_CXX_COMPILER=/usr/bin/g++-11
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_CUDA_ARCHITECTURES="89"
-DCMAKE_CXX_FLAGS_RELEASE="-O2 -fno-tree-slp-vectorize"
-DCMAKE_C_FLAGS_RELEASE="-O2 -fno-tree-slp-vectorize"

Final build

export LD_LIBRARY_PATH=/home/user/oiio/build/lib:$LD_LIBRARY_PATH
ninja -j4

echo 'export LD_LIBRARY_PATH=/home/user/oiio/build/lib:/home/user/onnxruntime-linux-x64-gpu-1.24.4/lib:$LD_LIBRARY_PATH' >> ~/.bashrc

Notes:
In Ubuntu20, libOpenImageIO-dev doesnt come with .cmake files - i installed OpenImageIo, OpenEXR, Imath etc from source

Go to your OIIO source directory

cd ~/oiio
rm -rf build
mkdir build && cd build

Force OIIO to use GCC 11

export CC=/usr/bin/gcc-11
export CXX=/usr/bin/g++-11

cmake ..
-DCMAKE_INSTALL_PREFIX=/home/user/oiio/build/install
-DUSE_PYTHON=OFF
-DSTOP_ON_WARNING=OFF

make -j$(nproc)

--

If you face error realted to aliked model, --shape error -- around line 152

hardcode the shape to be descriptor_dim_ = 128;

rm -rf /home/user/.cache/colmap/*

export LD_LIBRARY_PATH=/usr/local/cuda-11.8/targets/x86_64-linux/lib:/home/user/onnxruntime-linux-x64-gpu-1.17.1/lib:/home/user/oiio/build/lib:$LD_LIBRARY_PATH

Make this permanent in your .bashrc

sed -i '/LD_LIBRARY_PATH/d' ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/targets/x86_64-linux/lib:/home/user/onnxruntime-linux-x64-gpu-1.17.1/lib:/home/user/oiio/build/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

--

Check again

colmap feature_extractor
--database_path $WORKSPACE_PATH/database.db
--image_path $DATASET_PATH
--FeatureExtraction.type ALIKED_N16
--ImageReader.camera_model OPENCV
--ImageReader.single_camera 1

Lenguaje dominante
C++
Estrellas
12.9k
Forks
2.2k
Merge medio
1 d 5 h
PR fusionados (30 d)
85

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de colmap/colmap

Todos los issues de colmap/colmap

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.