meson is Yet Another Build System (YABS). One of it’s aims is to be easier to use than the other YABS. Maybe it is maybe it isn’t.
Here is my context: Fedora 34 and I like to pretend I am a programmer. I can make thing happen in Python, but then Python is easy. But I have a project which I want to work quickly and Python is a scripting langauge and I want to pretend I am a programmer so no C# or Python or anything easy.
I have been using Clion (I had a JetBrains subscription for a couple of years but I’m not a developer so I could not justify spending money on a subscription. So I have a fallback version from 2017. I like the debugging support in Clion, like being able to open objects in memory using a mouse when the program is paused.
Now I want to add a GTK UI for my program as I want to be able to interact with a graph to inform a big block of data to work in the program. For some reason (to do with CMAKE, a YABS, probably) it won’t compile a GTK program. My least favourite programming task is chasing around dependencies and interacting with YABS and I never learnt CMAKE enough to make it muscle memory, or something that’s integrated into my mind. It’s currently something I’ll always have to look up (because I’m not a programmer).
GTK (a widget tool-kit kind of thing) is also something I don’t know how to use so I thought I’d mock something up in Gnome-Builder. and then integrate it into the program I’m writing later by which time CMAKE will have magically come into focus. Default Gnome-Builder can indeed use complex templates to build Hello World programs (which it then insists on making into a Flatpak) and have loads of “hey look this is how you should write this code” templates, but I want something very simple.
So making a new Command Line program. Then install GTK4 (probably a mistake because it’s new [October 2021]).
Then in meson.build in the folder add
gtk_dependency = dependency(‘gtk4’)
add this to the Deps square brackets
deps = [
Wait how did you know to use dependency(‘gtk4’)? use pkgconf –list-all | grep gtk to show you all the packages you can use as dependecies (that have gtk in them).
Find mp3 files containing the word fish in the filename, ‘below’ current older
find . -iname *fish*.mp3
Use Grep to find a string within a file, and don’t return the filename only the examples and then find only the distinct examples.
grep -rh --include="*.R" "library(" . | sort --unique
This example was to help me remember the name of a library I had used somewhere in one of my .R files but I couldn’t remember which one etc. the library I was looking for was called “tabplot”
I know, complicated isn’t it.
I was having problems with tracker miner beavering away for 1/4 of an hour every time I booted up. Had a look at the journalctl output etc and noticed errors around the database.
So I Duck Duck Go-ed some stuff and eventually found:
tracker reset --hard
Once I ran that and rebooted, it ran again for a bit then settled down again. Problem solved.
Run selected code:
search for Execute Selection in Python Console, to find and/or change your keyboard combination.
You need gdb 7.0.0 or higher.
You are using: GNU gdb (GDB) Fedora 10.1-2.fc33
I was using Kdevelop under Gnome on Fedora 33 and wanted to debug a program. Unfortunately the above error pops up telling me it won’t work I need GDB version > 7 but all I have is GDB version 10, and any fool knows 10 < 7 so what’s a guy to do?
So I thought I’d try LLDB instead (Run -> Launch Configurations -> Debug) but that gave an error of can’t find lldb-mi. So more ducking (DDG) later I found a bug report from Arch (if only I was linux enough for Arch) that stated that LLDB-mi no longer comes with LLDB install and you had to build it from source.
sudo dnf install lldb-devel llvm-devel
then downloaded the repo from https://github.com/lldb-tools/lldb-mi
git clone https://github.com/lldb-tools/lldb-mi
sudo make install
…and LLDB debugging in Kdevelop works fine now.
Not sure what’s up with GDB but I’m sure it’ll be sorted at a later date. It was after an update that it started falling over.
Download the source code from https://supercollider.github.io/
Install some requirements:
sudo dnf install avahi-devel emacs emacs-devel libXt-devel libudev-devel libsndfile-devel jack-audio-connection-kit-devel qt5-qtwebengine-devel
I was getting errors like
CMake Error at /usr/lib64/cmake/Qt5/Qt5Config.cmake:28 (find_package):
Could not find a package configuration file provided by "Qt5Svg" with any
of the following names:
But once I ran:
sudo dnf install qt5-qtsvg-devel qt5-qtwebsockets-devel
…everything worked OK:
sudo make install
Just bought a VHF radio with GPS logging (see title). I had assumed that when you connected a computer to it as a USB device it would be just like a thumb drive. Unfortunately that wasn’t the case.
You can download some special software for PC download (sic) but that doesn’t include Mac or the mighty Linux. So some DDGing later brought me to https://github.com/cr/hx870 which uses python to access it.
It was easy to set up a virtual environment for python 3.6 and use pip to install from the github repo.
You can make sure it is connected to USB, using…
lsusb it should show an entry for a device called
Yaesu Musen HX890
Start the radio up in a special mode, hold down Menu/Set while powering on.
Make the device readable
sudo chmod 666 /dev/ttyACM1
hxtool gpslog -g yourfilenamehere.gpx or (-j for geojson format)
…to transfer you GPS log from the device to your PC.
Once you have the file safely on your hard drive you can open it using something like QGIS with the GPS tools installed (GQIS -> Plugins -> Manage and install plugins -> (search for GPS) -> GPS Tools (tick it)
Then Vector -> GPS Tools -> [Load GPX File]
By the way to access the setup menu (just in case you haven’t read the manual) hold down the menu/set button for a second or two instead of just tapping it. You clear the log by using the GPS settings menu.
Having given up on people telling me what I don’t want (GNOME). KDE is now the GUI of choice.
An install of fedora KDE spin and here are my initial installs:
dnf install fedora-workstation-repositories
dnf config-manager --set-enabled rpmfusion-nonfree-nvidia-driver
dnf install akmod-nvidia
dnf groupinstall "Development Tools"
dnf install openssl-devel libxml2-devel libcurl-devel ccache
dnf install SDL SDL2 SDL-devel SDL2-devel SDL_gfx SDL_gfx-devel
dnf install SFML SFML-devel freeglut-devel glew-devel glew glade glfw glfw-devel glm-devel
dnf install xscreensaver kate filezilla encfs clang clang-devel cmake steam gtk3-devel R-devel p7zip blas blas-devel R-core python3.6 baobab gnome-disk-utility
dnf install powerline powerline-fonts mc htop f23-backgrounds-extras-kde f24-backgrounds-extras-kde f25-backgrounds-extras-kde f26-backgrounds-extras-kde f27-backgrounds-extras-kde f28-backgrounds-extras-kde f29-backgrounds-extras-kde f30-backgrounds-extras-kde f31-backgrounds-extras-kde f32-backgrounds-extras-kde jupyter-notebook gitg monodevelop inkscape gimp blender spacenavd krita dia scribus kdevelop seahorse nextcloud-client calibre evolution gource kdenlive lollypop
dnf copr enable dani/qgis
dnf install qgis python3-qgis qgis-gras
dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
dnf install vlc
Don’t forget you’ll also want to install RStudio,etc. and make the adjustments to your .bashrc file for the powerline to work.
…and you know what did it for me? Desktop backgrounds.
And the downside is that I’ll now spend about 2 hours adjusting settings to get my look absolutely right 🙂