Building the KDE4 for Slackware 15.0 in the KTown style - a build based on the PBSLACKS patches
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Distribution: slackware, slackware from scratch, LFS, slackware [arm], linux Mint...
Posts: 1,564
Rep:
-for step, you can create an eigen2-2.1.17 SBo package.
-for rocs, you can create a boost compat package aka this https://slackware.uk/people/alien/sl...-compat/build/ which should include also boost-1.74. For the time being, it includes from 1.76 to 1.81.
-for step, you can create an eigen2-2.1.17 SBo package.
-for rocs, you can create a boost compat package aka this https://slackware.uk/people/alien/sl...-compat/build/ which should include also boost-1.74. For the time being, it includes from 1.76 to 1.81.
Honestly, after the mass build, I did not arrived yet at STEP, but ROCS now fails with this error:
Code:
tmp/kde_build/kdeedu/rocs-4.14.3/VisualEditor/Actions/SelectMoveHandAction.cpp: In member function ‘virtual bool SelectMoveHandAction::executePress(QPointF)’:
/tmp/kde_build/kdeedu/rocs-4.14.3/VisualEditor/Actions/SelectMoveHandAction.cpp:87:17: error: conversion from ‘int’ to ‘QPainter::RenderHints’ {aka ‘QFlags<QPainter::RenderHint>’} is ambiguous
86 | _graphScene->views().at(0)->setRenderHints(QPainter::Antialiasing
| ~~~~~~~~~~~~~~~~~~~~~~
87 | & QPainter::TextAntialiasing);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/kdemacros.h:162,
from /usr/include/kdeui_export.h:24,
from /usr/include/kaction.h:29,
from /usr/include/KDE/../ktoggleaction.h:30,
from /usr/include/KDE/KToggleAction:1,
from /tmp/kde_build/kdeedu/rocs-4.14.3/VisualEditor/Actions/AbstractAction.h:22,
from /tmp/kde_build/kdeedu/rocs-4.14.3/VisualEditor/Actions/SelectMoveHandAction.h:24,
from /tmp/kde_build/kdeedu/rocs-4.14.3/VisualEditor/Actions/SelectMoveHandAction.cpp:21:
/usr/lib64/qt/include/QtCore/qglobal.h:2436:29: note: candidate: ‘constexpr QFlags<Enum>::QFlags(QFlags<Enum>::Zero) [with Enum = QPainter::RenderHint; QFlags<Enum>::Zero = void**]’ (near match)
2436 | Q_DECL_CONSTEXPR inline QFlags(Zero = 0) : i(0) {}
...
This does not seems a Boost error, but something regarding Qt.
Unfortunately, my friend can't help anymore for the next several weeks, because he has a deadline at job. Seems like the last patch he had time for is the one for elogind support - that's why it was delivered also early. Heck, he made over 20 patches for this KDE4 build - so I can't lament for this.
Last edited by LuckyCyborg; 02-20-2023 at 11:31 AM.
so try to downgrade to boost-1.74.0-x86_64-3.txz (from here: https://slackware.uk/cumulative/slac...slackware64/l/), which was the boost version when kde4 was removed on 8th december 2020.
And tell us the result.
so try to downgrade to boost-1.74.0-x86_64-3.txz (from here: https://slackware.uk/cumulative/slac...slackware64/l/), which was the boost version when kde4 was removed on 8th december 2020.
And tell us the result.
Like I said already, for this KDE4 build I prefer very strongly to NOT downgrade the system packages. Heck, even the Qt5 removal (while building the packages) is something which I really like to avoid in future.
Anyway, it's quite clearly that it's a Qt4 value casting error, not a Boost error.
Last edited by LuckyCyborg; 02-20-2023 at 11:50 AM.
Distribution: slackware, slackware from scratch, LFS, slackware [arm], linux Mint...
Posts: 1,564
Rep:
concerning step, there's no need of a patch, the answer is included in the error message:
Code:
-----------------------------------------------------------------------------
-- The following REQUIRED packages could NOT be located on your system.
-- You must install these packages before continuing.
-----------------------------------------------------------------------------
* Eigen2 (2.0.3 or higher) <http://eigen.tuxfamily.org>
Required to build step.
And in slackware-15.0 and after it has been replaced by eigen3 which is a different beast.
Consider building an eigen SBo package, and you'll be able to build step.
concerning step, there's no need of a patch, the answer is included in the error message:
Code:
-----------------------------------------------------------------------------
-- The following REQUIRED packages could NOT be located on your system.
-- You must install these packages before continuing.
-----------------------------------------------------------------------------
* Eigen2 (2.0.3 or higher) <http://eigen.tuxfamily.org>
Required to build step.
And in slackware-15.0 and after it has been replaced by eigen3 which is a different beast.
Consider building an eigen SBo package, and you'll be able to build step.
But LuckyCyborg has available eigen3 3.2.10 in deps, and this eigen3 has a way of compatibility with eigen2
Depending on the features used, that eigen3 package could be used to simulate eigen2, considering that it is only necessary for this step.
If I'm not mistaken, if he defines EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API first, he will get almost an eigen2 API
Indeed, there is also the option of creating an eigen2 package in the style of the one already present in deps, and to be used as is.
Man, I am NOT a C/C++ programmer (all those patches added or presented for this KDE4 build was made by someone else) and playing with a math library is probably the worst way to begin the programming.
So, I for one, I am with @nobodino regarding the solution. Sort of, because just like you said, I intend for now to build a compat library like eigen32 from deps.
True, depending on complexity of usage of this eigen2 compat way of eigen32, your idea certainly is much better. BUT, I will leave this way to be explored by the gentlemen with higher experience in C/C++ programming than me.
Last edited by LuckyCyborg; 02-20-2023 at 02:02 PM.
All the patches and builds discussed until now are applied, and just like in the true KTown of Mr. Hameleers, there's also an alldeps.SlackBuild which builds and installs all dependencies for you.
So, what's new? First of all, all KDE4 packages are now built successfully and a new dependency package was added: eigen20 . Also, now the suspend/hibernate works with elogind.
The known issues was already enumerated in this thread - and they are 4 right now.
Long story short, the KDE4 desktop works quite stable and it looks just like you remember, but aren't functional the Plasma widgets addition and the desktop notifications aren't shown. Also, the desktop behaves erratically when it's used the autologin in KDM and the NetworkManager widget and configuration apparently has the interface updates only at startup.
Last edited by LuckyCyborg; 02-20-2023 at 03:34 PM.
The known issues was already enumerated in this thread - and they are 4 right now.
Long story short, the KDE4 desktop works quite stable and it looks just like you remember, but aren't functional the Plasma widgets addition and the desktop notifications aren't shown. Also, the desktop behaves erratically when it's used the autologin in KDM and the NetworkManager widget and configuration apparently has the interface updates only at startup.
For the NetworkManager Widget probably because of this change in NetworkManager :
"NetworkManager-1.32
Overview of changes since NetworkManager-1.30
=============================================
...
* API CHANGE: D-Bus: remove long deprecated "PropertiesChanged" signal from D-Bus
API. They are replaced by standard "PropertiesChanged" signal on the
"org.freedesktop.DBus.Properties" interface. It is not expected that anybody
is still using this API."
It work on my old Slackware current from april 2021. It should work on the Slackware 15 but I have not tested.
The problem is the deprecated interface I spoke on the previous message. So I have backported some code from networkmanager-qt (which is for qt5 and qt6).I hope it will work.
It work on my old Slackware current from april 2021. It should work on the Slackware 15 but I have not tested.
The problem is the deprecated interface I spoke on the previous message. So I have backported some code from networkmanager-qt (which is for qt5 and qt6).I hope it will work.
Thank you very much for your efforts!
I have seen yesterday this tarball of libnm-qt-1.0.1 , BUT it does not compile on Slackware 15.0 with the KDE4 build as seen in the second published tarballs.
First of all, seems that connect() wants SIGNAL/SLOT thingies, so because seemed a relative simple thing, I made the following patch, looking in the libnm-qt-1.0.0 for the similar code which I know that at least it compiled:
Unfortunatelly, even after this patch, I have got the following compilation error:
Code:
bash-5.1# make
Consolidate compiler generated dependencies of target NetworkManagerQt
[ 1%] Building CXX object CMakeFiles/NetworkManagerQt.dir/connection.cpp.o
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp: In constructor ‘NetworkManager::Connection::Connection(const QString&, QObject*)’:
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp:88:27: error: ‘class OrgFreedesktopNetworkManagerSettingsConnectionInterface’ has no member named ‘unsaved’
88 | d->unsaved = d->iface.unsaved();
| ^~~~~~~
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp: In member function ‘QDBusPendingReply<> NetworkManager::Connection::updateUnsaved(const NMVariantMapMap&)’:
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp:154:25: error: ‘class OrgFreedesktopNetworkManagerSettingsConnectionInterface’ has no member named ‘UpdateUnsaved’
154 | return d->iface.UpdateUnsaved(settings);
| ^~~~~~~~~~~~~
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp: In member function ‘QDBusPendingReply<> NetworkManager::Connection::save()’:
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp:160:25: error: ‘class OrgFreedesktopNetworkManagerSettingsConnectionInterface’ has no member named ‘Save’
160 | return d->iface.Save();
| ^~~~
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp: In member function ‘void NetworkManager::Connection::onPropertiesChanged(const QVariantMap&)’:
/tmp/kde_build/extragear/libnm-qt-1.0.1/connection.cpp:206:13: error: ‘emit’ was not declared in this scope; did you mean ‘exit’?
206 | emit unsavedChanged(d->unsaved);
| ^~~~
| exit
make[2]: *** [CMakeFiles/NetworkManagerQt.dir/build.make:432: CMakeFiles/NetworkManagerQt.dir/connection.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:227: CMakeFiles/NetworkManagerQt.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
bash-5.1#
How the errors are about missing class functions and I have no idea about how those classes should be, I have stoped there - supposing that I have just walked on some kind of Work In Progress.
My humble suggestion for you is to make a Virtual Machine with Slackware 15.0 where you install everything excluding KDE series. My second published build should compile all KDE4 packages, giving you a KDE4 desktop with those 4 famous issues.
Last edited by LuckyCyborg; 02-23-2023 at 03:29 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.