Compile Natron -- Debian Qt5

Hello,
I’m trying to comile natron with qt5 on Debian, but it is not finiding qt5 if I run
qmake -r ../Project.pro CONFIG+=python3
I have qt5-qmake installed under /usr/lib/x86_64-linux-gnu/qt5.
I guess I need to link that in the config.pri, but not sure how.
Can someone help?

WARNING: Failure to find: Qt5/NatronEngine/animatedparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/app_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/appsettings_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/beziercurve_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/booleanparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/boolnodecreationproperty_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/buttonparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/choiceparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/colorparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/colortuple_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/double2dparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/double2dtuple_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/double3dparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/double3dtuple_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/doubleparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/effect_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/exprutils_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/fileparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/floatnodecreationproperty_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/group_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/groupparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/imagelayer_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/int2dparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/int2dtuple_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/int3dparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/int3dtuple_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/intnodecreationproperty_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/intparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/itembase_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/layer_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/natron_enum_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/nodecreationproperty_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/outputfileparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/pageparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/param_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/parametricparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/pathparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/pycoreapplication_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/rectd_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/recti_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/roto_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/separatorparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/stringnodecreationproperty_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/stringparam_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/stringparambase_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/track_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/tracker_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/userparamholder_wrapper.cpp
WARNING: Failure to find: Qt5/NatronEngine/natronengine_python.h
WARNING: Failure to find: Qt5/NatronEngine/animatedparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/app_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/appsettings_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/beziercurve_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/booleanparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/boolnodecreationproperty_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/buttonparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/choiceparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/colorparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/colortuple_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/double2dparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/double2dtuple_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/double3dparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/double3dtuple_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/doubleparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/effect_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/exprutils_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/fileparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/floatnodecreationproperty_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/group_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/groupparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/imagelayer_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/int2dparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/int2dtuple_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/int3dparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/int3dtuple_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/intnodecreationproperty_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/intparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/itembase_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/layer_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/natron_enum_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/nodecreationproperty_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/outputfileparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/pageparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/param_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/parametricparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/pathparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/pycoreapplication_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/rectd_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/recti_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/roto_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/separatorparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/stringnodecreationproperty_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/stringparam_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/stringparambase_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/track_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/tracker_wrapper.h
WARNING: Failure to find: Qt5/NatronEngine/userparamholder_wrapper.h
Reading /home/j/repos/Natron/Renderer/Renderer.pro [/home/j/repos/Natron/build/Renderer]
Reading /home/j/repos/Natron/Gui/Gui.pro [/home/j/repos/Natron/build/Gui]
WARNING: Failure to find: Qt5/NatronGui/natrongui_module_wrapper.cpp
WARNING: Failure to find: Qt5/NatronGui/guiapp_wrapper.cpp
WARNING: Failure to find: Qt5/NatronGui/pyguiapplication_wrapper.cpp
WARNING: Failure to find: Qt5/NatronGui/pymodaldialog_wrapper.cpp
WARNING: Failure to find: Qt5/NatronGui/pypanel_wrapper.cpp
WARNING: Failure to find: Qt5/NatronGui/pytabwidget_wrapper.cpp
WARNING: Failure to find: Qt5/NatronGui/pyviewer_wrapper.cpp
WARNING: Failure to find: Qt5/NatronGui/natrongui_python.h
WARNING: Failure to find: Qt5/NatronGui/guiapp_wrapper.h
WARNING: Failure to find: Qt5/NatronGui/pyguiapplication_wrapper.h
WARNING: Failure to find: Qt5/NatronGui/pymodaldialog_wrapper.h
WARNING: Failure to find: Qt5/NatronGui/pypanel_wrapper.h
WARNING: Failure to find: Qt5/NatronGui/pytabwidget_wrapper.h
WARNING: Failure to find: Qt5/NatronGui/pyviewer_wrapper.h
$make
make[1]: *** No rule to make target 'Qt5/NatronEngine/natronengine_module
_wrapper.cpp', needed by 'natronengine_module_wrapper.o'.  Stop.
make: *** [Makefile:292: sub-Engine-make_first] Error 2

Thanks in advance.

Hi,

Try using CMake for Qt5.

1 Like

That is looking more promissing. I get the follwing error though:

/usr/bin/ld: ../libs/ceres/libceres.a(solver.cc.o): undefined reference to symbol 'pthread_rwlock_destroy@@GLIBC_2.2.5'
/usr/bin/ld: /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
gmake[2]: *** [Renderer/CMakeFiles/NatronRenderer.dir/build.make:142: Renderer/NatronRenderer] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:1065: Renderer/CMakeFiles/NatronRenderer.dir/all] Error 2
gmake: *** [Makefile:160: all] Error 2

I’ve tried $cmake --build . -lpthread, but that did not help.

Yeah, the current state of Qt5 build files are not the best it seems, these are your options:

Or if your plan was to use Natron, just download the binaries from GitHub releases.

Eventually I would like to contribute to the project and wanted to try the new qt5. Maybe I can start helping by updating the documentation for building from source on debian.
EDIT:
I was able to fix the issue by cmake --enable-debugger LDFLAGS='-Wl,--copy-dt-needed-entries,-pthread' --configure ../.
Now there is an error with the checks. Maybe you can have a look. I did not spot the relevant part yet. /usr/bin/ld: ../Engine/libNatronEngine.a(AppInstance.cpp.o): in function `_Py_DE - Pastebin.com

I’m have QT 5.15.2 checking out before 54368aba46b2d586a4f78f5b6c70363e9e118c04 makes it possible to compile without errors. If the application is launched it immediatly crashes Major opcode of failed request: 152 (GLX). (The old release is working fine. GPU is Nvidia 3080)

Compiling with cmake is stuck in the tests.

Btw. I just wanted to mention, that I have a working version of darktable installed. I just wanted to give this a try, because I love Natron and I’m excited seeing it moving forward. So don’t worry about me. I’m trying to find solutions/ways to contribute and learn new stuff.