View previous topic :: View next topic |
Author |
Message |
Lebkoungcity Apprentice
Joined: 16 Nov 2008 Posts: 221 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: 2043
|
|
Back to top |
|
|
Lebkoungcity Apprentice
Joined: 16 Nov 2008 Posts: 221 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: 2043
|
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 |
|
|
Lebkoungcity Apprentice
Joined: 16 Nov 2008 Posts: 221 Location: near Lebkoungcity (='Gingerbreadcity' =Nuremberg)
|
Posted: Wed Oct 30, 2024 6:18 pm Post subject: |
|
|
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 |
|
|
sam_ Developer
Joined: 14 Aug 2020 Posts: 2043
|
Posted: Wed Oct 30, 2024 6:59 pm Post subject: |
|
|
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 |
|
|
Lebkoungcity Apprentice
Joined: 16 Nov 2008 Posts: 221 Location: near Lebkoungcity (='Gingerbreadcity' =Nuremberg)
|
Posted: Thu Oct 31, 2024 1:16 am Post subject: |
|
|
OK, I sorted out the problems with ALSA - the quick solution was to plug in the USB-soundcard that provides the mic-input. (Found that after a while wondering what could have messed up my ALSA configuration.)
Now I think the problem lies on the video-side. Or am I wrong again?
First performous' log (I cut out some similar lines):
Code: | logger/notice: Logging any events of debug or higher level. Log file: /home/pandora/.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: Skipping "/home/pandora/.config/performous/config.xml" (not found)
fs/info: Found system paths:
base: /usr/bin
share: /usr/share/performous
locale:
sysConf: /etc/xdg/performous
home: /home/pandora
config: /home/pandora/.config/performous
data: /home/pandora/.local/share/performous
cache: /home/pandora/.cache/performous
fs/info: Determining data dirs (search path):
/home/pandora/.local/share/performous
/usr/share/performous
/usr/local/share/performous
core/notice: Starting the audio subsystem (errors printed on console may be ignored).
stderr/info: ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.12/work/alsa-lib-1.2.12/src/confmisc.c:1377:(snd_func_refer) Unable to find definition 'cards.0.pcm.front.0:CARD=0'
(...)
stderr/info: ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.12/work/alsa-lib-1.2.12/src/confmisc.c:160:(snd_config_get_card) Invalid field card
stderr/info: ALSA lib /var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/usb_stream/pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card'
audio/info: Trying the selected Portaudio backend... not found; but this is normal when Auto is selected.
audio/info: Currently selected audio backend is: Auto
audio/info: Trying the selected Portaudio backend... not found; but this is normal when Auto is selected.
audio/info: Currently selected audio backend is: Auto
audio/info: PortAudio backends:
#0: ALSA (9 devices):
#0 snd_rpi_hifiberry_dac: HifiBerry DAC HiFi pcm5102a-hifi-0 (hw:0,0) (2 out)
#1 UA-2X2: USB Audio (hw:1,0) (2 in, 2 out)
#2 sysdefault (128 out)
#3 lavrate (128 out)
#4 pulse (32 in, 32 out)
#5 upmix (8 out)
#6 vdownmix (6 out)
#8 default (32 in, 32 out)
audio/debug: Will try to find device matching dev: USBMIC
audio/error: Audio device 'dev="USBMIC" mics="blue,red"': No such device.
audio/debug: Will try to find device matching dev: Microphone
audio/error: Audio device 'dev="Microphone" mics="*"': No such device.
audio/info: Device string empty; will look for a device with at least 1 input channels.
audio/info: Found: UA-2X2: USB Audio (hw:1,0), in: 2, out: 2
audio/info: Using audio device: UA-2X2: USB Audio (hw:1,0) (2 in, 2 out), input channels: 1
audio/info: Device string empty; will look for a device with at least 2 output channels.
audio/info: Found: snd_rpi_hifiberry_dac: HifiBerry DAC HiFi pcm5102a-hifi-0 (hw:0,0), in: 0, out: 2
audio/info: Using audio device: snd_rpi_hifiberry_dac: HifiBerry DAC HiFi pcm5102a-hifi-0 (hw:0,0) (2 out), output channels: 2
core/info: Loading assets.
locale/debug: Checking if language is set in config.
locale/notice: Setting language to: 'de_DE.utf8'
backgrounds/info: >>> Not scanning for backgrounds: "/home/pandora/.local/share/performous/backgrounds" (no such directory)
backgrounds/info: >>> Scanning ing for backgrounds: "/home/pandora/.local/share/performous/backgrounds" (no such directory)
songs/notice: Done loading the cache. You now have 0 songs in your list.
songs/notice: Starting to load all songs from disk, to update the cache.
backgrounds/info: >>> Scanning "/usr/share/performous/backgrounds" (for backgrounds)
songs/info: >>> Not scanning: "/home/pandora/.local/share/performous/songs" (no such directory)
(...)
songs/info: >>> Not scanning: "%HOMEDRIVE%%HOMEPATH%\\Application Data\\performous" (no such directory)
songs/notice: Done Loading. Loaded 0 Songs.
songs/notice: Done Caching.
songs/info: >>> Not scanning: "/home/pandora/.local/share/performous/songs" (no such directory)
(...)
songs/info: >>> Not scanning: "%HOMEDRIVE%%HOMEPATH%\\Application Data\\performous" (no such directory)
backgrounds/info: 6 backgrounds loaded
backgrounds/info: >>> Not scanning for backgrounds: "/usr/local/share/performous/backgrounds" (no such directory)
profiler-songloader/debug: total (0.2 ms)
font/info: Loading font "/usr/share/performous/themes/default/www/fonts/glyphicons-halflings-regular.eot": error
font/info: Loading font "/usr/share/performous/themes/default/www/fonts/glyphicons-halflings-regular.woff2": error
font/info: Loading font "/usr/share/performous/themes/default/www/fonts/glyphicons-halflings-regular.svg": error
font/info: Loading font "/usr/share/performous/themes/default/www/fonts/glyphicons-halflings-regular.woff": ok
font/info: Loading font "/usr/share/performous/themes/default/www/fonts/glyphicons-halflings-regular.ttf": ok
font/info: Loading font "/usr/share/performous/fonts/DroidSansMono.ttf": ok
font/info: Loading font "/usr/share/performous/fonts/GoblinOne.otf": ok
font/info: Loading font "/usr/share/performous/fonts/NewRocker-Regular.otf": ok
font/info: PangoCairo is using font map PangoCairoFcFontMap
video/info: Create window dimensions: 1366x768 on screen position: 536805376x536805376 |
and here is the current output of gdb with bt:
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 8407)]
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 8408)]
[Thread 0x7fe616ee20 (LWP 8408) exited]
[New Thread 0x7fe616ee20 (LWP 8409)]
[Thread 0x7fe616ee20 (LWP 8409) exited]
[New Thread 0x7fe616ee20 (LWP 8410)]
[Thread 0x7fe616ee20 (LWP 8410) exited]
[New Thread 0x7fe616ee20 (LWP 8411)]
[Thread 0x7fe616ee20 (LWP 8411) 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 8412)]
[New Thread 0x7fe589ee20 (LWP 8413)]
locale/notice: Setting language to: 'de_DE.utf8'
locale/notice: Current language is: 'English'
[New Thread 0x7fe508ee20 (LWP 8414)]
[New Thread 0x7fe487ee20 (LWP 8415)]
[New Thread 0x7fdfffee20 (LWP 8416)]
songs/notice: Done loading the cache. You now have 0 songs in your list.
[Thread 0x7fe487ee20 (LWP 8415) exited]
songs/notice: Starting to load all songs from disk, to update the cache.
songs/notice: Done Loading. Loaded 0 Songs.
songs/notice: Done Caching.
[Thread 0x7fdfffee20 (LWP 8416) exited]
[New Thread 0x7fdf743e20 (LWP 8417)]
[New Thread 0x7fde5cde20 (LWP 8418)]
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 0x0000007ff441b4a0 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 0x0000007ff4418a6c 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 0x0000007ff4418ad0 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 0x0000007ff4418db0 in __cxxabiv1::__cxa_throw
(obj=<optimized out>, tinfo=0x7ff45c5c98 <typeinfo for std::runtime_error>, dest=0x7ff4430a50 <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 0x00000055556bc7f0 in Window::Window (this=this@entry=0x555594aa90)
at /usr/lib/gcc/aarch64-unknown-linux-gnu/13/include/g++-v13/bits/new_allocator.h:104
#9 0x000000555560af08 in std::make_unique<Window> ()
at /usr/lib/gcc/aarch64-unknown-linux-gnu/13/include/g++-v13/bits/unique_ptr.h:1069
#10 mainLoop (songlist="") at /var/tmp/portage/games-arcade/performous-1.2.0/work/performous-1.2.0/game/main.cc:140
#11 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 |
|
|
sam_ Developer
Joined: 14 Aug 2020 Posts: 2043
|
|
Back to top |
|
|
Lebkoungcity Apprentice
Joined: 16 Nov 2008 Posts: 221 Location: near Lebkoungcity (='Gingerbreadcity' =Nuremberg)
|
Posted: Thu Oct 31, 2024 12:33 pm Post subject: |
|
|
sam_ wrote: | If you run it in the terminal, you should see "ERROR: ..." when it dies. What does it say? (I ask because I don't think this is captured in the log file, and when running under gdb, it catches it I think before it prints). |
The only line that was missing in performous' log says 'Aborted':
Code: | (...)
font/info: Loading font "/usr/share/performous/fonts/NewRocker-Regular.otf": ok
font/info: PangoCairo is using font map PangoCairoFcFontMap
video/info: Create window dimensions: 1366x768 on screen position: 536805376x536805376
Aborted
|
Out of curiosity I wanted to see what happens when I try to apply the changes in main.cc you mentioned. For this I did:
1. downloaded https://github.com/performous/performous/archive/refs/tags/1.2.0.tar.gz and unpacked it to performous-1.2.1 (Yes, I was naughty )
2. changed all the lines in performous-1.2.1/game/main.cc according to https://github.com/performous/performous/commit/e743d8c6954bbfce5e3d5e9bd68aaa3c39fde7fd
3. packed performous-1.2.1, chown portage:portage performous-1.2.1.tar.gz and put this in /var/cache/distfiles, copied /var/db/repos/gentoo/games-arcade/performous to /usr/local/portage/games-arcade/, changed performous-1.2.0.ebuild to performous-1.2.1.ebuild, did the same with files/performous-1.2.0-ffmpeg5.patch, ran ebuild performous-1.2.1.ebuild manifest, emerged games-arcade/performous-1.2.1 which went fine
4. ran performous-1.2.1
5. the result is exactly the same as with performous-1.2.0 (with only one exception: when it tries to create a window it fails at main.cc line 139 which is only logical because of the editing of main.cc)
sam_ wrote: | Maybe we should be trying to get the latest version working. |
I tried to get the latest version (1.3.1) working, as a starting point I took the existing ebuild for performous-1.2.1:
1. cp performous-1.2.1.ebuild performous-1.3.1.ebuild
2. cp files/performous-1.2.1-ffmpeg5.patch to files/performous-1.3.1-ffmpeg5.patch
2. chown portage:portage performous-1.3.1.ebuild
3. ebuild performous-1.3.1.ebuild manifest
4. tried to emerge performous-1.3.1
5. it failed, and I found that performous-1.3.1-ffmpeg5.patch is not needed anymore because its lines are already put in game/ffmpeg.cc, so I deleted files/performous-1.3.1-ffmpeg5.patch and deleted its line in the ebuild
6. tried to emerge it (after re-creating Manifest) and it failed
7. found that it looks for json, doesn't find it, wants to clone it from git and fails:
Code: | -- Json build from source because not found on system
-- Fetching and making available json-src...
[1/9] Creating directories for 'json-src-populate'
[1/9] Performing download step (git clone) for 'json-src-populate'
Cloning into 'json-src-src'...
fatal: unable to access 'https://github.com/performous/json.git/': Could not resolve host: github.com
Cloning into 'json-src-src'...
fatal: unable to access 'https://github.com/performous/json.git/': Could not resolve host: github.com
Cloning into 'json-src-src'...
fatal: unable to access 'https://github.com/performous/json.git/': Could not resolve host: github.com
Had to git clone more than once: 3 times.
CMake Error at /var/tmp/portage/games-arcade/performous-1.3.1/work/performous-1.3.1_build/_deps/json-src-subbuild/json-src-populate-prefix/tmp/json-src-populate-gitclone.cmake:50 (message):
Failed to clone repository: 'https://github.com/performous/json.git' |
8. found in cmake/Modules/FindJson.cmake that it wants nlohmann_json, looked for a way to satisfy this
9. found the ebuild dev-cpp/nlohmann_json, put that into the section RDEPEND= of performous-1.3.1.ebuild
10. tried to emerge it (after re-creating Manifest), now it emerged dev-cpp/nlohmann_json successfully first and then emerging performous failed again, this time it says it needs 'CED':
Code: |
-- GLM includes: /usr/include
-- Found Json 3.11.2
-- Json includes: /usr/include
-- Checking for module 'CED'
-- Package 'CED' not found
-- ced build from source because not found on system
-- Fetching and making available ced-src...
[1/9] Creating directories for 'ced-src-populate'
[1/9] Performing download step (git clone) for 'ced-src-populate'
Cloning into 'ced-src-src'...
fatal: unable to access 'https://github.com/performous/compact_enc_det.git/': Could not resolve host: github.com
Cloning into 'ced-src-src'...
fatal: unable to access 'https://github.com/performous/compact_enc_det.git/': Could not resolve host: github.com
Cloning into 'ced-src-src'...
fatal: unable to access 'https://github.com/performous/compact_enc_det.git/': Could not resolve host: github.com
Had to git clone more than once: 3 times.
CMake Error at /var/tmp/portage/games-arcade/performous-1.3.1/work/performous-1.3.1_build/_deps/ced-src-subbuild/ced-src-populate-prefix/tmp/ced-src-populate-gitclone.cmake:50 (message):
Failed to clone repository:
'https://github.com/performous/compact_enc_det.git'
|
11. I looked into cmake/Modules/FindCed.cmake and found no more information than that there is not only performous' git providing it but also https://github.com/google/compact_enc_det.git But I can't find an ebuild to satisfy this dependency and when I try to clone https://github.com/performous/compact_enc_det.git directly in the terminal (this is what /var/tmp/portage/games-arcade/performous-1.3.1/work/performous-1.3.1_build/_deps/ced-src-subbuild/ced-src-populate-prefix/tmp/ced-src-populate-gitclone.cmake tries to do) I only end up with an empty directory 'ced-src-src'
Now I try to figure out what to do when this cloning of https://github.com/performous/compact_enc_det.git fails.
For completeness here is performous-1.3.1.ebuild as it is right now:
Code: | # Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
# CED is only used in 1.2.0 and can be dropped on bump, no LICENSE
# changes needed given Apache-2.0 is also used by installed fonts
HASH_CED=9ca1351fe0b1e85992a407b0fc54a63e9b3adc6e
DESCRIPTION="SingStar GPL clone"
HOMEPAGE="https://performous.org/"
SRC_URI="
https://github.com/performous/performous/archive/refs/tags/${PV}.tar.gz
-> ${P}.tar.gz
https://github.com/performous/compact_enc_det/archive/${HASH_CED}.tar.gz
-> ${PN}-ced-${HASH_CED}.tar.gz
songs? (
https://downloads.sourceforge.net/performous/ultrastar-songs-jc-1.zip
https://downloads.sourceforge.net/performous/ultrastar-songs-libre-3.zip
https://downloads.sourceforge.net/performous/ultrastar-songs-restricted-3.zip
https://downloads.sourceforge.net/performous/ultrastar-songs-shearer-1.zip
)"
LICENSE="
GPL-2
Apache-2.0 OFL-1.1
songs? ( CC-BY-NC-SA-2.5 CC-BY-NC-ND-2.5 )"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="midi songs webcam"
RDEPEND="
dev-cpp/libxmlpp:5.0
dev-cpp/nlohmann_json
dev-libs/boost:=[nls]
dev-libs/glib:2
dev-libs/icu:=
gnome-base/librsvg:2
media-libs/aubio:=[fftw]
media-libs/fontconfig:1.0
media-libs/glm
media-libs/libepoxy
media-libs/libjpeg-turbo:=
media-libs/libpng:=
media-libs/libsdl2[joystick,opengl,video]
media-libs/portaudio
media-video/ffmpeg:=
virtual/libintl
x11-libs/cairo
x11-libs/pango
midi? ( media-libs/portmidi )
webcam? ( media-libs/opencv:= )"
DEPEND="${RDEPEND}"
BDEPEND="
sys-apps/help2man
sys-devel/gettext
songs? ( app-arch/unzip )"
PATCHES=(
)
src_prepare() {
cmake_src_prepare
if [[ -v LINGUAS ]]; then
local po
for po in lang/*.po; do
: "${po#*/}"
has "${_%.*}" ${LINGUAS} || rm "${po}" || die
done
fi
# glibmm is only needed if libxmlpp:2.6, but :5.0 is used if available
sed -i '/Glibmm/d' cmake/Modules/FindLibXML++.cmake || die
}
src_configure() {
local mycmakeargs=(
-DENABLE_MIDI=$(usex midi)
-DENABLE_WEBCAM=$(usex webcam)
-DFETCHCONTENT_SOURCE_DIR_CED-SOURCES="${WORKDIR}"/compact_enc_det-${HASH_CED}
-DSHARE_INSTALL="${EPREFIX}"/usr/share/${PN}
# webserver needs unpackaged cpprestsdk which is not recommended for
# use by its upstream (dead), may consider adding only if requested
-DENABLE_WEBSERVER=no
)
cmake_src_configure
}
src_install() {
local DOCS=( README.md docs/{Authors,instruments}.txt )
cmake_src_install
insinto /usr/share/${PN}
use songs && doins -r "${WORKDIR}"/songs
gzip -d "${ED}"/usr/share/man/man6/${PN}.6.gz || die
} |
_________________ "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: 2043
|
Posted: Fri Nov 01, 2024 8:13 am Post subject: |
|
|
I can't look into this more at least right now but I've filed https://bugs.gentoo.org/942642 for the version bump.
in terms of advice for the next steps: you can either package them properly in their own ebuilds (you will need to download a github-generated tarball of a tag or even a commit if upstream don't make regular releases), or you can download that generated tarball in the performous ebuild at first in SRC_URI and do a dance in src_unpack to move them around into where CMake expects them to be as an initial hack. |
|
Back to top |
|
|
Lebkoungcity Apprentice
Joined: 16 Nov 2008 Posts: 221 Location: near Lebkoungcity (='Gingerbreadcity' =Nuremberg)
|
Posted: Fri Nov 01, 2024 11:27 am Post subject: |
|
|
Thank you very much!
sam_ wrote: | in terms of advice for the next steps: you can either package them properly in their own ebuilds (you will need to download a github-generated tarball of a tag or even a commit if upstream don't make regular releases), or you can download that generated tarball in the performous ebuild at first in SRC_URI and do a dance in src_unpack to move them around into where CMake expects them to be as an initial hack. |
And thank you for this, too! I think this will certainly help me in getting the ebuild working.
Best,
Andy _________________ "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 |
|
|
|
|
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
|
|