Bug 417085

Summary: ktechlab-0.40.1 fails to build with gcc10
Product: [Applications] KTechLab Reporter: Filipe Rosset <rosset.filipe>
Component: generalAssignee: Zoltan Padrah <zoltan.padrah>
Status: RESOLVED UNMAINTAINED    
Severity: normal CC: julian
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Filipe Rosset 2020-02-03 03:45:31 UTC
ktechlab-0.40.1 fails to build with gcc10 

/builddir/build/BUILD/ktechlab-0.40.1/src/gui/contexthelp.h:14:10: fatal error: ui_contexthelpwidget.h: No such file or directory    14 | #include <ui_contexthelpwidget.h>

Full logs here: https://kojipkgs.fedoraproject.org//work/tasks/9925/41319925/build.log
Comment 1 Zoltan Padrah 2020-02-03 11:20:05 UTC
Hi,

based on the logs, this is a known issue of the buildsystem of KTechLab, as the build depends on a corner-case in CMake and KDE CMake libraries: some internal libraries of KTechLab depend (and include) generated headers from other internal libraries. Because these dependencies are not handled in the buildsystem, in some cases the build fails because these headers are not generated yet.

There is a workaround for this issue: explicitly generate the headers, before running the final `make` command. This is implemented in the `build-simple.sh` script:

https://cgit.kde.org/ktechlab.git/tree/build-simple.sh?h=v0.40.1#n57


The more permanent fix for this issue has been to not use internal libraries in KTechLab, and then the dependencies are properly tracked by CMake. This has been done after the 0.40.1 release, in the 0.50 series. For reference, please see this commit:

https://cgit.kde.org/ktechlab.git/commit/?id=393daeb5d0f0ec75b647922cabe83d2f36867712

Please let me know if the workaround is acceptable for you, or if you have some other issue.
As KDE4 is considered deprecated, I prefer to not to make a new release for KDE4.
Comment 2 Zoltan Padrah 2025-11-22 20:39:09 UTC
Assuming that this old version of KTechLab is not relevant anymore. In case it still is, feel free to reopen this bug report.