Skip to content

Incorrect audio library detection and missing JACK linking #87

@Mes0903

Description

@Mes0903

TLDR: The build system has incorrect behavior when detecting audio development libraries, leading to incorrect build outcomes. Additionally, when PortAudio is built with JACK support, the final linking fails due to missing -ljack in LDFLAGS.


Here I got two different error when just clone and build the emulator via make check accross my three environment. The first one is that the audio library detection was incorrect. The environment below should not pass the alsa check:

mes@Mes:~/home/semu$ echo 'int main(){}' | gcc -x c - -lasound -o /dev/null 2>&1 && echo "ALSA: OK" || echo "ALSA: FAILED"
/usr/bin/ld: cannot find -lasound: No such file or directory
collect2: error: ld returned 1 exit status
ALSA: FAILED

But it pass, so it get the linker error:

mes@Mes:~/home/semu$ make check
<stdin>:1:11: fatal error: pulse/mainloop.h: No such file or directory
compilation terminated.
make -C mini-gdbstub/
make[1]: Entering directory '/home/mes/home/semu/mini-gdbstub'
cc -c -Iinclude -Wall -Wextra -MMD  -O3 ./lib/gdbstub.c -o build/gdbstub.o
cc -c -Iinclude -Wall -Wextra -MMD  -O3 ./lib/utils/csum.c -o build/csum.o
cc -c -Iinclude -Wall -Wextra -MMD  -O3 ./lib/utils/translate.c -o build/translate.o
cc -c -Iinclude -Wall -Wextra -MMD  -O3 ./lib/packet.c -o build/packet.o
cc -c -Iinclude -Wall -Wextra -MMD  -O3 ./lib/regbuf.c -o build/regbuf.o
cc -c -Iinclude -Wall -Wextra -MMD  -O3 ./lib/conn.c -o build/conn.o
ar -rcs build/libgdbstub.a build/gdbstub.o build/csum.o build/translate.o build/packet.o build/regbuf.o build/conn.o
make[1]: Leaving directory '/home/mes/home/semu/mini-gdbstub'
make -C minislirp/src/
make[1]: Entering directory '/home/mes/home/semu/minislirp/src'
gcc -o arp_table.o -c arp_table.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o bootp.o -c bootp.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o cksum.o -c cksum.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o dhcpv6.o -c dhcpv6.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o dnssearch.o -c dnssearch.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o if.o -c if.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o ip6_icmp.o -c ip6_icmp.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o ip6_input.o -c ip6_input.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o ip6_output.o -c ip6_output.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o ip_icmp.o -c ip_icmp.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o ip_input.o -c ip_input.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o ip_output.o -c ip_output.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o mbuf.o -c mbuf.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o misc.o -c misc.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o ncsi.o -c ncsi.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o ndp_table.o -c ndp_table.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o sbuf.o -c sbuf.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o slirp.o -c slirp.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o socket.o -c socket.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o state.o -c state.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o stream.o -c stream.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o tcp_input.o -c tcp_input.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o tcp_output.o -c tcp_output.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o tcp_subr.o -c tcp_subr.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o tcp_timer.o -c tcp_timer.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o tftp.o -c tftp.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o tinyglib.o -c tinyglib.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o udp6.o -c udp6.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o udp.o -c udp.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o util.o -c util.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o version.o -c version.c -DBUILDING_LIBSLIRP -O2 -fPIC 
gcc -o vmstate.o -c vmstate.c -DBUILDING_LIBSLIRP -O2 -fPIC 
ar rcs libslirp.a arp_table.o bootp.o cksum.o dhcpv6.o dnssearch.o if.o ip6_icmp.o ip6_input.o ip6_output.o ip_icmp.o ip_input.o ip_output.o mbuf.o misc.o ncsi.o ndp_table.o sbuf.o slirp.o socket.o state.o stream.o tcp_input.o tcp_output.o tcp_subr.o tcp_timer.o tftp.o tinyglib.o udp6.o udp.o util.o version.o vmstate.o
make[1]: Leaving directory '/home/mes/home/semu/minislirp/src'
  CC    riscv.o
  CC    ram.o
  CC    utils.o
  CC    plic.o
  CC    uart.o
  CC    main.o
  CC    aclint.o
  CC    virtio-blk.o
  CC    virtio-rng.o
  CC    virtio-net.o
  CC    netdev.o
  CC    slirp.o
  CC    virtio-snd.o
  LD    semu
/usr/bin/ld: cannot find -lasound: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:154: semu] Error 1

The problem here is that it wrongly pass the check, which should not pass. So the ENABLE_VIRTIOSND was set, then the flag lasound was added, thus caused an linker error.

The problem is that when the check-alsa and check-coreaudio failed, it didnt return 1, but return empty string. Also, the test is in main Makefile is via:

ifeq ($(UNAME_S),Linux)
    # Check ALSA installation
    ifeq (0, $(call check-alsa))
        $(warning No libasound installed. Check libasound in advance.)
        ENABLE_VIRTIOSND := 0
    endif
endif
ifeq ($(UNAME_S),Darwin)
    ifeq (0, $(call check-coreaudio))
        $(warning No CoreAudio installed Check AudioToolbox in advance.)
        ENABLE_VIRTIOSND := 0
    endif
endif

...

ifeq (0, $(call check-pa))
    LDFLAGS += -lpulse
endif

When the check-alsa failed, it return empty string, thus the check become ifeq (0, ), which wont get in the ifeq block, thus the ENABLE_VIRTIOSND wont set to 0, thus it pass the check.

I modified it as below then it works:

ifeq ($(UNAME_S),Linux)
    # Check ALSA installation
-	ifeq (0, $(call check-alsa))
+	ifeq (1, $(call check-alsa))
        $(warning No libasound installed. Check libasound in advance.)
        ENABLE_VIRTIOSND := 0
    endif
endif
ifeq ($(UNAME_S),Darwin)
-	ifeq (0, $(call check-coreaudio))
+	ifeq (1, $(call check-coreaudio))
        $(warning No CoreAudio installed Check AudioToolbox in advance.)
        ENABLE_VIRTIOSND := 0
    endif
endif

and for the check function:

# Check ALSA installation
define check-alsa
-$(shell $(call create-alsa-prog) | $(CC) -x c -lasound -o /dev/null > /dev/null 2> /dev/null - 
+$(shell $(call create-alsa-prog) | $(CC) -x c - -lasound -o /dev/null > /dev/null 2> /dev/null
-	&& echo $$?)
+	&& echo 0 || echo 1)
endef

# Check PulseAudio installation
define check-pa
-$(shell $(call create-pa-prog) | $(CC) -x c -lpulse -o /dev/null - && echo 0 || echo 1)
+$(shell $(call create-pa-prog) | $(CC) -x c - -lpulse -o /dev/null && echo 0 || echo 1)
endef

# Check CoreAudio installation
define check-coreaudio
-$(shell $(call create-ca-prog) | $(CC) -x c -framework AudioToolbox -o /dev/null > /dev/null 2> /dev/null - 
+$(shell $(call create-ca-prog) | $(CC) -x c - -framework AudioToolbox -o /dev/null > /dev/null 2> /dev/null
-	&& echo $$?)
+	&& echo 0 || echo 1)
endef

Then the warning of Makefile will show correctly:

mes@Mes:~/home/semu$ make check
<stdin>:1:11: fatal error: alsa/asoundlib.h: No such file or directory
compilation terminated.
Makefile:66: No libasound installed. Check libasound in advance.

BTW, here I encounter the library order issue with GCC13.3.0. If it put the library BEFORE the source, it would not pass the ALSA check, so I move it after the source like:

-gcc -x c -lasound -o /dev/null - 
+gcc -x c - -lasound -o /dev/null

the - is in front of the source here.

Im not very familar with Makefile semantic, maybe there is an better soultion. Also, the implementation of the three check function is not unified, check-pa didnt do the > /dev/null 2> /dev/null, also the logic of return is different too.


The second one is cause by the JACK linking error. This environment is with libjack-jackd2-dev installed:

mes@mes:~/semu$ dpkg -l | grep jack
ii  libjack-jackd2-0:amd64                           1.9.21~dfsg-3ubuntu3                      amd64        JACK Audio Connection Kit (libraries)
ii  libjack-jackd2-dev:amd64                         1.9.21~dfsg-3ubuntu3                      amd64        JACK Audio Connection Kit (development files)

and when I build the project via make check, I got the following error:

configure: creating ./config.status
config.status: creating Makefile
config.status: creating portaudio-2.0.pc
config.status: executing libtool commands

Configuration summary:

  Target ...................... x86_64-unknown-linux-gnu
  C++ bindings ................ no
  Debug output ................ no

  ALSA ........................ yes
  ASIHPI ...................... no

  AudioIO ..................... no
  OSS ......................... yes
  JACK ........................ yes
  PulseAudio .................. yes
  Sndio ....................... no

make -C portaudio/
make[1]: Entering directory '/home/mes/semu/portaudio'
if test -n "" ; then for dir in ""; do make -C $dir all; done ; fi
make[1]: Leaving directory '/home/mes/semu/portaudio'
  CC    main.o
  CC    aclint.o
  CC    virtio-blk.o
  CC    virtio-rng.o
  CC    virtio-net.o
  CC    netdev.o
  CC    slirp.o
  CC    virtio-snd.o
  LD    semu
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `IsFormatSupported':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:977:(.text+0x10a): undefined reference to `jack_get_sample_rate'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:977:(.text+0x135): undefined reference to `jack_get_sample_rate'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:977:(.text+0x161): undefined reference to `jack_get_sample_rate'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `GetStreamTime':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1835:(.text+0x1c4): undefined reference to `jack_frame_time'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1835:(.text+0x1e5): undefined reference to `jack_get_sample_rate'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `UpdateQueue':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1524:(.text+0x257): undefined reference to `jack_get_sample_rate'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `RealProcess':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1446:(.text+0x416): undefined reference to `jack_get_sample_rate'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1462:(.text+0x44e): undefined reference to `jack_frame_time'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1489:(.text+0x596): undefined reference to `jack_port_get_buffer'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1500:(.text+0x5d6): undefined reference to `jack_port_get_buffer'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `JackCallback':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1659:(.text+0x6b2): undefined reference to `jack_port_get_buffer'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `StartStream':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1706:(.text+0xd78): undefined reference to `jack_port_name'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1706:(.text+0xd8b): undefined reference to `jack_port_name'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1706:(.text+0xd9d): undefined reference to `jack_connect'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1716:(.text+0xe08): undefined reference to `jack_port_name'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1716:(.text+0xe1b): undefined reference to `jack_port_name'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1716:(.text+0xe2d): undefined reference to `jack_connect'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `CleanUpStream':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1042:(.text+0x1058): undefined reference to `jack_port_unregister'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1047:(.text+0x1098): undefined reference to `jack_port_unregister'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `Terminate':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:879:(.text+0x15c0): undefined reference to `jack_deactivate'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:884:(.text+0x15f8): undefined reference to `jack_client_close'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `RealStop':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1785:(.text+0x187c): undefined reference to `jack_port_connected'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1787:(.text+0x1897): undefined reference to `jack_port_disconnect'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1793:(.text+0x1978): undefined reference to `jack_port_connected'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1795:(.text+0x1993): undefined reference to `jack_port_disconnect'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `OpenStream':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1146:(.text+0x1b79): undefined reference to `jack_port_name_size'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1149:(.text+0x1b90): undefined reference to `jack_client_name_size'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1156:(.text+0x1bc4): undefined reference to `jack_get_sample_rate'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1250:(.text+0x1eec): undefined reference to `jack_get_sample_rate'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1283:(.text+0x20b4): undefined reference to `jack_port_name_size'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1284:(.text+0x20f9): undefined reference to `jack_port_register'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1293:(.text+0x21a7): undefined reference to `jack_port_name_size'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1294:(.text+0x21ed): undefined reference to `jack_port_register'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1340:(.text+0x22b6): undefined reference to `jack_get_ports'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1344:(.text+0x22e2): undefined reference to `jack_port_by_name'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1385:(.text+0x23c2): undefined reference to `jack_frame_time'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1313:(.text+0x24d3): undefined reference to `jack_get_ports'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1317:(.text+0x2502): undefined reference to `jack_port_by_name'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `PaJack_Initialize':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:792:(.text+0x2b32): undefined reference to `jack_client_open'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `BuildDeviceList':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:519:(.text+0x2b6b): undefined reference to `jack_client_name_size'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:539:(.text+0x2bdf): undefined reference to `jack_client_name_size'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:546:(.text+0x2c0d): undefined reference to `jack_get_ports'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:565:(.text+0x2ccf): undefined reference to `jack_client_name_size'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:606:(.text+0x2d83): undefined reference to `jack_get_sample_rate'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:639:(.text+0x2ebd): undefined reference to `jack_get_ports'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:660:(.text+0x2ef9): undefined reference to `jack_get_ports'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `PaJack_Initialize':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:859:(.text+0x2ffc): undefined reference to `jack_client_close'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `BuildDeviceList':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:646:(.text+0x30e5): undefined reference to `jack_port_by_name'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:667:(.text+0x3163): undefined reference to `jack_port_by_name'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `PaJack_Initialize':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:840:(.text+0x3398): undefined reference to `jack_on_shutdown'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:841:(.text+0x33a4): undefined reference to `jack_set_error_function'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:842:(.text+0x33b0): undefined reference to `jack_get_buffer_size'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:844:(.text+0x33cd): undefined reference to `jack_set_sample_rate_callback'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:845:(.text+0x33e3): undefined reference to `jack_set_xrun_callback'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:846:(.text+0x3449): undefined reference to `jack_set_process_callback'
/usr/bin/ld: /home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:847:(.text+0x3477): undefined reference to `jack_activate'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `PaJack_SetClientName':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1847:(.text+0x3676): undefined reference to `jack_client_name_size'
/usr/bin/ld: portaudio/lib/.libs/libportaudio.a(pa_jack.o): in function `PaJack_GetClientName':
/home/mes/semu/portaudio/src/hostapi/jack/pa_jack.c:1862:(.text+0x36e4): undefined reference to `jack_get_client_name'
collect2: error: ld returned 1 exit status
make: *** [Makefile:154: semu] Error 1

The root cause it that when PortAudio detects JACK development libraries during configuration, it compiles with JACK support, but the main Makefile doesnt include -ljack in LDFLAGS.

After I add the flag in the virtio-snd section, the project can be compiled correctly now:

- LDFLAGS += -lasound -lrt
+ LDFLAGS += -lasound -lrt -ljack

but then the problem become that if the libjack-jackd2-dev was not installed, it will get the error:

/usr/bin/ld: cannot find -ljack: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:154: semu] Error 1

I havent come out a good solution for this.

BTW, the booting process show an error log after I suceffully run the emulator:

ake[1]: Leaving directory '/home/mes/semu/minislirp/src'
  CC    riscv.o
  CC    ram.o
  CC    utils.o
  CC    plic.o
  CC    uart.o
  CC    main.o
  CC    aclint.o
  CC    virtio-blk.o
  CC    virtio-rng.o
  CC    virtio-net.o
  CC    netdev.o
  CC    slirp.o
  CC    virtio-snd.o
  LD    semu
 DTC    minimal.dtb
Ready to launch Linux kernel. Please be patient.
failed to allocate TAP device: Operation not permitted
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM sysdefault
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM sysdefault
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_id returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM dmix
[    0.000000] Linux version 6.12.33 (jserv@node1) (riscv32-buildroot-linux-gnu-gcc.br_real (Buildroot 2024.11.1-dirty) 14.2.0, GNU ld (GNU Binutils) 2.42) #1 SMP Wed Jun 11 13:33:41 CST 2025
[    0.000000] Machine model: semu

...

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions