What do I need and how complicated is to build DT?

Hi,

Considered I’m not an engineer, developer or a techie guy, how complicated it would be to build Darktable for Windows? And what would I need?
I’m looking at the readme.md from the 2.7 and all I can see are Linux terminal commands. Do have I to assume that the .zip I’m looking at (from https://codeload.github.com/darktable-org/darktable/zip/release-2.7.0) has nothing to do with preparing and executable for Windows?
Noobish questions, but as I said, I have no idea how all this stuff works.

Have you compiled anything before? If not, I suggest you start with something simple and not cross-platform.

Long ago I used to compile everything because that was the only way to use apps. Nowadays, plenty of people build stuff and even automate it; so I let them do it for me. :wink: Of course, doing it yourself has benefits like optimization and choosing what to include and omit. If you are adventurous, you could even insert your own code.

2 Likes

I second what @afre said. Unless you have some interest in helping development by testing new features or want to adapt the app to your environment, the best is to use available builds.
I don’t know if there are nightly (development) builds available for windows.
To build DT for windows, you can start by reading https://github.com/darktable-org/darktable/blob/master/packaging/windows/BUILD.txt. If you have no experience, you will have a steep learning curve.
I advise to use MSYS2 and follow meticulously the above recipe.

Maybe you also could give some information about your final goal.
Do you want to help developing or change the code for yourself? If you just want to learn about compiling, do it under linux that is relatively easy.

Thank you for the suggestions.
I followed @gaaned92 advice and started from the github link, then, after some iterations of installing/updating libraries, at some point I’ve got multiple options and I didn’t know what to choose.
I’ll try to figure it out if I can with my little understanding of what this is and if it gets too complicated I’ll have to withdraw.
As for the reason why I’m curious in doing this is that I’d like to test the new builds when they come out, check the new features and, possibly (if it’s needed) report bugs.

Best,
Andrew

1 Like

Which point?

Never give up. :hugs:

1 Like

We can help. I already made some DT build trials (see https://keybase.pub/gaaned92/DTW64NightlyBuilds/).
Warning: this installer is not fully checked nor approved by DT team. Some functions can be missing… So definitely don’t report bugs if you use it.

The windows build instructions in https://github.com/darktable-org/darktable/blob/master/packaging/windows/BUILD.txt are reliable :wink:
But i found following issues still present:
https://redmine.darktable.org/issues/12200 —> comment #2
and https://redmine.darktable.org/issues/11726 —> comment #11
Two little tweaks like described in the comments and you can build dt yourself …

@gaaned92 The console flashes, then nothing. Using win10.

You, sir, deserve an award of some sort for this. Doing the good work! :clap: :clap:

@afre
Cannot reproduce here on W10:
I download the installer from the link above, Install DT and run DT. DT windows open. I can edit a photo.

@MStraeten

  • first issue (to be done once)

As 0.3.95 is not a stable version ( why was it included in MSYS2?), I downgraded it

downgrade LENSFUN to:

mingw-w64-x86_64-lensfun-0.3.2-4-any.pkg.tar.xz

If not present in <MSYS2>\var\cache\pacman\pkg, these files can be downloaded from: Index of /mingw/x86_64/

Then in the MSYS2 shell,:

Pacman -U <path-to-files>/mingw-w64-x86_64-lensfun-0.3.2-4-any.pkg.tar.xz

Add following to the file <MSYS2>\etc\pacman.conf to prevent pacman from updating the packages.

# Pacman won’t upgrade packages listed in IgnorePkg and members of IgnoreGroup
IgnorePkg = mingw-w64-x86_64-lensfun

  • second issue: To update the LENSFUN DB, as you have MSYS2 installed, before building

Copy the lensfun folder and lensfun-0.3.2-py3.6.egg-info file from <mingw32|mingw64>\lib\python3.6\site-packages to <mingw32|mingw64>\lib\python3.<version>\site-packages

Where <vesion> is the version of installed Python3.

Then before building in Mingw32 or Mingw64 shell:

$ lensfun-update-data

  • When you build an application, allways use the MINGW64 shell and not the MSYS2 shell

Could you make a debug build? I don’t know why it doesn’t open for me.