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.
Building the KDE4 for Slackware 15.0 in the KTown style - a build based on the PBSLACKS patches
Well, since some time I experiment with building KDE4 for Slackware 15.0 , having the reason that there are relative modern computers where KDE4 behaves much better than Plasma5.
There I talk about the computers with motherboard socket 775, and chipset G31/33 or Q35, which I seen to be quite common. Those computers, while may have a Intel Core2 Quad processor and 16GB DDR3 memories at 1333MHz, they are stuck with the Intel integrated graphics which are capable only of OpenGL 1.4 . And some of them even have no way to add a discrete graphics card, for the sake of offering at least OpenGL 2.1 to Plasma5.
Here I will share my current build of KDE4 for Slackware 15.0 , which is in the state: almost there.
First of all, I used as infrastructure the SlackBuilds included into PBSLACKS, BUT seems like they aren't compatible (many fails to build) with the release Slackware 15.0 so with the help of a friend of mine, I ended to patch al lot of packages to compile. Well, most patches was about fixing the integer comparation with bool, while it's used the contains() function, and which thing is not liked by compiler from Slackware 15.0
IF you ask why I did not used directly the PBSLACKS build system, it's because I wanted just KDE4, not the whole hog of PBSLACKS (which I understand that's a live system)
Where I have arrived? I have got a functional KDE4 desktop, and many applications (at least) are built. With some caveats:
As desktop, it's functional, BUT the Plasma widgets addition does not work. In fact, it's empty the bar where should have been the list of available widget. However, they seems to be successfully compiled.
Also, there are no buttons for suspend/hibernate - but true, I have built without ConsoleKit2 and/or pm-utils, then further patching probably is necessary. In other words, seems like we should port KDE4 to, well... systemd.
On KDESDK, the LOKALIZE cries that it does not find hunspell, even hunspell it's installed.
On KDEEDU, the programs ROCS and STEP build bombs with a ton of Boost errors.
On EXTRAGEAR, the AMAROK build fails yelling that it can't found the TAGLIB and CALLIGRA refuse to build, even after applying an additional patch, getting OpenEXR errors. Also, no NetworkManager support is available yet, because LIBNM-QT does not find the NetworkManager libraries.
So, there I prepared (and uploaded) a tarball containing the entire build system (made in the KTown style and including also the source tarballs) and the packages which I built already:
WARNING: it's a 2.53 GB huge file there and it will be available 30 days.
With the hope that there are another Slackers interested of making KDE4 to work in Slackware 15.0 , I will wait your comments, suggestions and, why NOT? further patches.
PS. In the attached screenshot you have KDE4 running in Slackware 15.0 and in the second screenshot you can see the bar where should be the Plasma widgets available to add, BUT it's empty.
Last edited by LuckyCyborg; 02-15-2023 at 03:52 PM.
You have done a lot of work after me. I didn't test on Slackware 15. I didn't upgrade my computers after Slackware current april 2021. They are working well. I have the project to test Slackware 15 on a test machine and so to test your work and extend mine (if I find some time).
I had seen the problem with the "the Plasma widgets addition" but didn't find a way to correct it. It seems to be a conflict between QT4 and QT5 with QCM (the widget addition panel use QCM). Have you also QT5 on your machine (just to verify my hypothesis) ?
For libnm-qt it should compile. Maybe there is some new updates in networkmanager I have not seen. I will look. libnm-qt has been modified in pbslacks from the original one.
For ConsoleKit I also compile without it. KDE4 has some dependencies with PAM. I will check more for elogind support.
For the other items I will look with a Slackware 15 test machine.
You have done a lot of work after me. I didn't test on Slackware 15. I didn't upgrade my computers after Slackware current april 2021. They are working well. I have the project to test Slackware 15 on a test machine and so to test your work and extend mine (if I find some time).
Thanks you for collaboration! To be honest, while I may be capable to package things, I am not a programmer, so when it's about of patches, I need to rely to others.
From my experience, the build of KDE4 from PBSLACKS has big issues with Slackware 15.0 , even it's most advanced around. Like I said already, there are many patches needed (all of them in that tarball). And even more patches seems to be needed in future.
Quote:
Originally Posted by BrunoLafleur
I had seen the problem with the "the Plasma widgets addition" but didn't find a way to correct it. It seems to be a conflict between QT4 and QT5 with QCM (the widget addition panel use QCM). Have you also QT5 on your machine (just to verify my hypothesis) ?
Yes, I have Qt5 installed. In fact, my build system is a full install excluding the KDE series which contains the Plasma5.
BUT, as far I remember, in the last stage before adoption of Plasma5, in -current was KDE4 and Qt5, and they worked along. So, it's quite strange if this is the cause.
Quote:
Originally Posted by BrunoLafleur
For libnm-qt it should compile. Maybe there is some new updates in networkmanager I have not seen. I will look. libnm-qt has been modified in pbslacks from the original one.
I will double check. Anyway, this NetworkManager support I believe to be fundamental for a functional KDE4 desktop. So, I can't wait for your patches.
EDIT: Yes, replacing with the libnm-qt-1.0.0.tar.xz from your repository will build a functional NetworkManager support.
For ConsoleKit I also compile without it. KDE4 has some dependencies with PAM. I will check more for elogind support.
I will be glad if you be gentle to add the elogind support, as the power management support is another fundamental part of a functional KDE4 desktop, in my humble opinion.
Quote:
Originally Posted by BrunoLafleur
For the other items I will look with a Slackware 15 test machine.
Thanks!
Last edited by LuckyCyborg; 02-15-2023 at 04:24 PM.
Thank you very much for mirroring this tarball, Monsieur Marav!
And yes, I believe and hope that there are other people intersted on a KDE4 build for Slackware 15.0 .
Regarding an eventual mirror in slackware.uk ... well, I do not think that Mr. Tadgy will be so willing to trust me with giving me access to a folder in his servers. After all, I live in Mordor.
PS. Apparently, I have no access to your mirror even over VPN, but that's OK - important is to know that the file is there.
Last edited by LuckyCyborg; 02-15-2023 at 09:31 AM.
Speaking about the Plasma widgets on my KDE4 build, I have noticed that they in fact works, but they just aren't presented for management.
By copying the file ~/.kde/share/config/plasma-desktop-appletsrc from a Slackware 14.2 LiveSlak flash drive, I got working two widgets which usually I setup: System Load Viewer and Show the Desktop, as seen in the attached screenshot. So, the issue is basically that they are not present in that list bar to manage them.
In other hand, I have noticed that the desktop behaves different when I do auto-login from KDM or (simple) user login.
Apparently, there is a problem of communication over D-BUS, when it's done the auto-login and this means that some applications (KTorrent, KMix, Klipper) does not show in the systray or power buttons waits for minutes until react, with freezing the taskbar.
However, when it's used SDDM, everything is OK, and this in the both cases.
Last edited by LuckyCyborg; 02-15-2023 at 09:41 AM.
Thank you very much for mirroring this tarball, Monsieur Marav!
And yes, I believe and hope that there are other people intersted on a KDE4 build for Slackware 15.0 .
Regarding an eventual mirror in slackware.uk ... well, I do not think that Mr. Tadgy will be so willing to trust me with giving me access to a folder in his servers. After all, I live in Mordor.
PS. Apparently, I have no access to your mirror even over VPN, but that's OK - important is to know that the file is there.
it must be better
edit: (my pf.conf was a little bit nervous with countries outside FR )
Regarding an eventual mirror in slackware.uk ... well, I do not think that Mr. Tadgy will be so willing to trust me with giving me access to a folder in his servers. After all, I live in Mordor.
Probably the most convenient method is an rsync mirror, where the files can be uploaded separately. And the problem of trust can be solved very simply by @tadgy by configuring for you a path that is not visible on the web, where you can make updates. After inspecting the files uploaded by you, another rsync script can put these files in the public area.
Of course, there is also the option for you to upload the mega-tarballs to that site, where @tadgy can download them, just like @marav did.
The big question is whether he is interested in supporting this KDE4 build.
Last edited by ZhaoLin1457; 02-15-2023 at 10:12 AM.
Speaking about the issue on my KDE4 build with the Plasma widgets list bar, seems like is a QML engine logic issue, rather than a conflict with the Qt5.
When I try to go to that list bar, I have found in ~/.xsession-errors this error:
Code:
plasma-desktop(5171)/libplasma Plasma::DeclarativeWidgetPrivate::errorPrint: "file:///usr/share/apps/plasma/packages/org.kde.desktop.widgetexplorer/contents/ui/main.qml
Error loading QML file.
51: Cannot assign to non-existent property "onClicked"
"
QDeclarativeComponent: Component is not ready
plasma-desktop(5171)/libplasma Plasma::DeclarativeWidgetPrivate::errorPrint: "file:///usr/share/apps/plasma/packages/org.kde.desktop.widgetexplorer/contents/ui/main.qml
Error loading QML file.
51: Cannot assign to non-existent property "onClicked"
"
I have tried also on the Slackware 14.2 LiveSlak this thing, and I have got:
Code:
file:///usr/share/apps/plasma/packages/org.kde.desktop.widgetexplorer/contents/ui/Tooltip.qml:75:5: QML Grid: Cannot anchor to an item that isn't a parent or sibling.
file:///usr/share/apps/plasma/packages/org.kde.desktop.widgetexplorer/contents/ui/Tooltip.qml:75:5: QML Grid: Cannot specify anchors for items inside Grid
file:///usr/lib64/kde4/imports/org/kde/plasma/components/Button.qml:194:5: QML Row: Possible anchor loop detected on fill.
file:///usr/lib64/kde4/imports/org/kde/plasma/components/Button.qml:194:5: QML Row: Possible anchor loop detected on fill.
file:///usr/share/apps/plasma/packages/org.kde.desktop.widgetexplorer/contents/ui/main.qml:137:5: QML QDeclarativeLoader_QML_223: Binding loop detected for property "height"
QDeclarativeExpression: Expression "(function $separator() { return modelData.separator })" depends on non-NOTIFYable properties:
Plasma::WidgetAction::separator
file:///usr/share/apps/plasma/packages/org.kde.desktop.widgetexplorer/contents/ui/main.qml:73:110: QML Component: Delegate component must be Item type.
QDeclarativeExpression: Expression "(function $separator() { return modelData.separator })" depends on non-NOTIFYable properties:
Plasma::WidgetAction::separator
QDeclarativeExpression: Expression "(function $separator() { return modelData.separator })" depends on non-NOTIFYable properties:
Plasma::WidgetAction::separator
file:///usr/share/apps/plasma/packages/org.kde.desktop.widgetexplorer/contents/ui/main.qml:48:110: QML Component: Delegate component must be Item type.
file:///usr/share/apps/plasma/packages/org.kde.desktop.widgetexplorer/contents/ui/main.qml:316:17: Unable to assign undefined value
file:///usr/share/apps/plasma/packages/org.kde.desktop.widgetexplorer/contents/ui/main.qml:71: Unable to assign QObject* to QDeclarativeItem*
file:///usr/share/apps/plasma/packages/org.kde.desktop.widgetexplorer/contents/ui/main.qml:46: Unable to assign QObject* to QDeclarativeItem*
So, this thing is named Widgets Explorer ...
Last edited by LuckyCyborg; 02-16-2023 at 02:47 AM.
Well, since some time I experiment with building KDE4 for Slackware 15.0 , having the reason that there are relative modern computers where KDE4 behaves much better than Plasma5.
Thank you for your service to the Slackware community!
Distribution: slackware, slackware from scratch, LFS, slackware [arm], linux Mint...
Posts: 1,564
Rep:
Maybe , will I give it a try with SFS this weekend?
A question to luckyCyborg: is it the pristine 15.0 or the updated version of slackware 15.0?
As usual, devil hides in that kind of details.
Maybe , will I give it a try with SFS this weekend?
I believe that this will be very nice.
Quote:
Originally Posted by nobodino
A question to luckyCyborg: is it the pristine 15.0 or the updated version of slackware 15.0?
As usual, devil hides in that kind of details.
I have tested the building on both bare installed Slackware 15.0 and an updated system with the same -stable release, with the note that the main box where I work on this build is the one with latest Slackware patches applied.
Honestly, I do not seen any difference in KDE4's behavior.
Regarding the NetworkManager integration from my build, with using the libnm-qt-1.0.0.tar.xz, seems like there's still a problem.
Long story short, seem like the systray widget and the connections editor does their job, BUT their graphical interface is not updated when a change is made or happens.
I have connected at the testing box an USB WiFi dongle (known to work well on Linux) and after booting it, I have got the available WiFi connections in widget. Connecting to one of my WiFi routers (I have 3 of them, one with bare Internet, another with Internet over a VPN, both for the house, and lastly another one for my garage) seems like it connected properly, BUT no changes happened to interface.
So, I connect the ethernet cable, which seems to works, BUT again, no interface changes.
Looks like the graphical interface(s) are updated only on startup of applications.
So, until now I have found 4 issues in the overall desktop functionality:
- no suspend/hibernate functionality (and the associated buttons)
- issues with the desktop behavior when the KDE4 desktop is started via autologin on KDM
- the Widgets Explorer does not work, then you can't add Plasma widgets to the desktop
- the NetworkManager's systray widget and connections editor have the interface updated only on startup
And of course, are those few applications which can't be compiled yet: Lokalize, Calligra, Amarok, Rocs, Step
BUT, excluding those issues, the rest of KDE4 works as expected and you remember from Slackware 14.2.
Last edited by LuckyCyborg; 02-16-2023 at 04:43 PM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.