View previous topic :: View next topic |
Author |
Message |
Lebkoungcity Apprentice
Joined: 16 Nov 2008 Posts: 217 Location: near Lebkoungcity (='Gingerbreadcity' =Nuremberg)
|
Posted: Tue Oct 29, 2024 3:15 pm Post subject: performous installs but does (almost) nothing... |
|
|
Hi
since about two years ago I played performous on my ThnkPad Yoga 460. For this I copied the ebuild for version performous-1.1-r3 and the file-directory with its patches I found here https://gpo.zugaina.org/games-arcade/performous to my '/usr/local/portage/games-arcade/', changed the keyword from ~amd64 to amd64 for convenience, ran 'ebuild performous-1.1-r3.ebuild manifest' and it worked. Same on my Raspberry Pi4 (with keyword arm64). (Did this because I didn't want to loose the ebuild in case the overlay would be changed - which was the case some time later.)
Now with newer ffmpeg's switch from libavresample to libswresample this version doesn't work anymore.
I was very happy to see performous came to the main portage tree with version 1.2.0 as testing. So I added it to my '/etc/portage/package.accept_keywords/package.keywords.original' and emerged it. But it doesn't run. All it does is to tell me this on both, the ThinkPad and the Pi4:
Code: | $ performous -l debug
logger/notice: Logging any events of debug or higher level. Log file: /home/andy/.cache/performous/infolog.txt
stderr/info: Standard error output redirected here
core/notice: Performous 1.2+ starting...
Internationalization: Enabled
MIDI Hardware I/O: Disabled
Webcam support: Disabled
config/info: Parsing "/usr/share/performous/config/schema.xml"
config/info: Skipping "/etc/xdg/performous/config.xml" (not found)
config/info: Parsing "/home/andy/.config/performous/config.xml"
Abgebrochen |
and this on the ThinkPad:
Code: | $ gdb performous
GNU gdb (Gentoo 15.2 vanilla) 15.2
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from performous...
(No debugging symbols found in performous)
(gdb) run
Starting program: /usr/bin/performous
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
logger/notice: Logging all notices, warnings and errors. Log file: /home/andy/.cache/performous/infolog.txt
[New Thread 0x7fffefd386c0 (LWP 9004)]
core/notice: Performous 1.2+ starting...
Internationalization: Enabled
MIDI Hardware I/O: Disabled
Webcam support: Disabled
Thread 1 "performous" received signal SIGABRT, Aborted.
0x00007ffff51b50ac in ?? () from /lib64/libc.so.6
(gdb) show configuration
This GDB was configured as follows:
configure --host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu
--with-auto-load-dir=$debugdir:$datadir/auto-load
--with-auto-load-safe-path=$debugdir:$datadir/auto-load
--with-expat
--with-gdb-datadir=/usr/share/gdb (relocatable)
--with-jit-reader-dir=/usr/lib64/gdb (relocatable)
--without-libunwind-ia64
--without-lzma
--without-babeltrace
--without-intel-pt
--without-xxhash
--with-python=/usr (relocatable)
--with-python-libdir=/usr/lib (relocatable)
--without-debuginfod
--with-curses
--without-guile
--without-amd-dbgapi
--disable-source-highlight
--enable-threading
--enable-tui
--with-system-readline
--with-separate-debug-dir=/usr/lib/debug (relocatable)
("Relocatable" means the directory can be moved with the GDB installation
tree, and GDB will still find it.)
(gdb) |
and practically the same on the Pi4:
Code: | $ gdb performous
GNU gdb (Gentoo 15.2 vanilla) 15.2
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "aarch64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from performous...
(No debugging symbols found in performous)
(gdb) run
Starting program: /usr/bin/performous
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
logger/notice: Logging all notices, warnings and errors. Log file: /home/pandora/.cache/performous/infolog.txt
[New Thread 0x7fe69dee20 (LWP 6281)]
core/notice: Performous 1.2+ starting...
Internationalization: Enabled
MIDI Hardware I/O: Disabled
Webcam support: Disabled
Thread 1 "performous" received signal SIGABRT, Aborted.
0x0000007ff4155db8 in ?? () from /usr/lib64/libc.so.6
(gdb) show configuration
This GDB was configured as follows:
configure --host=aarch64-unknown-linux-gnu --target=aarch64-unknown-linux-gnu
--with-auto-load-dir=$debugdir:$datadir/auto-load
--with-auto-load-safe-path=$debugdir:$datadir/auto-load
--with-expat
--with-gdb-datadir=/usr/share/gdb (relocatable)
--with-jit-reader-dir=/usr/lib64/gdb (relocatable)
--without-libunwind-ia64
--without-lzma
--without-babeltrace
--without-intel-pt
--without-xxhash
--with-python=/usr (relocatable)
--with-python-libdir=/usr/lib (relocatable)
--without-debuginfod
--with-curses
--without-guile
--without-amd-dbgapi
--disable-source-highlight
--enable-threading
--enable-tui
--with-system-readline
--with-separate-debug-dir=/usr/lib/debug (relocatable)
("Relocatable" means the directory can be moved with the GDB installation
tree, and GDB will still find it.)
(gdb) |
Isn't '/usr/lib64/libc.so.6' from glibc? I have 'sys-libs/glibc-2.39-r6' on both machines. Might this be some incompatibility with this glibc's version?
Regards,
Andy
P.S.: I already tried to adjust this old performous-1.1-r3 to the new libswresample with the help of this https://github.com/performous/performous/pull/400/. But I ran in too many problems beside of this I couldn't handle with my limited understanding... _________________ "The most dangerous world view is the world view of the ones who haven't viewed the world."
Alexander von Humboldt (1769-1859) |
|
Back to top |
|
|
sam_ Developer
Joined: 14 Aug 2020 Posts: 1934
|
|
Back to top |
|
|
Lebkoungcity Apprentice
Joined: 16 Nov 2008 Posts: 217 Location: near Lebkoungcity (='Gingerbreadcity' =Nuremberg)
|
Posted: Wed Oct 30, 2024 1:58 am Post subject: |
|
|
Hey Sam, thanks!
Finally I have made my systems accept that I want them to emerge glibc and performous with debugging symbols.
First the ThinkPad. When I ran it with gdb the first time I noticed a line with 'config' in it and I wondered if it would change anything if I would delete performous' config and cache. And yes, now it runs on the ThinkPad. Kind of embarrassing I didn't think of that before posting...
But then the Pi4. Deleting performous' config and cache didn't let it run. So, here is the output of running it with gdb:
Code: | $ gdb performous
GNU gdb (Gentoo 15.2 vanilla) 15.2
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "aarch64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from performous...
(gdb) run
Starting program: /usr/bin/performous
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
logger/notice: Logging all notices, warnings and errors. Log file: /home/pandora/.cache/performous/infolog.txt
[New Thread 0x7fe69dee20 (LWP 20837)]
core/notice: Performous 1.2+ starting...
Internationalization: Enabled
MIDI Hardware I/O: Disabled
Webcam support: Disabled
core/notice: Starting the audio subsystem (errors printed on console may be ignored).
[New Thread 0x7fe616ee20 (LWP 20838)]
[Thread 0x7fe616ee20 (LWP 20838) exited]
[New Thread 0x7fe616ee20 (LWP 20839)]
[Thread 0x7fe616ee20 (LWP 20839) exited]
[New Thread 0x7fe616ee20 (LWP 20840)]
[Thread 0x7fe616ee20 (LWP 20840) exited]
[New Thread 0x7fe616ee20 (LWP 20841)]
[Thread 0x7fe616ee20 (LWP 20841) exited]
audio/error: Audio device 'dev="USBMIC" mics="blue,red"': No such device.
audio/error: Audio device 'dev="Microphone" mics="*"': No such device.
[New Thread 0x7fe616ee20 (LWP 20842)]
[New Thread 0x7fe589ee20 (LWP 20843)]
Thread 1 "performous" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
warning: 44 pthread_kill.c: Datei oder Verzeichnis nicht gefunden
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x0000007ff4155ef4 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2 0x0000007ff410c1bc in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x0000007ff40f7b80 in __GI_abort () at abort.c:79
#4 0x0000007ff41057ec in __assert_fail_base
(fmt=0x7ff42205a0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7ff496b048 "self->capture.nfds || self->playback.nfds", file=file@entry=0x7ff4964720 "/var/tmp/portage/media-libs/portaudio-19.07.00-r2/work/portaudio/src/hostapi/alsa/pa_linux_alsa.c", line=line@entry=2180, function=function@entry=0x7ff496e588 "PaAlsaStream_Initialize")
at assert.c:94
#5 0x0000007ff410585c in __assert_fail
(assertion=0x7ff496b048 "self->capture.nfds || self->playback.nfds", file=0x7ff4964720 "/var/tmp/portage/media-libs/portaudio-19.07.00-r2/work/portaudio/src/hostapi/alsa/pa_linux_alsa.c", line=2180, function=0x7ff496e588 "PaAlsaStream_Initialize") at assert.c:103
#6 0x0000007ff49609b8 in ??? () at /usr/lib64/libportaudio.so.2
#7 0x0000007ff4957610 in Pa_OpenStream () at /usr/lib64/libportaudio.so.2
#8 0x000000555558136c in portaudio::Stream::Stream<Device>
(flags=<optimized out>, framesPerBuffer=<optimized out>, sampleRate=<optimized out>, output=<optimized out>, input=<optimized out>, functor=<optimized out>, this=<optimized out>)
at /var/tmp/portage/games-arcade/performous-1.2.0/work/performous-1.2.0/game/libda/portaudio.hpp:215
#9 Device::Device (this=0x555584d650, in=0, out=2, rate=48000, dev=0) at /var/tmp/portage/games-arcade/performous-1.2.0/work/performous-1.2.0/game/audio.cc:412
#10 0x000000555559cf48 in std::__new_allocator<Device>::construct<Device, unsigned int&, unsigned int&, unsigned int&, unsigned int const&> (__p=<optimized out>, this=0x555582b948)
at /usr/lib/gcc/aarch64-unknown-linux-gnu/13/include/g++-v13/bits/new_allocator.h:189
#11 std::allocator_traits<std::allocator<Device> >::construct<Device, unsigned int&, unsigned int&, unsigned int&, unsigned int const&> (__p=<optimized out>, __a=...)
at /usr/lib/gcc/aarch64-unknown-linux-gnu/13/include/g++-v13/bits/alloc_traits.h:538
#12 std::deque<Device, std::allocator<Device> >::emplace_back<unsigned int&, unsigned int&, unsigned int&, unsigned int const&> (this=0x555582b948)
at /usr/lib/gcc/aarch64-unknown-linux-gnu/13/include/g++-v13/bits/deque.tcc:170
#13 Audio::Impl::Impl (this=0x555582b7b0) at /var/tmp/portage/games-arcade/performous-1.2.0/work/performous-1.2.0/game/audio.cc:505
#14 0x0000005555581fd0 in std::make_unique<Audio::Impl> () at /usr/lib/gcc/aarch64-unknown-linux-gnu/13/include/g++-v13/bits/unique_ptr.h:1070
#15 Audio::Audio (this=this@entry=0x7fffffd790) at /var/tmp/portage/games-arcade/performous-1.2.0/work/performous-1.2.0/game/audio.cc:550
#16 0x000000555560adb8 in mainLoop (songlist="") at /var/tmp/portage/games-arcade/performous-1.2.0/work/performous-1.2.0/game/main.cc:130
#17 0x00000055555749b8 in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/games-arcade/performous-1.2.0/work/performous-1.2.0/game/main.cc:392
(gdb) |
edit: had posted the wrong data _________________ "The most dangerous world view is the world view of the ones who haven't viewed the world."
Alexander von Humboldt (1769-1859) |
|
Back to top |
|
|
sam_ Developer
Joined: 14 Aug 2020 Posts: 1934
|
Posted: Wed Oct 30, 2024 3:08 am Post subject: |
|
|
Thanks!
It is crashing in media-libs/portaudio, in an assertion (sanity check) related to ALSA. The assertion is at https://github.com/PortAudio/portaudio/blob/v19.7.0/src/hostapi/alsa/pa_linux_alsa.c#L2180.
If you build portaudio with debugging symbols, you can probe that frame when it asserts to inspect self->capture and self->playback, but I've no idea about ALSA or portaudio.
Before it asserts, your log has:
Quote: |
core/notice: Starting the audio subsystem (errors printed on console may be ignored).
[...]
audio/error: Audio device 'dev="USBMIC" mics="blue,red"': No such device.
audio/error: Audio device 'dev="Microphone" mics="*"': No such device.
|
... so I guess your ALSA config may be bogus, or at least could be tweaked to work around the problem?
Alternatively (if the above ideas don't work out), you could try build portaudio without ALSA support or configuring performous without portaudio (or perhaps ALSA) support if it has alternatives that it supports. But those should be seen as last resorts. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|