Open probonopd opened 5 years ago
Hi,
thank you for the suggesion; I agree that it is useful to allow people to use KTechlab as easily as possible. Currently I use my time available for KTechlab to port it towards Qt5 and KF5, so for me at least this packaging activity has lower priority than porting.
In case someone would like to do this packaging, I'm fine with it and if some help is needed, I will try to help.
Hi @probonopd and @zoltanp ! I really am happy to use those two greatest pieces of software you are doing. Thanks much.
The short story long... Sometime near 2012, I had no more possibility to install the old qt3 version of Ktechlab with apt. I did tons of patching a couple of times and just packed an /opt-prefixed tarball. Then I've discovered Appimage and did this: https://gitlab.com/megastallman/ktechlab-0.3.7-appimage and https://github.com/megastallman/ktechlab-0.3.7-appimage But you don't need that anymore. That ancient code, that has been patched to get built with GCC7.
Recently I've successfully built the new qt4/5 Ktechlab easily. It's alive. So I think I can do Appimage packaging again. That looks easier than it was years ago.
Hi @megastallman great to hear this. Maybe you can use copy-and-paste of https://github.com/probonopd/linuxdeployqt/#using-linuxdeployqt-with-travis-ci and/or have a look at http://docs.appimage.org/. Let me know if you are running into issues or have questions. Thanks!
Hi @megastallman , it would be great if you could do the AppImage packaging. I assume that many people would use it. If you need any help from my side, please let me know.
People are already asking for stand-alone packages, for example see the first comment here: https://zoltanp.github.io/2019/01/ktechlab-0-40-1.html
Ok, yesterday I've managed to build a qt4 prefix. Now I'm distilling patches. It has less problems than qt3 had long ago...
Why are you interested in Qt 4 at this point?
Hope I understood the question correctly: KTechLab master currently depends on Qt4, so it is one of its dependencies. Other notable one kdelibs4, and some more of KDE runtime are needed for running properly.
Currently I use my time available for KTechlab to port it towards Qt5 and KF5, so for me at least this packaging activity has lower priority than porting.
Is this in a compile-able state?
Currently I don't have any Qt5-specific code. Just recently I've managed to fix all of the bugs after getting rid of qt3support. In theory moving from Qt4 to Qt5 should be relatively easy. First I want to replace the dependencies in the buildsystem and then see how things are going.
Ok, now I'd stick with QT4 then.
Hi everyone! I've recently built QT4 without webkit and openssl. Hope these components are not needed for Kdelibs-4.14.38 and Ktecklab. But now I've got problems with Kdelibs. I still cannot figure out what I miss here. Here is my output: https://hastebin.com/siqukavaqo.bash
Based on the log, Kdelibs depends on Qt compiled with SSL support, so openssl is needed. AFAIK Webkit should not be needed.
CMake Error at kdecore/network/ConfigureChecks.cmake:22 (message):
KDE Requires Qt to be built with SSL support
Call Stack (most recent call first):
kdecore/CMakeLists.txt:23 (include)
Otherwise the feature summary looks good to me.
Hi @zoltanp !
Thanks much! I've added the required openssl patches. Now I've got another problem with Kdelibs build: https://pastebin.com/4VghAV7z Looks like it needs a static libdbusmenu-qt library... If that is a reason, I've got only a dynamic one(*.so) in my prefix. Have you got any ideas? Maybe I can supply some more info?
Based on the error it does not look like as a dynamic/static linking issue, but a "typical" C++ issue when some virtual methods of a class are not implemented, the class becomes abstract, and thus linking errors are generated around its constructor/destructor.
I suspect that some version of KDBusMenuExporter
's dependency is not the one expected.
I do not have any more concrete ideas about the source of the error.
Somewhat related: there is a discussion about cross-building KDE apps for windows (using KF5) on kde-devel mailing list. The mailing list archive does not appear to work (for me?), so I'm linking the code repository mentioned in the discussion:
TLDR: Here are some scripts to build KDE frameworks and okular statically using gcc/musl and cross-building for mingw: https://github.com/jschultz/kde-static Look in the file patch-kde.sh to see the interesting stuff.
OK, Thanks. I'll take a look...
OK, I still miss some of the KDE4 libs, but Ktechlab is getting built if I copy those from my host system.
So the prefix is not ready yet. I'll continue poking with Kdelibs build options.
Nice :-) Having something built with manual intervention is a significant milestone in this project.
Now I've got a 46MB Appimage file, that, kind of "works for me". So I consider to test it under Xubuntu_14.04, OpenSUSE Thumbleweed and Centos VMs. None of them will include any QT installation.
Now I've got a 46MB Appimage file
Where can it be downloaded? Happy to run it through my test suite.
I see, it lacks phonon at least... So I'm adding it.
https://my-files.ru/2leg0f - This tarball contains everything, but it still lacks some dependencies. Its md5sum is 7f16af4f36aa8f773f6eefb3b44c299e
My scripts are residing here: https://gitlab.com/megastallman/ktechlab_qt4_appimage Now my appimage is working on newer *buntu LiveCDs and on Manjaro. It doesn't yet run on Xubuntu 14.04 and OpenSUSE Leap due to GLIBC problems, so I'm rebuilding on Ubuntu 14.04.
Applications run on newer, but not older systems than the one that was used for building. https://github.com/AppImage/AppImageKit/wiki/Creating-AppImages#creating-appimages-that-are-compatible-with-many-systems
https://my-files.ru/2leg0f - This tarball contains everything, but it still lacks some dependencies. Its md5sum is 7f16af4f36aa8f773f6eefb3b44c299e
I've tried to run it on XUbuntu 16.04, amd64, and got missing library errors; I assume that it is built for newer system (yep, it's probably time to upgrade this Linux installation :-) ):
$ ./KTechlab-x86_64.AppImage
Current directory is: /tmp/.mount_KTechl6fSlu8
ktechlab: error while loading shared libraries: libpng16.so.16: cannot open shared object file: No such file or directory
and after installing libpng16-16
, I've got this:
$ ./KTechlab-x86_64.AppImage
Current directory is: /tmp/.mount_KTechlViWcxo
ktechlab: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
My scripts are residing here: https://gitlab.com/megastallman/ktechlab_qt4_appimage Now my appimage is working on newer *buntu LiveCDs and on Manjaro. It doesn't yet run on Xubuntu 14.04 and OpenSUSE Leap due to GLIBC problems, so I'm rebuilding on Ubuntu 14.04.
Thanks for sharing it!
Please use a tool like linuxdeployqt. Just running appimagetool will not bundle all required dependencies, and doing this manually would be very cumbersome.
Hi @probonopd !
Looks like Linuxdeployqt should be a much easier way to build it, but I've got some problems here.
I've tried both ./linuxdeployqt-6-x86_64.AppImage /tmp/ktechlab-prefix/usr/bin/ktechlab -bundle-non-qt-libs
and ./linuxdeployqt-6-x86_64.AppImage /tmp/ktechlab-prefix/usr/bin/ktechlab
, but still got the same error. Setting -qmake=/usr/bin/qmake
didn't help either, as long as I've got the single qmake instance on Ubuntu 14.04 and just qt4, as I need for Ktechlab.
linuxdeployqt 5 (commit 37631e5), build 631 built on 2019-01-25 22:47:58 UTC FHS-like mode with PREFIX, fhsPrefix: "/tmp/ktechlab-prefix/usr" app-binary: "/tmp/ktechlab-prefix/usr/bin/ktechlab" appDirPath: "/tmp/ktechlab-prefix" relativeBinPath: "usr/bin/ktechlab" ERROR: Could not find any translations in "/usr/share/qt4/translations" (developer build?)
The "/usr/share/qt4/translations" directory contains *.qm files, though...
Does it build the AppImage (but without translations) or does not not create the AppImage at all?
It doesn't create anything at all.
That's not what should happen. I have opened an issue at https://github.com/probonopd/linuxdeployqt/issues/360.
0.40.1 is also available for Fedora 30+ https://bodhi.fedoraproject.org/updates/ktechlab-0.40.1-2.fc30 https://koji.fedoraproject.org/koji/buildinfo?buildID=1252276
Hi @rosset The great thing about Fedora, is that they(or you) are not dropping old libs. Long ago KTechlab_0.3 has disappeared from Ubuntu, but it is still fairly easy to build on Fedora. Version .40 is absolutely easy to build everywhere. That's great. But there are some problems with universal packages, see my post below...
@probonopd Hi! I've patched and rebuilt Linuxdeployqt according to https://github.com/probonopd/linuxdeployqt/issues/360. It grabs QT4 binaries fine. But... The application still depends on KDElibs, basically on a bigger part of KDE4, including kinit and ksycoca4. It just can't connect to the required daemons. So the LinuxdeployQT method is fine for QT5 and QT4(after patching the template to qt*.qm) apps, but now I need to get a half of KDE4 with me. I've stuck... Here is the log on a livecd: https://hastebin.com/tojiriteqe.coffeescript
Appears that the reason for the crash is
19-04-28 21:39:25,677 (Fatal) !!!!!!! ERROR !!!!!!! - KHTML default stylesheet version mismatch. Aborting. Check your installation. File used was: /home/xubuntu. Expected STYLE_VERSION 1
(Fatal) !!!!!!! ERROR !!!!!!! - KHTML default stylesheet version mismatch. Aborting. Check your installation. File used was: /home/xubuntu. Expected STYLE_VERSION 1
So apparently the application is trying to load KHTML, and possibly KHTML or some component needed by it is not bundled or is not being loaded from the correct (relative) path.
Before we spend lots of time to engineer this for Qt 4, will there be a port to Qt 5 anytime soon? It comes with QtWebEngine which is known to be deployable by linuxdeployqt.
Nice question, @probonopd ! @zoltanp , what do you think? QT4 is already deprecated, but we should still bundle it if you are not yet ready with QT5. I've also heard that QT6 has recently branched. It can get into constant rewriting the same application for every toolkit version.
@megastallman @probonopd Hopefully this year there will be a Qt5 /KF5 release of KTechLab. As I read more and more KF5 porting documentation, I see more and more work ahead. Qt5 might be mostly source-compatible with Qt4, but KF5 is not really drop-in replacement KDELibs4. Maybe I could just use Qt5 instead of KF5 where possible [ silly smiley here ].
You can see the progress of KF5 port in the wip-kf5-try1
branch [1]. Currently it just produces some strange compilation errors.
Please ping me once it compiles, then I'll be happy to help with the AppImage. Thanks.
Do you have CI enabled to compile on each commit? Maybe it helps to engage more people to help on migration/code fix? Thanks.
Please ping me once it compiles, then I'll be happy to help with the AppImage. Thanks.
Okay. Besides compiling, it should also run :-D
Any success on KTechLab-0.40.1-*.AppImage
(nightly build) packaging?
Nope, just an endless list of dependants that keep propagating.
Get BlueMail for Android
On Sep 11, 2019, 4:47 PM, at 4:47 PM, app4soft notifications@github.com wrote:
Any success on
KTechLab-0.40.1-*.AppImage
(nightly build) packaging?-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/ktechlab/ktechlab/issues/47#issuecomment-530579424
Hi @Eddieghoul ! Do you mean KTechlab's dependencies? You can see some of their recipes here: https://hastebin.com/rosapajena.bash If you need more, I'll provide you with all I've got.
I can't mess with it for a while, my computer crashed and I need to get a new one. Thanks for the help.
Get BlueMail for Android
On Sep 12, 2019, 6:32 AM, at 6:32 AM, megastallman notifications@github.com wrote:
Hi @Eddieghoul ! Do you mean KTechlab's dependencies? You can see some of their recipes here: https://hastebin.com/rosapajena.bash If you need more, I'll provide you with all I've got.
-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/ktechlab/ktechlab/issues/47#issuecomment-530784315
If you need more, I'll provide you with all I've got.
Please, do it! @megastallman
Hi everyone!
I've just built an AppImage: https://gofile.io/?c=f5aZ7n Its md5sum is 3985260969bc7650836f451ac1f4df48 I did it in Kubuntu 16.04, so now it runs on Kubuntu 16.04 and 18.04, but looks like I've got bigger problems here. When I run on Centos 8 or Xubuntu 16.04, it claims on lack of some KF5 components and crashes due to heap buffer owerflow. @probonopd , @zoltanp , could you please take a look at the logs: https://hastebin.com/utoteyeciw.sql ?
it claims on lack of some KF5 components and crashes due to heap buffer overflow.
Is it possible package ktechlab
without KF5 components (e.g. ktechlab-qt
or ktechlab-qt5
), in same way as kdiff3-qt
packaged?
I see in the logs:
(WW) Could not find any platform plugin
This is typically a Qt runtime issue, where Qt is not able to load the so called platform plugin (basically a dynamic library), and will fail to create any GUI. I assume KTechLab crashes because some methods return null values when the platform plugin is not loaded. I recommend to try to fix that warning, and then hopefully KTechLab will run.
megastallman notifications@github.com ezt írta (időpont: 2019. okt. 11., P, 13:06):
Hi everyone!
I've just built an AppImage: https://gofile.io/?c=f5aZ7n Its md5sum is 3985260969bc7650836f451ac1f4df48 I did it in Kubuntu 16.04, so now it runs on Kubuntu 16.04 and 18.04, but looks like I've got bigger problems here. When I run on Centos 8 or Xubuntu 16.04, it claims on lack of some KF5 components and crashes due to heap buffer owerflow. @probonopd https://github.com/probonopd , @zoltanp https://github.com/zoltanp , could you please take a look at the logs: https://hastebin.com/utoteyeciw.sql ?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ktechlab/ktechlab/issues/47?email_source=notifications&email_token=AAGBI3TG7CMBCGERSVLCYLLQOBF2XA5CNFSM4GSS2BI2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEA7Q26A#issuecomment-541003128, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGBI3XKD6RHQ2GY6I25LMLQOBF2XANCNFSM4GSS2BIQ .
Currently it's not possible to compile KTechLab without KF5 dependencies. Maybe it would be possible to rewrite (a lot) of code to only use Qt version of stuff, but it's a lot of work, and currently I don't see any significant benefit from doing it.
app4soft notifications@github.com ezt írta (időpont: 2019. okt. 11., P, 13:21):
it claims on lack of some KF5 components and crashes due to heap buffer overflow.
Is it possible package ktechlab without KF5 components (e.g. ktechlab-qt5)? In same way as kdiff3-qt packaged:
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ktechlab/ktechlab/issues/47?email_source=notifications&email_token=AAGBI3THLFETK5NWVEHUCF3QOBHR7A5CNFSM4GSS2BI2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEA7R55I#issuecomment-541007605, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGBI3USC3IR5WXVEMGHWA3QOBHR7ANCNFSM4GSS2BIQ .
@zoltanp I would better try to pack any single dependency, piece by piece. It looks much more valuable.
Currently it's not possible to compile KTechLab without KF5 dependencies.
KF5 dependencies are no problem for AppImage. They will be bundled as private copies, inside the AppImage. The end user does not need to install KF5 then.
Ok, moving on. I've added the platform plugin. Now the application dies when I press the "New File" button. I've got logs with and without strace here. https://gofile.io/?c=ECgss8
Providing an AppImage would have, among others, these advantages:
appimaged
--appimage-extract
parameterHere is an overview of projects that are already distributing upstream-provided, official AppImages.
Please let me know if you are interested, I'm happy to help making an AppImage for Linux.
If you have questions, AppImage developers are on #AppImage on irc.freenode.net.