Issues compling the KDE development environment

Méven meven29 at gmail.com
Sun Jul 24 10:20:43 BST 2022


Hi,

First off you don't necessarily need to compile Qt to work on KDE software
development packages for Qt from your distros should be sufficient.
Unless you want to work on very specific issues like Qt6 porting or Wayland
support for instance.

Our documentation for building from source is at
https://community.kde.org/Get_Involved/development but I guess you already
have found it.

> When I attempt to build kwindowsystem, it comes up with an error that it
cannot find Qt5X11Extras package.  I did provide a workaround to that by
creating a symbolic link named Qt5X11Extras in ~/kde/qt5/lib/cmake to my
existing Qt5X11Extras folder found in /usr/lib/x86_64-linux-gnu/cmake,
which is version 5.15.3, and the version of Qt that I am building in my KDE
development environment is 5.15.5.  This seemed to resolve the issue,
although I'm not sure if what I did is a valid way of resolving this.

Check the qtdir value in your ~/.config/kdesrc-buildrc config file.
This kind of linking shenanigans should not be necessary. It might be the
case that the rest of KDE software doesn't use your compiled Qt.
If the value matches, make sure to restart your build with a clean or a
cmake, old paths might have been put in cache.
"kdesrc-build --refresh-build kio" for instance

> My question regarding this is why the Qt5X11Extras folder was not created
in ~/kde/qt5/lib/cmake when Qt5 was built as the first step in building the
KDE Development environment, so that this issue would not come up.  Any
help on resolving that issue would be greatly appreciated.

I can't help here. I haven't built Qt5X11Extras in a while.

> On to my second more critical error.  I am getting build/linker errors
when building KIO as follows:
[ 51%] Building CXX object
src/widgets/CMakeFiles/KF5KIOWidgets.dir/KF5KIOWidgets_autogen/mocs_compilation.cpp.o
/usr/bin/ld: /home/rkanagy/kde/qt5/lib/libQt5Core.so.5.15.5: undefined
reference to
`std::__exception_ptr::exception_ptr::_M_release()@CXXABI_1.3.13'
/usr/bin/ld: /home/rkanagy/kde/qt5/lib/libQt5Test.so.5.15.5: undefined
reference to
`std::condition_variable::wait(std::unique_lock<std::mutex>&)@GLIBCXX_3.4.30'
/usr/bin/ld: /home/rkanagy/kde/qt5/lib/libQt5Test.so.5.15.5: undefined
reference to `std::__throw_bad_array_new_length()@GLIBCXX_3.4.29'
/usr/bin/ld: /home/rkanagy/kde/qt5/lib/libQt5Core.so.5.15.5: undefined
reference to
`std::__exception_ptr::exception_ptr::_M_addref()@CXXABI_1.3.13'
collect2: error: ld returned 1 exit status
This points towards an issue with your Qt compilation. It could be that it
uses a different glibc version than your kio version being compiled.


Le ven. 15 juil. 2022 à 13:53, Ronald Kanagy <ron.kanagy at gmail.com> a
écrit :

> Hello,
>
> I have run into a couple issues when attempting to build the KDE
> development environment using kdesrc-build:
>
> My linux environment is as follows:
> Ubuntu/Kubuntu 22.04
> GNU C++ g++ 11.2.0 (Ubuntu 11.2.0-19ubuntu1)
>
> I've installed all the Qt5 dependencies that I'm aware of as described at
> https://doc.qt.io/qt-5/linux-requirements.html
>
> When I attempt to build kwindowsystem, it comes up with an error that it
> cannot find Qt5X11Extras package.  I did provide a workaround to that by
> creating a symbolic link named Qt5X11Extras in ~/kde/qt5/lib/cmake to my
> existing Qt5X11Extras folder found in /usr/lib/x86_64-linux-gnu/cmake,
> which is version 5.15.3, and the version of Qt that I am building in my KDE
> development environment is 5.15.5.  This seemed to resolve the issue,
> although I'm not sure if what I did is a valid way of resolving this.
>
> My question regarding this is why the Qt5X11Extras folder was not created
> in ~/kde/qt5/lib/cmake when Qt5 was build as the first step in building the
> KDE Development environment, so that this issue would not come up.  Any
> help on resolving that issue would be greatly appreciated.
>
> On to my second more critical errors.  I am getting build/linker errors
> when building KIO as follows:
>
> [ 51%] Building CXX object
> autotests/CMakeFiles/favicontest.dir/favicontest.cpp.o
> [ 51%] Generating ui_checksumswidget.h
> [ 51%] Generating ui_kfilepropspluginwidget.h
> [ 51%] Generating ui_kpropertiesdesktopadvbase.h
> [ 51%] Generating ui_kpropertiesdesktopbase.h
> [ 51%] Generating fileundomanager_adaptor.moc
> [ 51%] Generating kuiserver_interface.moc
> [ 51%] Building CXX object
> src/widgets/CMakeFiles/KF5KIOWidgets.dir/KF5KIOWidgets_autogen/mocs_compilation.cpp.o
> /usr/bin/ld: /home/rkanagy/kde/qt5/lib/libQt5Core.so.5.15.5: undefined
> reference to
> `std::__exception_ptr::exception_ptr::_M_release()@CXXABI_1.3.13'
> /usr/bin/ld: /home/rkanagy/kde/qt5/lib/libQt5Test.so.5.15.5: undefined
> reference to
> `std::condition_variable::wait(std::unique_lock<std::mutex>&)@GLIBCXX_3.4.30'
> /usr/bin/ld: /home/rkanagy/kde/qt5/lib/libQt5Test.so.5.15.5: undefined
> reference to `std::__throw_bad_array_new_length()@GLIBCXX_3.4.29'
> /usr/bin/ld: /home/rkanagy/kde/qt5/lib/libQt5Core.so.5.15.5: undefined
> reference to
> `std::__exception_ptr::exception_ptr::_M_addref()@CXXABI_1.3.13'
> collect2: error: ld returned 1 exit status
> gmake[2]: ***
> [autotests/http/CMakeFiles/httpauthenticationtest.dir/build.make:113:
> bin/httpauthenticationtest] Error 1
> gmake[1]: *** [CMakeFiles/Makefile2:7959:
> autotests/http/CMakeFiles/httpauthenticationtest.dir/all] Error 2
> gmake[1]: *** Waiting for unfinished jobs....
> [ 51%] Building CXX object
> src/widgets/CMakeFiles/KF5KIOWidgets.dir/kacleditwidget.cpp.o
> /usr/bin/ld: /home/rkanagy/kde/qt5/lib/libQt5Core.so.5.15.5: undefined
> reference to
> `std::__exception_ptr::exception_ptr::_M_release()@CXXABI_1.3.13'
> /usr/bin/ld: /home/rkanagy/kde/qt5/lib/libQt5Test.so.5.15.5: undefined
> reference to
> `std::condition_variable::wait(std::unique_lock<std::mutex>&)@GLIBCXX_3.4.30'
> /usr/bin/ld: /home/rkanagy/kde/qt5/lib/libQt5Test.so.5.15.5: undefined
> reference to `std::__throw_bad_array_new_length()@GLIBCXX_3.4.29'
> /usr/bin/ld: /home/rkanagy/kde/qt5/lib/libQt5Core.so.5.15.5: undefined
> reference to
> `std::__exception_ptr::exception_ptr::_M_addref()@CXXABI_1.3.13'
> collect2: error: ld returned 1 exit status
> gmake[2]: ***
> [autotests/http/CMakeFiles/httpobjecttest.dir/build.make:161:
> bin/httpobjecttest] Error 1
> gmake[1]: *** [CMakeFiles/Makefile2:7987:
> autotests/http/CMakeFiles/httpobjecttest.dir/all] Error 2
> [ 51%] Building CXX object
> src/widgets/CMakeFiles/KF5KIOWidgets.dir/kurlrequesterdialog.cpp.o
> [ 51%] Building CXX object
> src/widgets/CMakeFiles/KF5KIOWidgets.dir/kurlcombobox.cpp.o
> [ 52%] Building CXX object
> src/widgets/CMakeFiles/KF5KIOWidgets.dir/kfileitemactions.cpp.o
> [ 52%] Building CXX object
> src/widgets/CMakeFiles/KF5KIOWidgets.dir/imagefilter.cpp.o
> [ 52%] Linking CXX executable ../bin/favicontest
> [ 52%] Built target favicontest
>
> I have provided some context to show where in the process these errors are
> occurring.  This seems to be a glibc++ problem, maybe I'm not using the
> correct version of the GNU C++ compiler, but I'm not sure.
>
> What do I need to do to resolve these linker errors?
>
> Any help on these two issues would be greatly appreciated.
>
> Thanks,
> Ron Kanagy
>
>

-- 
Méven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-devel/attachments/20220724/37f19c7a/attachment-0001.htm>


More information about the kde-devel mailing list