Skip to content

Linux build instructions

Peter Falkingham edited this page Jan 20, 2026 · 1 revision

I've written out my build instructions for Fedora 43 and Ubuntu. It's confirmed working on both, but I've been unable to package it.

Fedora 43

Assuming a clean install of Fedora 43:

sudo dnf group install development-tools

sudo dnf install git cmake

sudo dnf install "qt6*-devel"

sudo dnf install opencv-devel

sudo dnf install levmar-devel

sudo dnf install quazip-qt6 quazip-qt6-devel

sudo dnf install glew glew-devel libGLEW

git clone https://github.com/XROMMPackages/xmalab.git

cd xmalab

mkdir build

change these parts of CMAKELISTS.txt:

#find_package(GLEW REQUIRED) set(GLEW_FOUND TRUE) set(GLEW_INCLUDE_DIRS "/usr/include") set(GLEW_LIBRARIES "/usr/lib64/libGLEW.so") set(GLEW_LIBRARY "/usr/lib64/libGLEW.so")

cd build

cmake-gui

set libraries etc accordingly.

Window borders aren't particularly clean, but it does work:

image

Ubuntu

sudo apt install build-essential

sudo apt install git cmake cmake-gui

sudo apt install libopencv-dev

sudo apt install qt6-base-dev qt6-tools-dev

sudo apt install libquazip1-qt6-dev

sudo apt install libglew-dev

Levmar needs doing manually:

wget https://users.ics.forth.gr/~lourakis/levmar/levmar-2.6.tgz --no-check-certificate

tar -cvf levmar2.6.tgz

cd levmar2.6

In compiler.h add in #include <math.h> and change #define LM_FINITE finite to 'isfinite' (for gcc compiler)

Then in the makefile, change LAPACKLIBS to remove -l2fc

make levmar

cd ..

git clone https://github.com/XROMMPackages/xmalab.git

cd xmalab

mkdir build

cd build

cmake-gui

edit CMakeLists.txt for linux

target_link_libraries(${PROJECT_NAME} ${GLEW_LIBRARIES} ${QUAZIP_LIBRARIES} ${LEVMAR_LIBRARY}

`lapack`
`blas`

`Qt6::Core`
`Qt6::Widgets`
`Qt6::OpenGL`
`Qt6::OpenGLWidgets`
`Qt6::Concurrent`
`Qt6::Gui`
`Qt6::PrintSupport`

`${OpenCV_LIBS}`
`${OPENGL_LIBRARIES}`

)

make

That should produce a binary, XMALab in build/bin

There are issues with QT6 and Wayland that prevent moving windows with the mouse sometimes so you may want to run it with:

QT_QPA_PLATFORM=xcb ./XMALab

image

Clone this wiki locally