Bug 419202

Summary: umbrello-20.03.80 fails during make install when Doxygen is found
Product: [Applications] umbrello Reporter: Heiko Becker <heiko.becker>
Component: generalAssignee: Umbrello Development Group <umbrello-devel>
Status: RESOLVED FIXED    
Severity: normal CC: ralf.habacker
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In: 2.31.0 (KDE releases 20.04.0)

Description Heiko Becker 2020-03-24 21:33:55 UTC
STEPS TO REPRODUCE
1. cmake && make && make install

OBSERVED RESULT
CMake Error at cmake_install.cmake:76 (file):
  file INSTALL cannot find
  "/var/tmp/paludis/build/kde-umbrello-20.03.80/work/build/apidoc": No such
  file or directory.

The same seems to happen on CI, eg.:
https://build.kde.org/job/Applications/job/umbrello/job/stable-kf5-qt5%20FreeBSDQt5.14/1/console

The OpenSUSE one fails earlier because something else.

SOFTWARE/OS VERSIONS
Linux
KDE Frameworks Version: 5.68.0
Qt Version: 5.15.0-beta2

ADDITIONAL INFORMATION
cmake-3.17.0
doxygen-1.8.17
Comment 1 Ralf Habacker 2020-03-25 11:34:14 UTC
Thanks for reporting. 

The reason is, that in case doxygen has been found, the required target apidoc is not build by default, which is required in this case.

A workaround is to run 

1. cmake && make && make apidoc && make install

another workaround is to uninstall doxygen.
Comment 2 Ralf Habacker 2020-03-25 12:10:21 UTC
Git commit d6af49532d3c4626533b7fa7f198e97aba2443a4 by Ralf Habacker.
Committed on 25/03/2020 at 11:53.
Pushed by habacker into branch 'release/20.04'.

Fix bug not building apidoc and qch file by default, if enabled

For easier troubleshooting, a status line is now displayed if
qhelpgenerator was found.

A new cmake option BUILD_APIDOC has been added (default:on), which
can be used to disable the creation of api doc if this is not desired.
FIXED-IN:2.30.90 (KDE releases 20.03.90)

M  +5    -2    CMakeLists.txt

https://invent.kde.org/kde/umbrello/commit/d6af49532d3c4626533b7fa7f198e97aba2443a4
Comment 3 Ralf Habacker 2020-03-26 13:36:52 UTC
Git commit 72fdf0348e9175054a9856c1753b03a7ed2afa37 by Ralf Habacker.
Committed on 26/03/2020 at 13:36.
Pushed by habacker into branch 'release/20.04'.

Fixed cmake 3.10 error caused by not setting policy CMP0057 to NEW

FindDoxygen.cmake uses the IN_LIST operator, for which it is necessary
to specify the named policy.

This bug was reported by Jonathan Riddell.

M  +4    -0    CMakeLists.txt

https://invent.kde.org/kde/umbrello/commit/72fdf0348e9175054a9856c1753b03a7ed2afa37
Comment 4 Christoph Feck 2020-04-02 08:05:04 UTC
CI still says it doesn't build, see https://build.kde.org/view/Failing/job/Applications/job/umbrello/

I would like to create RC tars today.
Comment 5 Christoph Feck 2020-04-14 14:08:12 UTC
Any update? Should the default be changed to not create Doxygen docs? Umbrello still fails to build on CI (both openSUSE and Windows). I would like to create 20.04 tars on Thursday.
Comment 6 Ralf Habacker 2020-04-16 06:50:21 UTC
Git commit 3d467938b5770e060f8b4da55ad362b6160ab5f9 by Ralf Habacker.
Committed on 16/04/2020 at 06:50.
Pushed by habacker into branch 'release/20.04'.

Add support for Qt5 variant of qhelpgenerator

M  +1    -1    CMakeLists.txt

https://invent.kde.org/kde/umbrello/commit/3d467938b5770e060f8b4da55ad362b6160ab5f9
Comment 7 Ralf Habacker 2020-04-16 07:02:00 UTC
(In reply to Christoph Feck from comment #5)
> Any update? 

Because local builds and CI on freeBSD (https://build.kde.org/view/Failing/job/Applications/job/umbrello/job/stable-kf5-qt5%20FreeBSDQt5.14/5/) works there must be something broken on CI, which needs further inspection.

> Should the default be changed to not create Doxygen docs?
There is a cmake option BUILD_APIDOC for that purpose.
Comment 8 Christoph Feck 2020-04-16 13:27:22 UTC
Thanks. I will pass this information to packagers.
Comment 9 Ralf Habacker 2020-04-16 15:23:20 UTC
From https://build.kde.org/job/Applications/job/umbrello/job/stable-kf5-qt5%20WindowsMSVCQt5.14/23/consoleFull

> 10:00:40  -- Found Doxygen: ... (found version "1.8.17) 
> found components:  doxygen 
> missing components:  dot

It looks like that with Windows builds the graphviz package is missing
Comment 10 Ralf Habacker 2020-04-16 15:30:06 UTC
From https://build.kde.org/job/Applications/job/umbrello/job/stable-kf5-qt5%20SUSEQt5.12/134/consoleFull

> 09:58:56  -- Found Doxygen: /usr/bin/doxygen (found version "1.8.16") found
> components: doxygen dot 
> 09:58:56  -- found doxygen package

graphviz seems to be  installed 
> 09:58:56  -- found qhelpgenerator QHELPGENERATOR_EXECUTABLE-NOTFOUND
That should be fixed with commit 3d467938b5770e060f8b4da55ad362b6160ab5f9

>09:59:05  error: Problems running dot: exit code=1, command='/usr/bin/dot',
>arguments='"/home/jenkins/workspace/Applications/umbrello/stable-kf5-qt5 SUSEQt5.12/build/apidoc/html/inherit_graph_141.dot" -Tpng -o "/home/jenkins
>/workspace/Applications/umbrello/stable-kf5-qt5 SUSEQt5.12/build/apidoc
>/html/inherit_graph_141.png" -Tcmapx -o "/home/jenkins/workspace/Applications
> /umbrello/stable-kf5-qt5 SUSEQt5.12/build/apidoc/html/inherit_graph_141.map"'

This command fails and I cannot see why - one unusual indication is that there is one dot call used to generate two files.
Comment 11 Ralf Habacker 2020-04-16 15:39:09 UTC
Git commit 6f98de12883c5a04946e9d2d506ca7b2e66b4539 by Ralf Habacker.
Committed on 16/04/2020 at 15:39.
Pushed by habacker into branch 'release/20.04'.

cmake: Only enable generating dot files if the 'dot' tool was found

M  +1    -1    CMakeLists.txt

https://invent.kde.org/kde/umbrello/commit/6f98de12883c5a04946e9d2d506ca7b2e66b4539
Comment 12 Ralf Habacker 2020-04-16 15:46:08 UTC
(In reply to Ralf Habacker from comment #10)
> > 09:58:56  -- Found Doxygen: /usr/bin/doxygen (found version "1.8.16") found
> >09:59:05  error: Problems running dot: exit code=1, command='/usr/bin/dot',
> >arguments='"/home/jenkins/workspace/Applications/umbrello/stable-kf5-qt5 SUSEQt5.12/build/apidoc/html/inherit_graph_141.dot" -Tpng -o "/home/jenkins
> >/workspace/Applications/umbrello/stable-kf5-qt5 SUSEQt5.12/build/apidoc
> >/html/inherit_graph_141.png" -Tcmapx -o "/home/jenkins/workspace/Applications
> > /umbrello/stable-kf5-qt5 SUSEQt5.12/build/apidoc/html/inherit_graph_141.map"'
> 
> This command fails and I cannot see why - one unusual indication is that
> there is one dot call used to generate two files.
According to https://cmake.org/cmake/help/v3.9/module/FindDoxygen.html 

DOXYGEN_DOT_MULTI_TARGETS

    Set to YES by this module (note that this requires a dot version newer than 1.8.10). This option is only meaningful if DOXYGEN_HAVE_DOT is also set to YES.

generating multiple targets should be possible with dot >= 1.8.10. Unfortunally the FindDoxygen.cmake module does not print the version of the used dot tool, so I'm going to disable that mode.
Comment 13 Ralf Habacker 2020-04-16 15:47:45 UTC
Git commit a5ef27d1b4aa660c0b0fcda4193024e88826a89e by Ralf Habacker.
Committed on 16/04/2020 at 15:47.
Pushed by habacker into branch 'release/20.04'.

cmake: on generating api doc disable using multiple dot targets

The detection of supported dot versions (>= 1.8.10) seems to not work
correctly.

M  +1    -0    CMakeLists.txt

https://invent.kde.org/kde/umbrello/commit/a5ef27d1b4aa660c0b0fcda4193024e88826a89e
Comment 14 Ralf Habacker 2020-04-16 16:35:36 UTC
Git commit 05b493ab033a28183f9e01786b22bf1c9ddb6837 by Ralf Habacker.
Committed on 16/04/2020 at 16:35.
Pushed by habacker into branch 'release/20.04'.

cmake use svg as image format for dot

This should fix 'dot' errors like 'Format: "png" not recognized....'

M  +1    -0    CMakeLists.txt

https://invent.kde.org/kde/umbrello/commit/05b493ab033a28183f9e01786b22bf1c9ddb6837
Comment 15 Ralf Habacker 2020-04-17 12:23:34 UTC
Git commit 5934b7b78adbc18ee387d76d7a845acfb5f37316 by Ralf Habacker.
Committed on 17/04/2020 at 12:18.
Pushed by habacker into branch 'release/20.04'.

cmake: Remove limits for generating dot graphs

This should fix related warnings on KDE CI.

M  +2    -1    CMakeLists.txt

https://invent.kde.org/kde/umbrello/commit/5934b7b78adbc18ee387d76d7a845acfb5f37316
Comment 16 Ralf Habacker 2020-04-17 12:23:34 UTC
Git commit 921f603ca45bdc52b94e86c12b5ca14bc8e7b687 by Ralf Habacker.
Committed on 17/04/2020 at 12:23.
Pushed by habacker into branch 'release/20.04'.

Revert "cmake: on generating api doc disable using multiple dot targets"

This reverts commit a5ef27d1b4aa660c0b0fcda4193024e88826a89e.

The reason for this commit was, that some dot installations do not
support 'png' format, which was fixed now.

M  +0    -1    CMakeLists.txt

https://invent.kde.org/kde/umbrello/commit/921f603ca45bdc52b94e86c12b5ca14bc8e7b687
Comment 17 Ralf Habacker 2020-04-18 05:15:14 UTC
Git commit e4a220bf1ac63d8399ce33ff8ac1684404e9cd63 by Ralf Habacker.
Committed on 18/04/2020 at 05:15.
Pushed by habacker into branch 'release/20.04'.

unittests: only build llvm testcase with the supported versions 7 and 8

llvm changes api on each major release.

M  +5    -1    unittests/CMakeLists.txt

https://invent.kde.org/kde/umbrello/commit/e4a220bf1ac63d8399ce33ff8ac1684404e9cd63
Comment 18 Ralf Habacker 2020-04-19 09:31:04 UTC
(In reply to Ralf Habacker from comment #17)
> Git commit e4a220bf1ac63d8399ce33ff8ac1684404e9cd63 by Ralf Habacker.
> Committed on 18/04/2020 at 05:15.
> Pushed by habacker into branch 'release/20.04'.
> 
> unittests: only build llvm testcase with the supported versions 7 and 8
reported with bug 420297