Bug 418330

Summary: kuserfeedback build looks for qt4 version of qmllint
Product: [Frameworks and Libraries] frameworks-kuserfeedback Reporter: Andrew Hou <andrewfhou>
Component: Telemetry ProviderAssignee: Volker Krause <vkrause>
Status: RESOLVED NOT A BUG    
Severity: normal    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Andrew Hou 2020-02-29 17:19:06 UTC
SUMMARY

When attempting to build kuserfeedback, the build is looking for a qt4 version of qmllint at /usr/lib/x86_64-linux-gnu/qt4/bin/qmllint instead of the qt5 version, which exists on my system at /usr/lib/x86_64-linux-gnu/qt5/bin/qmllint

STEPS TO REPRODUCE
1. Setup KDE dev environment, necessary dependencies
2. kdesrc-build kuserfeedback --resume-from kuserfeedback

OBSERVED RESULT

# kdesrc-build running: 'make' '-j8'
# from directory: /home/mweepigeon/kde/build/kuserfeedback
[  1%] Built target shared_utils.php_phplint
[  3%] Automatic MOC, UIC and RCC for target KUserFeedbackCommon
[  3%] Built target shared_compat.php_phplint
[  4%] Built target shared_aggregation.php_phplint
[  5%] Built target shared_config.php_phplint
[  5%] Built target shared_analytics.php_phplint
[  6%] Built target shared_product.php_phplint
[  7%] Built target shared_datastore.php_phplint
[  8%] Built target admin_index.php_phplint
[  9%] Built target KUserFeedbackCommon_autogen
[ 10%] Built target analytics_index.php_phplint
[ 11%] Built target shared_admin.php_phplint
[ 11%] Built target receiver_index.php_phplint
[ 11%] Built target shared_receiver.php_phplint
[ 13%] Built target shared_sample.php_phplint
[ 13%] Built target shared_restdispatcher.php_phplint
[ 14%] Built target shared_survey.php_phplint
[ 15%] Built target shared_schemaentry.php_phplint
[ 15%] Built target shared_schemaentryelement.php_phplint
[ 16%] Built target shared_restexception.php_phplint
[ 17%] Built target schemaentrytest.php_phplint
[ 18%] Built target utilstest.php_phplint
[ 19%] Built target router.php_phplint
[ 19%] Built target abstractdatastoretest.php_phplint
[ 19%] Built target producttest.php_phplint
[ 21%] Built target schemaentryelementtest.php_phplint
[ 21%] Built target sampletest.php_phplint
[ 22%] Built target aggregationtest.php_phplint
[ 23%] Built target surveytest.php_phplint
[ 24%] Generating orwell.qml.qmllint
qmllint: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmllint': No such file or directory
tests/CMakeFiles/orwell.qml_qmllint.dir/build.make:60: recipe for target 'tests/orwell.qml.qmllint' failed
make[2]: *** [tests/orwell.qml.qmllint] Error 1
CMakeFiles/Makefile2:2294: recipe for target 'tests/CMakeFiles/orwell.qml_qmllint.dir/all' failed
make[1]: *** [tests/CMakeFiles/orwell.qml_qmllint.dir/all] Error 2
[ 26%] Built target user_feedback_manual_qch
make[1]: *** Waiting for unfinished jobs....
[ 33%] Built target KUserFeedbackCommon
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2


EXPECTED RESULT

Successful build of kuserfeedback

SOFTWARE/OS VERSIONS
OS Version: KDE Neon 5.18 User Edition
KDE Plasma Version: 5.18.2
KDE Frameworks Version: 5.67.0
Qt Version: 5.14.1

ADDITIONAL INFORMATION
Comment 1 Volker Krause 2020-03-03 09:41:10 UTC
The Qt4 path isn't coming from kuserfeedback, all that's done there is `find_program(QMLLINT_EXECUTABLE qmllint)` (ie. find qmllint in $PATH).

What does "which qmllint" report in the shell you tried to build this? My guess would be a symlink to the non-existent Qt4 path.
Comment 2 Andrew Hou 2020-03-03 13:26:29 UTC
Ah, I think you're right.

qmllint is in /usr/bin and symlinked to /usr/bin/qtchooser, which looks like it has "/usr/lib/x86_64-linux-gnu/qt4/bin" set as QTTOOLDIR, so that's definitely what the issue was
Comment 3 Andrew Hou 2020-03-03 13:31:58 UTC
Installing qt5-default from apt fixed it and kuserfeedback now successfully builds