Bug #12350
Struggling to build dt for windows
0%
Description
Hi everyone,
following the instructions in build.txt I tried to build dt for windows using MSYS2. I managed to set up MSYS2, libs an so on but failed to build darktable via
$ cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/darktable ../.
cmake runs until it complains that it can't find GTK3:
:
:
-- Found Glib
-- Checking for module 'gtk+-3.0'
-- No package 'gtk+-3.0' found
CMake Error at C:/msys64/mingw64/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find GTK3 (missing: GTK3_INCLUDE_DIRS GTK3_LIBRARIES) (Required
is at least version "3.14")
Call Stack (most recent call first):
C:/msys64/mingw64/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
cmake/modules/FindGTK3.cmake:58 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
src/CMakeLists.txt:252 (find_package)
:
:
=============
This is what pacman says:
$ pacman -Ss gtk3
mingw32/mingw-w64-i686-gtk3 3.24.1-1 [Installiert]
GObject-based multi-platform GUI toolkit (v3) (mingw-w64)
mingw32/mingw-w64-i686-gtkmm3 3.22.2-1
C++ bindings for gtk3 (mingw-w64)
mingw32/mingw-w64-i686-spice-gtk 0.33-1
GTK3 widget for SPICE clients (mingw-w64)
mingw32/mingw-w64-i686-webkitgtk3 2.4.11-6
GTK+ Web content engine library (mingw-w64)
mingw64/mingw-w64-x86_64-gtk3 3.24.1-1 [Installiert]
GObject-based multi-platform GUI toolkit (v3) (mingw-w64)
mingw64/mingw-w64-x86_64-gtkmm3 3.22.2-1 [Installiert]
C++ bindings for gtk3 (mingw-w64)
mingw64/mingw-w64-x86_64-spice-gtk 0.35-1 [Installiert]
GTK3 widget for SPICE clients (mingw-w64)
mingw64/mingw-w64-x86_64-webkitgtk3 2.4.11-6
GTK+ Web content engine library (mingw-w64)
===========
I tried to skip GTK3 and cmake stops again at lensfun:
:
:
-- Found Glib
-- Checking for one of the modules 'libsoup-2.4;libsoup2'
-- Checking for one of the modules 'libsoup-2.2;libsoup2'
CMake Error at C:/msys64/mingw64/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find LENSFUN (missing: LENSFUN_INCLUDE_DIR)
Call Stack (most recent call first):
C:/msys64/mingw64/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
cmake/modules/FindLensFun.cmake:37 (find_package_handle_standard_args)
src/CMakeLists.txt:302 (find_package)
:
:
==================
... which is installed, too:
$ pacman -Ss lensfun
mingw32/mingw-w64-i686-lensfun 0.3.95-1
Database of photographic lenses and a library that allows advanced access to the database (mingw-w64)
mingw64/mingw-w64-x86_64-lensfun 0.3.95-1 [Installiert]
Database of photographic lenses and a library that allows advanced access to the database (mingw-w64)
=============================
It seems as if all (mingw-w64-x86_64-)prefixed packages can't be found. Am I missing something ? Maybe an additional path information ?
Logfiles for the latter test (lensfun) are added below.
Hoping for help
Jürgen
History
#1
Updated by Peter Budai 3 months ago
You need to downgrade lensfun library, as the 3.95 is not compatible with darktable
Download the prior version of lensfun:
http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-lensfun-0.3.2-4-any.pkg.tar.xz
And install with:
pacman -U mingw-w64-x86_64-lensfun-0.3.2-4-any.pkg.tar.xz
Then do a clean build
#2
Updated by Peter Budai 2 months ago
And one more thing: Jurgen, which shell are you using: MSYS2 or MINGW64 or MINGW32?
#3
Updated by pass 712 2 months ago
- File CMakeOutput.log
added
- File CMakeError.log
added
Hi Peter,
thanks for your help!
I downgraded lensfun and started build from scratch (original CMakesList.txt) but as it seems nothing has changed.
I'm using the msys2-Shell.
Logfiles are added.
Jürgen
#4
Updated by Peter Budai 2 months ago
Jurgen, you should use the MINGW64 shell.
You use the MSYS2 shell for installing and updating packages.
You use MINGW64 to build native Windows applications.
I'll update the instruction to be clear.
#5
Updated by pass 712 2 months ago
- File darktable_bt_1Y41TZ.txt
added
Hi Peter,
cool, build is running now ! Thanks for the information.
There is one issue left: cmake stopped in the last step (cmake --build . --target install) with this error:
:
:
:
CMake Error at src/cmake_install.cmake:150 (file):
file INSTALL cannot find
"C:/msys64/mingw64/bin/../lib/GraphicsMagick-1.3.29/modules-Q8/coders".
Call Stack (most recent call first):
cmake_install.cmake:38 (include)
make: *** [Makefile:86: install] Fehler 1
:
:
:
I checked and found GraphicsMagick-1.3.30 installed on my computer. I then changed line 150 in cmake_install.cmake to version 1.3.30 and started cmake again. Cmake completed without errors. I could start darktable from the mingw64-shell, saw the lighttable view but then it crashed. I included the backtrace. Is it due to the incorrect version ?
Thanks for your patience.
Jürgen
#6
Updated by Peter Budai 2 months ago
Jurgen, the hard-coded Graphicsmagick version number has been fixed for a longer time ago in October:
https://github.com/darktable-org/darktable/pull/1769
Pls get the latest source, and also update your MSYS2 system with pacman -Syu
Also make a clean build (aka remove everything from the build directory and start with cmake configure stage)
#7
Updated by pass 712 about 1 month ago
Hi Peter,
sorry for answering so late, was a bit busy in the meantime.
I found some time today, followed your instructions and was able to build succesfully - many thanks !
Ticket can be closed.
Greets Jürgen