released vkdt 0.5.0

after some time of only polishing, bug fixing and gui smoothing, i finally tagged a release:

happy new year to everybody in the early timezones :slight_smile:

31 Likes

I am a bit confused over the github autogenerated tarballs? which files are missing? the git modules?

same as darktable: the version.h which is generated from .git/FETCH_HEAD. a git export does not contain this info any more and thus depends on a previously generated file.

:rocket::fire::rainbow:

what is the format of version.h? same as for darktable? because we also need to generate that file for the vkdt packages.

update 1:

I solved it for the rpm build but not for the deb build yet.

update 2:

All distros done:

osc rdiff -c 97 graphics:darktable:master/vkdt

3 Likes

Great job @hanatos !

I’m looking to try it out properly on Windows (MSYS2 build). Everything seems to be recognized, except…

~/vkdt/bin$ make -j6
(...)
mkdir -p ../built/ext/rawspeed
cd ../built/ext/rawspeed; cmake ../../../ext/rawspeed -DBUILD_TESTING=0 -DCMAKE_BUILD_TYPE=release -DRAWSPEED_ENABLE_LTO=off -DRAWSPEED_ENABLE_DEBUG_INFO=off -DBUILD_BENCHMARKING=off -DBUILD_FUZZERS=off -DBUILD_TOOLS=off
-- Building for: Ninja
(...)
-- Configuring done
-- Generating done
-- Build files have been written to: C:/msys64/home/Roel/vkdt/built/ext/rawspeed
mkdir -p ../built/ext/rawspeed
make -C ../built/ext/rawspeed
make[3]: Entering directory '/home/Roel/vkdt/built/ext/rawspeed'
make[3]: *** No targets specified and no makefile found.  Stop.
make[3]: Leaving directory '/home/Roel/vkdt/built/ext/rawspeed'
make[2]: *** [Makefile:27: ../built/ext/rawspeed/librawspeed.a] Error 2
make[2]: Leaving directory '/home/Roel/vkdt/ext'
make[1]: *** [Makefile:57: ext] Error 2
make[1]: Leaving directory '/home/Roel/vkdt'
make: *** [Makefile:7: all] Error 2

I’m not entirely sure what to do here.

1 Like

:+1: :+1:
@Thanatomanic , I’d like to know how you get on with a Windows build - I’m a windows user and would like to try vkdt. The Way Forward…? :wink:
Happy New Year everyone!

missing “ninja” in your build env? just a guess.

Here is what I get when I try on Windows…

Package glfw3 was not found in the pkg-config search path.
Perhaps you should add the directory containing glfw3.pc' to the PKG_CONFIG_PATH environment variable Package 'glfw3', required by 'virtual:world', not found Package glfw3 was not found in the pkg-config search path. Perhaps you should add the directory containing glfw3.pc’
to the PKG_CONFIG_PATH environment variable
Package ‘glfw3’, required by ‘virtual:world’, not found
Package glfw3 was not found in the pkg-config search path.
Perhaps you should add the directory containing glfw3.pc' to the PKG_CONFIG_PATH environment variable Package 'glfw3', required by 'virtual:world', not found Package glfw3 was not found in the pkg-config search path. Perhaps you should add the directory containing glfw3.pc’
to the PKG_CONFIG_PATH environment variable
Package ‘glfw3’, required by ‘virtual:world’, not found
make[1]: Entering directory ‘/home/user/vkdt’
Makefile:56: [ext (Makefile)]
mkdir -p built/
bin/config.mk.defaults:51: [ext (Makefile)]
bin/config.mk.defaults:51: [ext (Makefile)]
bin/config.mk.defaults:51: [ext (Makefile)]
Package glfw3 was not found in the pkg-config search path.
Perhaps you should add the directory containing glfw3.pc' to the PKG_CONFIG_PATH environment variable Package 'glfw3', required by 'virtual:world', not found bin/config.mk.defaults:51: [ext (Makefile)] Package glfw3 was not found in the pkg-config search path. Perhaps you should add the directory containing glfw3.pc’
to the PKG_CONFIG_PATH environment variable
Package ‘glfw3’, required by ‘virtual:world’, not found
bin/config.mk.defaults:52: [ext (Makefile)]
bin/config.mk.defaults:52: [ext (Makefile)]
bin/config.mk.defaults:52: [ext (Makefile)]
Package glfw3 was not found in the pkg-config search path.
Perhaps you should add the directory containing glfw3.pc' to the PKG_CONFIG_PATH environment variable Package 'glfw3', required by 'virtual:world', not found bin/config.mk.defaults:52: [ext (Makefile)] Package glfw3 was not found in the pkg-config search path. Perhaps you should add the directory containing glfw3.pc’
to the PKG_CONFIG_PATH environment variable
Package ‘glfw3’, required by ‘virtual:world’, not found
Makefile:13: [ext (Makefile)]
Makefile:57: [ext (Makefile)]
make -C ext/
make[2]: Entering directory ‘/home/user/vkdt/ext’
mkdir -p …/built/ext/rawspeed
cd …/built/ext/rawspeed; cmake …/…/…/ext/rawspeed -DBUILD_TESTING=0 -DCMAKE_BUILD_TYPE=release -DRAWSPEED_ENABLE_LTO=off -DRAWSPEED_ENABLE_DEBUG_INFO=off -DBUILD_BENCHMARKING=off -DBUILD_FUZZERS=off -DBUILD_TOOLS=off
CMake Error at C:/msys64/ucrt64/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake:48 (message):
Could not find compiler set in environment variable CXX:
clang++.
Call Stack (most recent call first):
CMakeLists.txt:17 (project)
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
– Configuring incomplete, errors occurred!
See also “C:/msys64/home/user/vkdt/built/ext/rawspeed/CMakeFiles/CMakeOutput.log”.
make[2]: *** [Makefile:15: …/built/ext/rawspeed/Makefile] Error 1
make[2]: Leaving directory ‘/home/user/vkdt/ext’
make[1]: *** [Makefile:57: ext] Error 2
make[1]: Leaving directory ‘/home/user/vkdt’
make: *** [Makefile:7: all] Error 2>

Try installing this first: Package: mingw-w64-x86_64-glfw - MSYS2 Packages

heya, nice to see you trying this roel :slight_smile: unfortunately i don’t know pretty much anything about windows.

there has been this thread and there is a fork trying to build with mingw (but i can’t even tell how that relates to msys2). probably something relating to posix dirent is relevant for both cases.

i don’t know about ninja, i haven’t been using it. maybe that’s a default/fallback now? this here seems to indicate you should be able to somehow supply -G or set the CMAKE_GENERATOR environment variable and maybe just set it to make?

the build process aside, i expect some compatibility issues on windows, off the top of my head:

  • src/core/fs.h needs platform specific implementations for standard things like path handling. in particular detecting the full path of the executable is necessary so vkdt can pick up the data and modules directories
  • in a few places i’m depending on a gnu extension to realpath which also fills in the expanded real path (replacing symlink to directories by the real name) even if the resulting filename does not point to an existing file. probably realpath should have a fs_realpath platform specific implementation too.
  • vkdt uses symlinks to create collections of tags. probably there’s no such thing on windows.

Windows has had symlinks since Win2k or so. But only with NTFS filesystems, I believe.

oh, it seems you are right. you can tell i haven’t used windows for productive work since 2000 or so (reluctantly so). if that works with interface calls like unlink() or symlink() there should be “no problem™”.

Thanks. I know enough to be dangerous :grin:. or so my dad used to say. I will give that a try and see where that leaves me… Thx

Looks like slowly and silently vkdt is taking over the lead. Many tools are still missing but some are already better than in old darktable… time flies…

2 Likes

Got rid of the first part… now stuck here…

make -C … all
make[1]: Entering directory ‘/home/prior/vkdt’
Makefile:56: [ext (Makefile)]
mkdir -p built/
bin/config.mk.defaults:51: [ext (Makefile)]
bin/config.mk.defaults:51: [ext (Makefile)]
bin/config.mk.defaults:51: [ext (Makefile)]
bin/config.mk.defaults:51: [ext (Makefile)]
bin/config.mk.defaults:52: [ext (Makefile)]
bin/config.mk.defaults:52: [ext (Makefile)]
bin/config.mk.defaults:52: [ext (Makefile)]
bin/config.mk.defaults:52: [ext (Makefile)]
Makefile:13: [ext (Makefile)]
Makefile:57: [ext (Makefile)]
make -C ext/
make[2]: Entering directory ‘/home/prior/vkdt/ext’
mkdir -p …/built/ext/rawspeed
cd …/built/ext/rawspeed; cmake …/…/…/ext/rawspeed -DBUILD_TESTING=0 -DCMAKE_BUILD_TYPE=release -DRAWSPEED_ENABLE_LTO=off -DRAWSPEED_ENABLE_DEBUG_INFO=off -DBUILD_BENCHMARKING=off -DBUILD_FUZZERS=off -DBUILD_TOOLS=off
CMake Error at C:/msys64/ucrt64/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake:48 (message):
Could not find compiler set in environment variable CXX:

clang++.

Call Stack (most recent call first):
CMakeLists.txt:17 (project)

CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
– Configuring incomplete, errors occurred!
See also “C:/msys64/home/prior/vkdt/built/ext/rawspeed/CMakeFiles/CMakeOutput.log”.
make[2]: *** [Makefile:15: …/built/ext/rawspeed/Makefile] Error 1
make[2]: Leaving directory ‘/home/prior/vkdt/ext’
make[1]: *** [Makefile:57: ext] Error 2
make[1]: Leaving directory ‘/home/prior/vkdt’
make: *** [Makefile:7: all] Error 2

This is a hint on what to do next :wink:

I’ve packaged this for nixpkgs and will open a PR for it shortly

I was trying from the ucrt terminal as that works nicely with dark table. Should I try clang term instead and also check that the path is set properly??

I’ll poke around a bit and see what I can do

It seems to me that you just need to install clang/clang++ in your terminal. No need to switch environment.