LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Building the KDE4 for Slackware 15.0 in the KTown style - a build based on the PBSLACKS patches (https://www.linuxquestions.org/questions/slackware-14/building-the-kde4-for-slackware-15-0-in-the-ktown-style-a-build-based-on-the-pbslacks-patches-4175722060/)

LuckyCyborg 02-15-2023 05:06 AM

Building the KDE4 for Slackware 15.0 in the KTown style - a build based on the PBSLACKS patches
 
2 Attachment(s)
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

https://github.com/BrunoLafleur/pbslacks

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:

https://easyupload.io/5eja5i

SHA256SUM: 2918a69fcf6328d5c69c35814f871ca0977e56e586333df9467e9f8046272cd0

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.

BrunoLafleur 02-15-2023 05:35 AM

Hello LuckyCyborg,

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.

LuckyCyborg 02-15-2023 05:53 AM

Quote:

Originally Posted by BrunoLafleur (Post 6411442)
Hello LuckyCyborg,

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 (Post 6411442)
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 (Post 6411442)
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. :hattip:

https://github.com/BrunoLafleur/pbsl...t-1.0.0.tar.xz

Quote:

Originally Posted by BrunoLafleur (Post 6411442)
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 (Post 6411442)
For the other items I will look with a Slackware 15 test machine.

Thanks!

marav 02-15-2023 06:42 AM

Quote:

Originally Posted by LuckyCyborg (Post 6411438)
https://easyupload.io/5eja5i

SHA256SUM: 2918a69fcf6328d5c69c35814f871ca0977e56e586333df9467e9f8046272cd0

WARNING: it's a 2.53 GB huge file there and it will be available 30 days. ;)

But,
Code:

Size: 2.53 GB | Expires: 6 Days | Uploaded: 15 Feb 2023 | Public
I'll take it, here for now (700mbs of bandwidth)
https://matoda.pw/publik/KDE4_town/

I guess some folks are interested, no way your work disappear in 6 days :-)

Maybe a safer place would be on tadgy servers? :D (I think you can contact him: mirrors (at) slackware.uk)

My download seems fine
Code:

$ sha256sum kde4town.tar
2918a69fcf6328d5c69c35814f871ca0977e56e586333df9467e9f8046272cd0  kde4town.tar


LuckyCyborg 02-15-2023 09:28 AM

Quote:

Originally Posted by marav (Post 6411454)
But,
Code:

Size: 2.53 GB | Expires: 6 Days | Uploaded: 15 Feb 2023 | Public
I'll take it, here for now (700mbs of bandwidth)
https://matoda.pw/publik/KDE4_town/

I guess some folks are interested, no way your work disappear in 6 days :-)

Maybe a safer place would be on tadgy servers? :D (I think you can contact him: mirrors (at) slackware.uk)

My download seems fine
Code:

$ sha256sum kde4town.tar
2918a69fcf6328d5c69c35814f871ca0977e56e586333df9467e9f8046272cd0  kde4town.tar


Thank you very much for mirroring this tarball, Monsieur Marav! :hattip:

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. ;)

LuckyCyborg 02-15-2023 09:38 AM

1 Attachment(s)
@BrunoLafleur

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.

marav 02-15-2023 10:05 AM

Quote:

Originally Posted by LuckyCyborg (Post 6411499)
Thank you very much for mirroring this tarball, Monsieur Marav! :hattip:

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 :D)

ZhaoLin1457 02-15-2023 10:09 AM

Quote:

Originally Posted by LuckyCyborg (Post 6411499)
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.

LuckyCyborg 02-16-2023 02:45 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 ...

hitest 02-16-2023 11:32 AM

Quote:

Originally Posted by LuckyCyborg (Post 6411438)
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! :)

nobodino 02-16-2023 01:48 PM

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.

LuckyCyborg 02-16-2023 04:02 PM

Quote:

Originally Posted by nobodino (Post 6411765)
Maybe , will I give it a try with SFS this weekend?

I believe that this will be very nice. ;)

Quote:

Originally Posted by nobodino (Post 6411765)
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.

LuckyCyborg 02-16-2023 04:03 PM

Quote:

Originally Posted by hitest (Post 6411738)
Thank you for your service to the Slackware community! :)

Thanks for your kind words! :hattip:

LuckyCyborg 02-16-2023 04:13 PM

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. :D

Gerard Lally 02-16-2023 06:46 PM

This is a heroic effort LC. I don't use KDE or Plasma but if I did it would be KDE 4, which is visually superior.


All times are GMT -5. The time now is 06:52 PM.