Installation of excellent mind mapping tool Heimer failed

Sorry for the repost. I think since the topic is not visible outside, it is not getting the right attention.

admins: please delete this if i have broken some rule

I’ve seen a similar error with another package. In that case the package maintainer suggested building the package in a clean chroot. You can read about that in the Arch wiki:
https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot

But if that is too complicated, then Heimer is also available as an appimage from their Github page:
https://github.com/juzzlin/Heimer/releases

1 Like

qt6-tools-desktop is needed, the build gets a bit further and then bombs. I know very little C++ so give up :smiley:

if you’re looking for alternatives, try drawio-desktop. you can also use it online.

1 Like

https://forum.endeavouros.com/t/eos-solutions-and-problems-after-hopping-from-mx-linux/22298/66?u=ivanhoe

So now we’re having two threads discussing the same topic? @moderators .

https://forum.endeavouros.com/t/eos-solutions-and-problems-after-hopping-from-mx-linux/22298/67?u=ivanhoe

@pannet1 if you are really set on using Heimer you can install it with some manual workaround process. This isn’t 100% pretty, but it is fairly straight forward. One the yay install fails, I am basically fixing the broken source code in two files, then manually running the rest of the build and installing the code.
Some caveats:

  • The package won’t be ‘visible’ to pacman or yay (ie. yay -Qs heimer will still show the app as not being installed).
  • This also means the package won’t be checked for updates when you run yay or pacman -Syu.
  • Finally, running yay -S heimer will overwrite the code in the yay cache directory, but doesn’t affect the built and installed application

If you are still game after all of those disclaimers, here are the steps to follow:
Make sure you have some QT6 dependencies installed. I am not sure exactly which of the following are required, but I have the below packages installed on my machine:

pacman -Syu qt6-base qt6-5compat qt6-svg qt6-tools

Open a regular user terminal and attempt to install heimer using yay

yay -Syu heimer

This step will of course fail. Now is when the fun begins … we are going to fix the code that won’t build, the manually run the rest of the build and install…

change to the working directory where yay has the heimer code…

~/.cache/yay/heimersrc/Heimer-3.5.0/src/

edit the alz_serializer.cpp file. Only one change is need to line 468 where you need to change font.setWeight to font.setLegacyWeight … save your changes to the file of course.

edit the version_checker.cpp file. You need to make a few changes to this one. Replace the blank line on line 20 with following line:

#include <QRegularExpression>

and replace the entire “Version parseLasteReleasedVersion(QString data)” function defined on lines 31-44 with the following code:

Version parseLatestReleasedVersion(QString data)
{
    Version newest;
    for (auto && line : data.split("\n")) {
        QRegularExpression tagMatch("^*tag/(\\d.\\d.\\d).*$");
        QRegularExpressionMatchIterator mi = tagMatch.globalMatch(line);
        while (mi.hasNext()) {
            QRegularExpressionMatch versionMatch = mi.next();
            const Version version(versionMatch.captured(0));
            if (version.isValid() && version > newest) {
                newest = version;
            }
        }
    }
    return newest;
}

again… make sure you save the changes to the file.

Now you are ready to finish building the code. Change the the heimer source directory:

cd ~/.cache/yay/heimer/src

the run the make statement to finish building the code:

make -C build

The coded should now compile successfully. It will take some time to compile, and you can expect there will be lots of warning messages. You should not see any error message.

Assuming you’ve been able to compile the code, now we still need to install the package. I used the following commands for this. I am not 100% sure that they are all needed, but this is what worked for me:

sudo DESTDIR="~/.cache/yay/heimer/" make install -C build
cd Heimer-3.5.0
install -Dm644 COPYING -t "~/.cache/yay/heimer/usr/share/licenses/heimer/"

somehow it always feels that you are getting less when there is a pro (paid version) and cloud means we dont have the control.

i tried installing qt5-tools first and qt6-tools first, somehow it did not work in either case. so this route is closed. still not comfortable with snap.

This is brilliant, i would have gone by this route if the App image was not provided. Thank you for your dual effort (here and in the AUR website). I am lacking words, a very BIG thank you, still seems to be very small.

1 Like

Installation of excellent mind mapping tool Heimer failed

qt5-tools is an option dependency and yet i can see qt6 is expected to be found.

$ yay -Syu heimer
-- Found WrapVulkanHeaders: /usr/include  
-- Could NOT find Qt6LinguistTools (missing: Qt6LinguistTools_DIR)
CMake Error at CMakeLists.txt:100 (find_package):
  Found package configuration file:
    /usr/lib64/cmake/Qt6/Qt6Config.cmake
  but it set Qt6_FOUND to FALSE so package "Qt6" is considered to be NOT
  FOUND.  Reason given by package:
  Failed to find Qt component "LinguistTools".
  Expected Config file at
  "/usr/lib64/cmake/Qt6LinguistTools/Qt6LinguistToolsConfig.cmake" does NOT
  exist
-- Configuring incomplete, errors occurred!
See also "/home/pannet1/.cache/yay/heimer/src/build/CMakeFiles/CMakeOutput.log".
==> ERROR: A failure occurred in build().
    Aborting...
checking dependencies...
:: python-shiboken2 optionally requires qt5-tools: QtHelp bindings

Package (1)  Old Version      Net Change

qt5-tools    5.15.5+kde+r1-3  -15.55 MiB

Total Removed Size:  15.55 MiB

:: Do you want to remove these packages? [Y/n] 
:: Processing package changes...
(1/1) removing qt5-tools                                                     [-------------------------------------------] 100%
:: Running post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Updating icon theme caches...
(3/3) Updating the desktop file MIME type cache...
 -> error making: heimer

Should i contact the AUR team for this?

Heimer’s dependecies are listed here, on the Arch Linux Aur package site. So you could install the dependencies first before you try a new install via yay. Also, according to that site, if you scroll down, you find that you’re not the only one having some of your issues.

According to the developer-site on GitHub, you could also install heimer as a snap package, or as an appimage if you feel you really need it.

You likely have QT6 on your machine, since I think it gets pulled in to support the Welcome app (among other things). If I am correctly interpreting things, the Heimer package build sees this version of QT and attempts to build with it. The problem is that there have been some changes between QT5 and QT6 included minor modifications to the QFont class definition and deprecation of the QRegEx class (replaced with QRegularExpression class that works slightly differently). The Heimer developers will need to make a few changes to address these incompatibilities, so I suspect it might take them a little time before this all gets sorted out. In their defense, the do state that they work with QT5 and don’t yet claim any support for QT6.

The snap approach is designed to address exactly these kinds of incompatibilities. (That doesn’t necessarily mean I am fan - and for or against snap is a flame war discussion for another day :slight_smile: )

1 Like

excellent solutions from this vibrant community as always. duplicate thread here. however, a simple mind mapping tool heimer deserves simple solution, so going with the app image solution. did not mean to undermine your efforts gentlemen. :pray:

yEd is also another general drawing tool which can easily function as a mind mapper

1 Like

Check VYM (view your mind).
It is available in std archlinux repos, very good program!

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.