Segmentation fault running primus (ATSAS aur package)

I used to use primus from the ATSAS aur package without a problem in previous Manjaro versions.
I can’t pinpoint exactly when it stopped working (since I didn’t use it in a month or so) but now I’m getting a Segmentation Fault when I try to run the program.

The aur maintainer said it still works on his side (AUR (en) - atsas), so maybe the problem is with some Manjaro library.

GDB tells me the problem is in qt6-base, but the version on Arch and Manjaro Gnome Stable (up to date) are the same (6.6.1)
Below I paste the GDB output.
Any ideas on how to solve this?


Thread 1 "primus" received signal SIGSEGV, Segmentation fault.
QScreen::availableSize (this=0x0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/gui/kernel/qscreen.cpp:316
316         Q_D(const QScreen);                                                                                                                                               
(gdb) bt
#0  QScreen::availableSize() const (this=0x0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/gui/kernel/qscreen.cpp:316
#1  0x00005555555a966b in  ()
#2  0x00007ffff5245cd0 in __libc_start_call_main (main=main@entry=0x5555555a93e0, argc=argc@entry=1, argv=argv@entry=0x7fffffffd8c8)
    at ../sysdeps/nptl/libc_start_call_main.h:58
#3  0x00007ffff5245d8a in __libc_start_main_impl
    (main=0x5555555a93e0, argc=1, argv=0x7fffffffd8c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffd8b8)
    at ../csu/libc-start.c:360
#4  0x00005555555a98c5 in  ()
(gdb) frame 0
#0  QScreen::availableSize (this=0x0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.1/src/gui/kernel/qscreen.cpp:316
316	    Q_D(const QScreen);

Quite possible.

My guess is that you are using Manjaro stable branch - where you are advised to use unstable when you rely on custom scripts from AUR.

I see… but let’s say I want to fix the aur build to work on Manjaro Stable, any tips?

I really don’t know which library is the problem, since qt6-base has the same version for Arch and Manjaro stable.

I don’t know - I can’t even build it …

 $ pamac search atsas
atsas  3.2.1-2                                                                                             AUR
    A program suite for small-angle scattering data analysis from biological macromolecules

 $ pamac build atsas
Cloning atsas build files...
Generating atsas information...
Checking atsas dependencies...
Resolving dependencies...
Checking inter-conflicts...

To build (1):
  atsas  3.2.1-3    AUR


Building atsas...
==> Making package: atsas 3.2.1-3 (tor 14 dec 2023 14:00:03 CET)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
==> ERROR: ATSAS-3.2.1-1_amd64.tar.gz was not found in the build directory and is not a URL.
Error: Failed to build atsas

To build you need the .tar.gz for the latest Ubuntu downloaded from placed in the same folder of the PKGBUILD.

My first question would be why is it depending on qt5-base if it’s using qt6-base?

It looks like upstream changed to qt6 in version 3.2.1 so surely those dependencies need to be changed.

-	rm "${pkgdir}${ATSAS_ROOT}"/lib/atsas/libQt5*
+	rm "${pkgdir}${ATSAS_ROOT}"/lib/atsas/libQt6*

You are right, the maintainer should change the dependencies to qt6.
However, I have the qt6 version of those installed, and it still doesn’t work.

I also tried changing the PKBUILD to depend on qt6 but had no success doing it as well.

Well, that doesn’t inspire confidence in the rest of the PKGBUILD…

Also the fact that the ATSAS source code download requires registration is going to limit the number of people prepared to investigate this further I’m afraid.