lut3d - could not be found

I was trying to compile darktable for the first time on windows using the instructions at https://github.com/darktable-org/darktable/blob/master/packaging/windows/BUILD.md

Everything went great and I do have the current version of darktable. However I get this error

[iop_load_module] failed to open `lut3d’: ‘C:\msys64\opt\darktable\lib\darktable/plugins\liblut3d.dll’: The specified module could not be found.
I dont use luts that often but still. Am I doing something wrong?

Thank you for your time and responses.

I haven’t used Windows since 1997 so I could be wrong, but I see a forward slash between darktable and plugins:

I do believe that is incorrect. *NIX uses forward slashes, Windows uses backslashes in their directory structures.

Check if this exists:

C:\msys64\opt\darktable\lib\darktable\plugins\liblut3d.dll

Instead of:

C:\msys64\opt\darktable\lib\darktable/plugins\liblut3d.dll

The correct slashed directory and file do exist. Not sure why it is using incorrect slashes. I just compiled it today (version name - 3.5.0+1451~gc4212703e)

By any chance do you have another version of DT installed or did you install over top of an existing one…

I clearly had this issue…not sure what fixed it if it comes to me I will let you know…I feel like I had to clear all remnants installed on my system before installing to fix it but if I think and remember something else I will share it…sometimes tidbits get left from previous installs that mess things up…this goes for your build directory to. Some times you need to delete it and start from scratch…
https://github.com/darktable-org/darktable/issues/7275

I had 3.4.1 installed but using the installer itself. Then for compilation, I used the MSYS2 route. I can try clean installation. Is there a way to delete everything and start from scratch? and see if it fixes it?

I just re-started darktable on a new computer so there is nothing that I am worried about losing.

In the darktable directory in Program Files there is an uninstall.exe…that might be the way to go…then install your dev version….

Another way is to install your dev version into a new directory…ProgramFiles\DarktableDEV for example and then you can take one more step …

Take the shortcut and modify it…so if you have an installed version and now you install the dev version you need a shortcut that refers to the new location so adjust the command line to reflect where you put it using a copy of the original DT shortcut. Also you can add a command line switch at the end…. –configdir “path” where I typed path make this the path to a new empty directory to hold your config files…

So I have to run but I can be more specific if you have questions but suffice to say you can run DT and DTDEV on the same machine… It is just good to use the –configdir commandline to keep the config files separate.

One last caveat is that if you make edits in 3.4 you can edit in higher but the same is not always true in the reverse so work on copies if you think that will be an issue…

So you can one….uninstall and run only the DEV version or you can install the dev in its own Directory and create a second directory to hold the config files for that install.

You just need to follow the steps above to do so if that makes sense….

Best

Todd

it’s worth to have a look at https://github.com/darktable-org/darktable/blob/master/packaging/windows/BUILD.md:
Note: GMIC. Waiting for GMIC 9.3 you may need to rename libopencv_core4xx and libopencv_videoio4xx to libopencv_core440 and libopencv_videoio440 in the bin folder of darktable to get lut3d available.

The error he described when I had it was unrelated to those changes. I had made them and still had the error as described here . It had something to do with a previous install or build I am just racking my brain to remember any specfics…

https://github.com/darktable-org/darktable/issues/7275

Not sure if this can be related, but please note that G’MIC won’t use OpenCV by default in future releases.

I have already changed both dll names with 440 as it was mentioned in the Build.md.

I did a complete clean installation (removed old darktable package, removed all the db files, deleted whole git clone and previous opt darktable folder) and the issue still persist :frowning: .

Have you built it more than once. I think I recall it was something with my build. I had to clear out everything if I recall…start from scratch…lets try something if you are game I built a generic version for someone a week or so ago…I can link to it or if you PM me i can email it to you…see if it works and if so then it likely is your build files…let me know if you want to try that

Alright, so after trying few things and testing, this is the problem and solution I found -

The problem - The issue was with opencv package. The current install version on my system was 4.5.1-2 . Somehow changing the name to both recommended modules was not doing any good.

The solution - I got the package mingw-w64-x86_64-opencv-4.4.0-1-any.pkg.tar.zst from https://repo.msys2.org/mingw/x86_64/ and downgraded my opencv to 4.4.0 (change back the names to whatever version opencv installed currently from 440 to avoid conflict). After this recompiled from scratch and retested. The issue resolved as this point. To avoid opencv upgrading, added
IgnorePkg = mingw-w64-x86_64-opencv
to /etc/pacman.conf . (source - https://github.com/darktable-org/darktable/issues/6936)

Thanks everyone for help and suggestions.