Building darktable master+branch for Windows

There are instructions in the Darktable build docs to change some things. If they are not needed , you are right and the file should not be touched. But I always work with those changes still in there , so i don’t know.

If they aren’t needed anymore, maybe a PR or GitHub issue would be in place to change the docs.

I didn’t know what problems using a user name with a space in it would cause, but by changing some commands, we got it all to work.

I’m building right now. Let’s see what comes out of it.

$ cmake -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/darktable ../.
-- Is the target platform supported: 1
-- Found little endian system. Good.
-- Building SSE2-optimized codepaths: ON
-- Win32 build detected, setting default features
-- Performing Test C_COMPILER_UNDERSTANDS_-Wno-error=varargs
-- Performing Test C_COMPILER_UNDERSTANDS_-Wno-error=varargs - Success
-- Performing Test CXX_COMPILER_UNDERSTANDS_-Wno-error=varargs
-- Performing Test CXX_COMPILER_UNDERSTANDS_-Wno-error=varargs - Success
-- Performing Test C_COMPILER_UNDERSTANDS_-Wno-error=address-of-packed-member
-- Performing Test C_COMPILER_UNDERSTANDS_-Wno-error=address-of-packed-member - Success
-- Performing Test CXX_COMPILER_UNDERSTANDS_-Wno-error=address-of-packed-member
-- Performing Test CXX_COMPILER_UNDERSTANDS_-Wno-error=address-of-packed-member - Success
-- Looking for external programs
-- Found perl
-- Missing intltool-merge
-- Missing desktop-file-validate, problems in darktable.desktop might go unnoticed
-- Test-compilation of OpenCL programs is disabled.
-- Found jsonschema
-- Found xsltproc
-- Found xmllint
-- Missing exiftool
CMake Error at CMakeLists.txt:411 (message):
  Some external programs couldn't be found


-- Configuring incomplete, errors occurred!
See also "C:/msys64/home/darktable/build/CMakeFiles/CMakeOutput.log".
See also "C:/msys64/home/darktable/build/CMakeFiles/CMakeError.log".

Maybe I’ll start over with building msys2 and follow BUILD.md exactly.

I would just wait a month or so for the PR to be merged into master or use the CI build from PR if there is a need to use a feature in development.

If it’s only a month, I can continue to use the build @priort supplied. I thought it was going to be December. Although, I would like to figure this out.

Maybe both right. I don’t know the syntax that shows , but any command in git can do many, many things :).

Coming from commercial work, i don’t work with multiple remotes that often. Everything gets proposed, merged and pulled in the same repo. I know my set wof commands would work and give you the recovery code. Doesn’t mean this one is wrong though :slight_smile: .

I appreciate everyone’s help. As I said, I’ll start over following BUILD.md exactly and proceed from there. There were lots of errors with today’s build, so I will see if I can fix them one at a time.

I have to run now. Thank you all very much.

@Underexposed I am no expert Bill I could only share what works for me. I found that code as a suggestion for a simple way to use a remote branch…so I did it … I then build from that new branch that gets merged.

You had it building DT last night but I think you entered line 2 incorrectly…

You can always also reset your master if you think you fouled it up…

Perhaps a brute force approach that might work for you is not to delete your darktable folder but actually clone @hannoschwalm darktable repo into another folder. Then you can build it from in there with the exact same directions that you use to build DT…

It might not be in sync at any one time with the official master but it will allow you to try out the feature and as of now I don’t think you would be missing much…later you can just delete the whole folder…

Its crude but might be easier to wrap your head around…

I started over, and in building msys64 I got this message:

Note that ‘C:/msys64/mingw64/share’ is not in the search path
set by the XDG_DATA_HOME and XDG_DATA_DIRS
environment variables, so applications may not
be able to find it until you set them. The
directories currently searched are:

  • C:\msys64\home\Bill Martz.local\share
  • /usr/local/share/
  • /usr/share/

Does that mean I should add C:/msys64/mingw64/share to the Windows environment path variable?

You meant “updating msys2”?
You can ignore that particular message.

1 Like