AppImage created with Qt and linuxdeployqt with gtk3 plugin does not start on Gnome 4 - linux

I created a Linux application in Qt 5.15.2 and packaged it to AppImage with linuxdeployqt. I do this on Ubuntu 18.04 virtual machine. The created AppImage runs without any problem on any Linux distributions which I have tried so far. Except Fedora 34 and Ubuntu 21.10, both with Gnome 4. The problem is obviously connected with Gnome 4 and it will probably bother many developers as Gnome 4 will be becoming more prevalent in the near future. But I have not yet found any satisfactory solution...
When I try to run my app from terminal on any Gnome 4 based distro, it shows this error:
./MyApp.AppImage
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
(MyApp.AppImage:2747): GLib-GIO-ERROR **: 08:56:35.632: Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'
By trial and error, I found that this happens only if I add plugin platformthemes/libqgtk3.so when deploying AppImage with linuxdeployqt. If I do not bundle this library, then the final AppImage runs well with Gnome 4. But on the other hand, without this GTK3 plugin the application does not look good (theme, colors, icons, etc.) on al Gnome 3 and 4 based distros.
I googled for the root cause and a possible solution to this error and the most informative thing I found was this: https://bugs.launchpad.net/ubuntu/+source/gtk+3.0/+bug/1922464
So it seems that there is some clash with old GTK version (older than 3.24.26) and new Gnome 4. So I assume the same problem will we with all Gnome 40 based distros. I build and deploy my app with linuxdeployqt on Ubuntu 18.04 (virtual) machine, which has GTK 3.22.30, which is too old. The solution probably would be do compile and deploy my app on a newer version of Ubuntu. But the problem is that linuxdeployqt does not allow deploying AppImages with newer version than the OLDEST supported LTS version of Ubuntu.
I am unfortunately not a Linux expert, I have been always developing for Windows and started working partly on Linux some two years ago. So I am not sure what my options are.
A) Is it possible to install somehow newer GTK version on Ubuntu 18.04?
B) Is it possible to force somehow linuxdeployqt to work on newer Ubuntu?
C) Should I give up and create two versions of AppImages, one with libqgtk3.so plugin present (which will work everywhere except Gnome40-based distros) and the other AppImage without this plugin, which will work on Gnome40-based distros?
D) Any other way?
Regarding A and B: I am not sure if it is possible, how to do it and I would be worried about backward compatibility when run on for example Ubuntu 18.04, i.e. the oldest LTE.
Regarding C: Seems viable but it breaks the magic of one universal AppImages which should work everywhere... And another problem is that for example on Ubuntu 21.10 the application looks ugly without this GTK3 plugin...
Regarding D: is there any D at all?

Related

creating appimage using source code and linuxdeployqt

i trying to create a appimage for my Linux system. Using qt-creator i have completed the programing and ran the app successfully . but when i am trying to make it appimage using linuxdeployQt i am facing some errors
linuxdeployqt 5 (commit 37631e5), build 631 built on 2019-01-25 22:47:58 UTC ERROR:
The host system is too new.
Please run on a system with a glibc version no newer than what comes with the oldest still-
supported mainstream distribution, which currently is glibc 2.20.
This is so that the resulting bundle will work on most still-supported Linux distributions.
For more information, please see
https://github.com/probonopd/linuxdeployqt/issues/340
i don't know what this issue is. when i visit the website, it is not clear also. So anyone familiar with this kind please put your help here.
It means that your glibc is too new.
That's correct, to work around this issue while using linuxdeployqt you have to choose as build environment an older system such as Centos 6 or Ubuntu 14.04.
As an alternative, you can use appimage-builder which allows producing AppImages on newer systems.
It means that your glibc is too new. I think it is supported glibc version comes with Ubuntu 14.04 as it is mentioned in herr https://github.com/probonopd/linuxdeployqt/issues/340. I have faced the same problem and still struggling to solve this issue.

How can i use a pre installed Intellij Idea that was installed on Windows 7 now on linux?

I have a pre-installed IntelliJ IDEA 2018 with all my code running on it on Windows 7.
I want to somehow use the same version of the installation instead of reinstalling the software again on linux and setting up all the libraries and the paths to my code again.
Is there a way that i can use that installation of IntelliJ on Windows in linux, too?
I have the software installed in D: Drive.
As suggested in the comment, i had to go through a separate installation for linux and then import settings by using setting sync plugin https://www.jetbrains.com/help/idea/sharing-your-ide-settings.html

Graphical debugger interface on CentOS 7

Can anybody help suggesting good graphical debugger interface for CentOS 7. I tried searching for kdbg which works well on Ubuntu but there is no help available for installing kdbg and dependencies on CentOS 7. I tried installing kdbg rpm manually but then it doesn't work because a lot of dependencies like libDCOP.so, libkdcore.so, libkio.so etc. are not installed.
Is there a way to install kdbg and all of its required dependencies at once ? I am a newbie to CentOS and any help for this is appreciated.
It's been two years but this Q is still unanswered, hasn't been closed, and should still apply:
1) Try Nemiver
From the webpage:
Nemiver is an on going effort to write an easy to use standalone C/C++ debugger that integrates well in the GNOME environment.
It's extremely simple and straightforward. And it should be available for CentOS 7 (I have a box with CentOS 6.8 and it's available via yum).
2) Read this question
Is there a C++ gdb GUI for Linux?
Be warned, that question was closed as off-topic.
3) Perhaps a full IDE like Code::Blocks?
You get the whole package: a text editor, one-click building, plugins, and a graphical debugger.

Problems running MPI (OpenMPI) app on Linux on ARM

I am trying to follow this tutorial for building and running an MPI application on an ARM based Ubuntu 11.10 system.
When installing open-mpi environment on my PC machine, the sample program runs well. However, trying the same on the ARM machine, the terminal hangs up and I need to kill the MPI process from a second terminal in order to release it.
The MPI packages I installed using apt-get, on both machines, were mpi-default-dev and mpi-default-bin, so I assume that the packages are as updated as they can be.
The first sample program in the tutorial makes every process prints a "hello" message with some info. On the PC I get messages from all 8 processes (although running on a single core) and then the program ends. On the ARM, I get no output at all. The program is just stuck immediately after launch.
Any idea on what's wrong? I am not sure even where to start to debug this?
Update: I tried removing the OpenMPI package and install the alternative MPICH2 package - but the result is just the same.
Ubuntu 11.10 did not ship with a functional Open MPI implementation for ARM (although it may have shipped with a nonfunctional one). Ubuntu 12.04 did.
I would recommend building your own Open MPI from source - available at http://www.open-mpi.org/software/ompi/v1.6/, unless you can update to a more recent version of Ubuntu.
Alternatively, you could rebuild the 11.10 package using the fixes pointed out in https://bugs.launchpad.net/ubuntu/+source/openmpi/+bug/949044.

Work with git on Windows 7 machine [duplicate]

This question already has answers here:
Using Git on Windows
(5 answers)
Closed 5 years ago.
I have a Windows 7 machine, and I want to install git on it in order to do Rails development.
I've heard that it's better to work with git on Linux, so I installed Ubuntu. The problem with Ubuntu is that I have to restart the computer each time I want to switch between Windows and Linux.
Is that possible to run Ubuntu as Windows application (like any other program) ?
Could you recomend any other options ?
I want it to be installed on the hard drive rather than USB stick or something else.
msysgit on Windows is the standard for using Git on Windows, and now, it is almost as good as running git on Linux. For the learning phase, especially if you are moving from SVN and TortoiseSVN, use TortoiseGit. But git is best used ( and enjoyed!) from the command line. So try to use the command line and understand the git concepts.
Well, TortoiseGit has been working fine for me. It's a native Windows application, adding Git features to the Windows Explorer's context menu: https://tortoisegit.org/
Apart from the Windows app (if you want to keep running your 'nux stuff), VirtualBox offers something called the "seamless mode" which enables you to use programs running on your virtual machine kind of seamlessly on your native desktop without the hassle of the other OS around it.
Yes its possible. You can install Ubuntu on a virtual machine such as Vmware Workstation or Paralels Desktop or VirtualBox(free). The you can use it almost like an application. Or use msygit

Resources