Disable Qt traces on Ubuntu system - c++

For some reason, whatever Qt-based application I start from a terminal issues some traces I would like to disable.
Example:
$> qtcreator
Got bus address: "unix:abstract=/tmp/dbus-vDsC42Ojkq,guid=dc44d5a0e955ae51a4dbbdc100001ce3"
Connected to accessibility bus at: "unix:abstract=/tmp/dbus-vDsC42Ojkq,guid=dc44d5a0e955ae51a4dbbdc100001ce3"
Registered DEC: true
Registered event listener change listener: true
...
...
Do anyone know how to get rid of these messages?
Thanks.

Thanks to Laszlo Papp comment, I took a look to qt-at-spi setup...
$> locate qt-at-spi
/usr/share/doc/qt-at-spi
/usr/share/doc/qt-at-spi/README
/usr/share/doc/qt-at-spi/changelog.Debian.gz
/usr/share/doc/qt-at-spi/copyright
/var/lib/dpkg/info/qt-at-spi:amd64.list
/var/lib/dpkg/info/qt-at-spi:amd64.md5sums
Let's see what README file tells:
$> more /usr/share/doc/qt-at-spi/README
Qt AT-SPI2 bridge
=================
This is a Qt plugin that bridges Qt's accessibility API to AT-SPI2.
With recent versions of AT-SPI2 this should make Qt applications accessible
with the help of tools such as Gnome's Orca screen-reader.
Switch gnome to use at-spi2:
gconftool-2 --set /desktop/gnome/interface/at-spi-dbus --type bool true
gconftool-2 --set /desktop/gnome/interface/at-spi-corba --type bool false
To run gnome apps with at-spi2 in a non-gnome session:
export GTK_MODULES=gail:atk-bridge
Qt will only load this plugin when the environment variable
QT_ACCESSIBILITY is set to 1.
And like the README says, QT_ACCESSIBILITY environment variable was set to 1 on my machine.
So the solution is:
EITHER to remove qt-at-spi module:
sudo dpkg --purge qt-at-spi
OR to unset this variable, which, after a quick research was set in /etc/X11/Xsession.d/90qt-a11y script, based on gnome settings:
gsettings set org.gnome.desktop.interface toolkit-accessibility false
Thank you Laszlo!

I usually redirect all output of GUI apps started from a terminal:
$> qtcreator >/dev/null &

You either need to remove the qt-at-spi package or use QT_ACCESSIBILITY=0 qtcreator.
Here you can find the official README under the KDE umbrella for details:
https://projects.kde.org/projects/playground/accessibility/qtatspi/repository/revisions/master/entry/README

Related

kubectl plugin tab auto complete not working with zsh

After installing kubernetes-cli via homebrew in a mac with zsh, the kubernetes auto complete is not working completely or in full. Only the first tab works and not the second tab onwards. Example, if I type kubectl [TAB], it displays the sub commands for kubectl, and now if I select a sub command and press [TAB], eg kubectl get [TAB], it freezes for a lot of time and nothing happens there after.
I tried the following ways
Installed kubectl-cli via home brew
enabled zsh plugin
added the below code as well
source <(kubectl completion zsh)
autoload -Uz compinit
compinit
Finally this worked after referring to https://kubernetes.io/docs/reference/kubectl/cheatsheet/#zsh
echo '[[ $commands[kubectl] ]] && source <(kubectl completion zsh)' >> ~/.zshrc # add autocomplete permanently to your zsh shell
The below did not work
https://kubernetes.io/docs/tasks/tools/included/optional-kubectl-configs-zsh/

Build GDB for ESP32 and QEMU

I tried to build a gdb for esp32 that works with qemu, but after many attempt, I didn't manage. All my attempts leaded me to the following error message after connecting to the remote target: Remote 'g' packet reply is too long.
Right now I am using the prebuilt version from Ebiroll: https://github.com/Ebiroll/qemu_esp32/blob/master/bin/xtensa-esp32-elf-gdb
but I would like to use a newer gdb version than 7.10, did anyone had success with this?
Here is how I built gdb:
git clone --depth 1 --branch esp-2021r2-gdb https://github.com/espressif/binutils-gdb.git
cd binutils-gdb
mkdir -p build
cd build
../configure --without-guile --host=x86_64-pc-linux-gnu --target=xtensa-esp32-elf --disable-werror
make
make install
(note from this branch the patch to apply from the Zephyr project, as described here https://github.com/Ebiroll/qemu_esp32#qemu-esp32, seems to already be included)
I also tried by applying the following patch (no success):
curl -L https://raw.githubusercontent.com/Ebiroll/gdb/master/gdb/xtensa-config.c.qemu --output binutils-gdb/gdb/xtensa-config.c
or patching qemu to fix the value of num_regs (tried 104 and 172, also no success).
Espressif's qemu wiki mentions setting an environment variable to only list the core registers:
export QEMU_XTENSA_CORE_REGS_ONLY=1
This needs to be set in the environment from where qemu will be executed.
My recommendation is to use both qemu and gdb (from the Esp32 tool chain) as provided by Espressif. I have recently used this combination with success. The latest release uses gdb 9.2.

how to compile Ignite application on CMake?

I did compile Ignite Application successfully.
but The Binary didn't work.
/tmp/tmp.Nw0IPD6ru3/cmake-build-debug-local-container/planet_engine: error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory
how can I make to it work?
Also, I compiled C++ Examples successfully. such as ignite-compute-example.
and, I execute that but I got an error message.
An error occurred: JVM library is not found (did you set JAVA_HOME environment variable?)
and I using a nightly release version 2.8.0.20190213 because I couldn't build to version 2.7 in my environment.
I posted environment values down.
IGNITE_HOME=
TERM=xterm-256color
SHELL=/bin/bash
LIBRARY_PATH=/root/jre1.8.0_201/lib/amd64/server:/root/jre1.8.0_201/lib/amd64/
LC_NUMERIC=ko_KR.UTF-8
SSH_TTY=/dev/pts/0
JRE_HOME=/root/jre1.8.0_201
USER=root
LS_COLORS=rs=0:d...
LD_LIBRARY_PATH=/root/jre1.8.0_201/lib/amd64/server:/root/jre1.8.0_201/lib/amd64/
CLASS_PATH=/root/jdk-11.0.2/lib:
LC_TELEPHONE=ko_KR.UTF-8
MAIL=/var/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/jdk-11.0.2/bin
LC_IDENTIFICATION=ko_KR.UTF-8
JAVA_HOME=/root/jdk-11.0.2
LANG=en_US.UTF-8
LC_MEASUREMENT=ko_KR.UTF-8
JDK_HOME=/root/jdk-11.0.2/lib
SHLVL=1
HOME=/root
LOGNAME=root
LESSOPEN=| /usr/bin/lesspipe %s
LESSCLOSE=/usr/bin/lesspipe %s %s
LC_TIME=ko_KR.UTF-8
LC_NAME=ko_KR.UTF-8
_=/usr/bin/env
Thank you for reading. :)
I got it.
I am working on a docker container environment.
and therefore I am using remote build and debug with ssh and gdb.
finally, I found out why it couldn't find libjvm.so and why couldn't read environment values such as JAVA_HOME.
because it is working in gdb for now.
I confirmed that it is working when without gdb.
I will find a solution.
and, if I have been found, I will update the answer.
[Solved]
I share how I make solved that.
I was using an Oracle JDK-11 through source install.
but Ignite C++ client need something different with latest released jdk versions.
Ignite need a directory structure like this
JAVA_HOME/ (as JDK install directory)
- jre/
- lib/
- lib/
...
I solved by apt install openjdk-8-jdk.
openjdk-8-jdk have structure for what Ignite need.
i added JAVA_HOME, IGNITE_HOME, at /etc/environment.
It works finally.
but I got another problem. HAHA
I am so sad.
This also GDB problem..

JAVA_HOME error on “ionic build android”

I am trying to build an Ionic application with ionic build android with no success. I looked around answers in stackoverflow but I can seem to have the same situation.
I get the following error:
ANDROID_HOME=/Users/myuserID/development/android-sdk-macosx
JAVA_HOME=/Users/myuserID/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Co>nten
ts/home
Running:
>/Users/myuserID/development/ionic/keepdoing/platforms/android/gradlew
cdvBuildDebug -b
/Users/myuserID/development/ionic/keepdoing/platforms/android/build.gradle -
Dorg.gradle.daemon=true
ERROR: JAVA_HOME is set to an invalid directory:
/Users/myuserID/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/hom>e
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
I have everything set in the .bash_profile:
export PATH=$PATH:/Users/myuserID/development/android-sdk-macosx/platform-
tools
export PATH=$PATH:/Users/myuserID/development/android-sdk-macosx/tools
export ANDROID_HOME="/Users/myuserID/development/android-sdk-macosx"
export
JAVA_HOME="/Users/myuserID/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk
export PATH=$PATH:/usr/local/share/npm/bin
export PATH=$PATH:/usr/local/npm/bin
export PATH=$PATH:/usr/local/lib/node_modules/cordova/
export
PATH=$PATH:/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/home/bin
export PATH=$PATH:/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk
But can't resolve this. Re-installed the android SDK to no avail.
Any help will be greatly appreciated.
A recent update to Android Studio should help anyone landing on this question in 2017! Android Studio 2.2+ comes bundled with a custom OpenJDK build, so there's no need to download a separate JDK.
The following are the adjusted instructions available at https://ionicframework.com/docs/developer-resources/platform-setup/mac-setup.html using the new locations bundled with Android Studio app.
Create and open the .bash_profile file in your favourite text editor:
touch ~/.bash_profile
open -a TextEdit ~/.bash_profile`
Populate the file with:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
export PATH=${JAVA_HOME}/bin:$PATH
# Set Android_HOME
export ANDROID_HOME=~/Library/Android/sdk/
# Add the Android SDK to the ANDROID_HOME variable
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
#Set GRADLE_HOME
export GRADLE_HOME=/Applications/Android\ Studio.app/Contents/gradle/gradle-3.2
export PATH=$PATH:$GRADLE_HOME/bin
Save and close the file, then apply these changes by re-sourcing .bash_profile:
source ~/.bash_profile
You'll then be able to run the ionic commands using the built in tools within Android Studio.
You have an unnecessary double quotes before the java home path in .pash_profile. Remove it.
JAVA_HOME="/Users/myuserID/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk
Thanks for all who answered.
Eventually I stumbled on an answer here:
http://www.mkyong.com/java/how-to-set-java_home-environment-variable-on-mac-os-x/
in essence In Mac OSX 10.5 or later, Apple recommends to set the $JAVA_HOME variable to /usr/libexec/java_home, just export $JAVA_HOME in file ~/. bash_profile or ~/.profile.
Pagugim

Django coloring output in runserver.py

I want to highlight the output in the console "manage.py runserver"
In Linux, all OK, but in Windows does not work.
The documentation
says: SET export DJANGO_COLORS = "light"
Does not work.
There is a ticket
Nodule is installed: pip install pyreadline
Not work.
Did you apply the patch from the ticket? Otherwise it's not going to work.