Builds but core dumps.
Hello. Running these commands:
git clone --recurse-submodules https://github.com/Houston4444/Patchance.git cd Patchance make ./src/patchance.py
Builds without error, but when I try to run it:
> ./src/patchance.py Segmentation fault (core dumped)
System Info: OS: Fedora Linux 39 Workstation x86_64 Pipewire v. 1.0 Kernel: 6.6.6-200.fc39.x86_64 DE: GNOME 45.2 CPU: Intel i7-9750H
Thanks for any suggestions.
Ouille. Segmentation faults are very boring.
what you can do is
run
gdb python3
then in gdb, type:
run ./src/patchance.py
sometimes it says something interesting, sometimes.
I suggest to also try RaySession and see if the problem also exists (there's a good chance, but it's not certain).
Here ya go. You'll have to be the judge if this is "interesting". :)
(gdb) run ./src/patchance.py
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/bin/python3 ./src/patchance.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
__memset_avx2_unaligned_erms () at ../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S:170
170 VMOVU %VMM(0), (%rdi)
(gdb)
Regarding Raysession, it also builds and installs without errors, and gives this error when launched:
raysession Traceback (most recent call last): File "/usr/local/share/raysession/src/bin/raysession", line 13, in
from gui_tools import ArgParser, CommandLineArgs, init_gui_tools, get_code_root File "/usr/local/share/raysession/src/gui/gui_tools.py", line 9, in from liblo import Address ModuleNotFoundError: No module named 'liblo'
Hope this helps.
Sorry for Patchance, I understand nothing to the error message, I am not competent for this, sadly.
For RaySession, you need to install python3-liblo, you can try from your distribution package, but probably you'll need to build it from source from this fork: https://github.com/gesellkammer/pyliblo3, or with pip:
python3 -m pip install pyliblo3
i managed to get patchance and raysession working on fedora.
the issue stems from incompatibilities with python3.12 i guess, which gnome depends on. i got both programs working by forcing them to use python3.10, and installing the dependencies through python3.10 -m pip install ....
so install python3.10 sudo dnf install python3.10. also make sure your cython version is <0.30.0. i'm using 0.29.26 python3.10 -m pip install cython==0.29.26. if you need to install pip you can run python3.10 -m ensurpip and hopefully that works.
and replace every instance of python3 in the makefiles (all of them) with python3.10. go fishing through the submodules and directories to find them. next you have to change the shebang or every (executable) .py file with #!/usr/bin/python3.10 -u. same deal. there's probably an elegant way to do this in bash but i'm an idiot.
i also modified the .desktop file to run the programs through python3.10 rather than the executable. i didn't even run sudo make install, i just manually moved the source files to the install location after running make with my modified makefiles. Exec=python3.10 /path/to/Patchance-1.1.0/src/patchance.py. this same fix works for raysession. but remember to touch the makefiles and python fixes of all the submodules like houstonpatchbay too.
i couldn't get pyliblo3 to compile on python3.12, the repos aren't helpful. if i could get pyliblo3 to compile though.. maybe this wouldn't be necessary..?