Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
performous installs but does (almost) nothing...
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
Lebkoungcity
Apprentice
Apprentice


Joined: 16 Nov 2008
Posts: 218
Location: near Lebkoungcity (='Gingerbreadcity' =Nuremberg)

PostPosted: Tue Oct 29, 2024 3:15 pm    Post subject: performous installs but does (almost) nothing... Reply with quote

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
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 1935

PostPosted: Tue Oct 29, 2024 7:00 pm    Post subject: Reply with quote

When you're in gdb, please run "bt" and show the output. You may need to rebuild glibc as well as performous with debugging symbols per https://wiki.gentoo.org/wiki/Debugging#Per-package.
Back to top
View user's profile Send private message
Lebkoungcity
Apprentice
Apprentice


Joined: 16 Nov 2008
Posts: 218
Location: near Lebkoungcity (='Gingerbreadcity' =Nuremberg)

PostPosted: Wed Oct 30, 2024 1:58 am    Post subject: Reply with quote

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... :wink:

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
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 1935

PostPosted: Wed Oct 30, 2024 3:08 am    Post subject: Reply with quote

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
View user's profile Send private message
Lebkoungcity
Apprentice
Apprentice


Joined: 16 Nov 2008
Posts: 218
Location: near Lebkoungcity (='Gingerbreadcity' =Nuremberg)

PostPosted: Wed Oct 30, 2024 6:18 pm    Post subject: Reply with quote

Thanks a lot for looking further into this!

I built portaudio with debugging symbols, let it run and in that bt was another line with three ??? pointing to libstdc++ (or was it libstdc++.so.6? Not sure anymore.) So I went on to rebuild gcc with debugging symbols. Now there are no more ??? in the back traces.

I post two versions: one with media-libs/portaudio USE="-alsa" , one with media-libs/portaudio USE="+alsa"

To me (and I have no real clue about this) it looks like there is something fishy in the audio-part unrelated to portaudio and that this has to do with the system being built for arm64. Or am I wrong?

btw: This is the same on the ThinkPad and there performous starts just fine...
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.



media-libs/portaudio USE="-alsa"
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 0x7fe69fee20 (LWP 30024)]
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).

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  0x0000007ff4175ef4 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x0000007ff412c1bc in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x0000007ff4117b80 in __GI_abort () at abort.c:79
#4  0x0000007ff443b4a0 in __gnu_cxx::__verbose_terminate_handler () at /var/tmp/portage/sys-devel/gcc-13.3.1_p20240614/work/gcc-13-20240614/libstdc++-v3/libsupc++/vterminate.cc:95
#5  0x0000007ff4438a6c in __cxxabiv1::__terminate (handler=<optimized out>)
    at /var/tmp/portage/sys-devel/gcc-13.3.1_p20240614/work/gcc-13-20240614/libstdc++-v3/libsupc++/eh_terminate.cc:48
#6  0x0000007ff4438ad0 in std::terminate () at /var/tmp/portage/sys-devel/gcc-13.3.1_p20240614/work/gcc-13-20240614/libstdc++-v3/libsupc++/eh_terminate.cc:58
#7  0x0000007ff4438db0 in __cxxabiv1::__cxa_throw (obj=<optimized out>, tinfo=0x7ff45e5c98 <typeinfo for std::runtime_error>, dest=0x7ff4450a50 <std::runtime_error::~runtime_error()>)
    at /var/tmp/portage/sys-devel/gcc-13.3.1_p20240614/work/gcc-13-20240614/libstdc++-v3/libsupc++/eh_throw.cc:98
#8  0x0000005555587f94 in portaudio::AudioBackends::AudioBackends (this=0x7fffffd2c0) at /var/tmp/portage/games-arcade/performous-1.2.0/work/performous-1.2.0/game/libda/portaudio.hpp:156
#9  0x000000555559c128 in Audio::Impl::Impl (this=0x5555835480) at /var/tmp/portage/games-arcade/performous-1.2.0/work/performous-1.2.0/game/audio.cc:450
#10 0x0000005555581fd0 in std::make_unique<Audio::Impl> () at /usr/lib/gcc/aarch64-unknown-linux-gnu/13/include/g++-v13/bits/unique_ptr.h:1070
#11 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
#12 0x000000555560adb8 in mainLoop (songlist="") at /var/tmp/portage/games-arcade/performous-1.2.0/work/performous-1.2.0/game/main.cc:130
#13 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)


media-libs/portaudio USE="+alsa"
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 30386)]
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 30387)]
[Thread 0x7fe616ee20 (LWP 30387) exited]
[New Thread 0x7fe616ee20 (LWP 30388)]
[Thread 0x7fe616ee20 (LWP 30388) exited]
[New Thread 0x7fe616ee20 (LWP 30389)]
[Thread 0x7fe616ee20 (LWP 30389) exited]
[New Thread 0x7fe616ee20 (LWP 30390)]
[Thread 0x7fe616ee20 (LWP 30390) 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 30391)]
[New Thread 0x7fe589ee20 (LWP 30392)]

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=0x7ff496aff8 "self->capture.nfds || self->playback.nfds", file=file@entry=0x7ff49646d0 "/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=0x7ff496e538 <__PRETTY_FUNCTION__.9> "PaAlsaStream_Initialize") at assert.c:94
#5  0x0000007ff410585c in __assert_fail
    (assertion=assertion@entry=0x7ff496aff8 "self->capture.nfds || self->playback.nfds", file=file@entry=0x7ff49646d0 "/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=0x7ff496e538 <__PRETTY_FUNCTION__.9> "PaAlsaStream_Initialize") at assert.c:103
#6  0x0000007ff4960978 in PaAlsaStream_Initialize
    (userData=0x55558507e0, streamFlags=8, callback=0x555557f4a0 <portaudio::functorCallback<Device>(void const*, void*, unsigned long, PaStreamCallbackTimeInfo const*, PaStreamCallbackFlags, void*)>, framesPerUserBuffer=0, sampleRate=48000, outParams=0x7fffffcfc8, inParams=0x0, alsaApi=<optimized out>, self=0x55558797d0)
    at /var/tmp/portage/media-libs/portaudio-19.07.00-r2/work/portaudio/src/hostapi/alsa/pa_linux_alsa.c:2180
#7  OpenStream
    (hostApi=<optimized out>, s=0x55558507f8, inputParameters=0x0, outputParameters=0x7fffffcfc8, sampleRate=48000, framesPerBuffer=0, streamFlags=8, callback=0x555557f4a0 <portaudio::functorCallback<Device>(void const*, void*, unsigned long, PaStreamCallbackTimeInfo const*, PaStreamCallbackFlags, void*)>, userData=0x55558507e0)
    at /var/tmp/portage/media-libs/portaudio-19.07.00-r2/work/portaudio/src/hostapi/alsa/pa_linux_alsa.c:2842
#8  0x0000007ff495760c in Pa_OpenStream
    (stream=0x55558507f8, inputParameters=<optimized out>, outputParameters=<optimized out>, sampleRate=48000, framesPerBuffer=0, streamFlags=8, streamCallback=0x555557f4a0 <portaudio::functorCallback<Device>(void const*, void*, unsigned long, PaStreamCallbackTimeInfo const*, PaStreamCallbackFlags, void*)>, userData=0x55558507e0)
    at /var/tmp/portage/media-libs/portaudio-19.07.00-r2/work/portaudio/src/common/pa_front.c:1256
#9  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
#10 Device::Device (this=0x55558507e0, 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
#11 0x000000555559cf48 in std::__new_allocator<Device>::construct<Device, unsigned int&, unsigned int&, unsigned int&, unsigned int const&> (__p=<optimized out>, this=0x5555835618)
    at /usr/lib/gcc/aarch64-unknown-linux-gnu/13/include/g++-v13/bits/new_allocator.h:189
#12 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
#13 std::deque<Device, std::allocator<Device> >::emplace_back<unsigned int&, unsigned int&, unsigned int&, unsigned int const&> (this=0x5555835618)
    at /usr/lib/gcc/aarch64-unknown-linux-gnu/13/include/g++-v13/bits/deque.tcc:170
#14 Audio::Impl::Impl (this=0x5555835480) at /var/tmp/portage/games-arcade/performous-1.2.0/work/performous-1.2.0/game/audio.cc:505
#15 0x0000005555581fd0 in std::make_unique<Audio::Impl> () at /usr/lib/gcc/aarch64-unknown-linux-gnu/13/include/g++-v13/bits/unique_ptr.h:1070
#16 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
#17 0x000000555560adb8 in mainLoop (songlist="") at /var/tmp/portage/games-arcade/performous-1.2.0/work/performous-1.2.0/game/main.cc:130
#18 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)

_________________
"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
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 1935

PostPosted: Wed Oct 30, 2024 6:59 pm    Post subject: Reply with quote

I don't think it's likely to be because of arm64. The only real common portability difference there is unsigned char.

The assertion in your first output is at:
Quote:

#8 0x0000005555587f94 in portaudio::AudioBackends::AudioBackends (this=0x7fffffd2c0) at /var/tmp/portage/games-arcade/performous-1.2.0/work/performous-1.2.0/game/libda/portaudio.hpp:156


Specifically, that is https://github.com/performous/performous/blob/1.2.0/game/libda/portaudio.hpp#L156, which is...
Code:

         if (count() == 0) throw std::runtime_error("No suitable audio backends found."); // Check specifically for 0 because it returns a negative error code if Pa is not initialized


So all roads lead back to portaudio and figuring out a backend which works in portaudio. Either enable ALSA in portaudio and figure out why it asserts (likely an error in your ALSA configuration) or make portaudio use something non-ALSA that performous can work with (which would be jack or oss). I think you're best off trying to make ALSA work.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
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