[Pkg-squeak-devel] Bug#696606: squeak-vm: FTBFS on kfreebsd-*: tries to use ALSA

Steven Chamberlain steven at pyro.eu.org
Sun Dec 23 20:47:23 UTC 2012


Package: src:squeak-vm
Version: 4.4.7.2357-1.1
Severity: wishlist
Control: tags -1 patch
User: debian-bsd at lists.debian.org
Usertags: kfreebsd
X-Debbugs-Cc: debian-bsd at lists.debian.org

Hi,

squeak-vm has support for ALSA, and for the OSS emulation provided by
ALSA on Linux (see unix/doc/README.Sound).  On kfreebsd-* (and probably
hurd-*) we do not have these.

The fact that libasound2-dev is available is taken to mean that ALSA
support should be compiled, but there is no way it could work.  And the
build fails with:

https://buildd.debian.org/status/fetch.php?pkg=squeak-vm&arch=kfreebsd-amd64&ver=1%3A4.4.7.2357-1.1&stamp=1330913958
> [100%] Building C object vm-sound-ALSA/CMakeFiles/vm-sound-ALSA.dir/build/buildd-squeak-vm_4.4.7.2357-1.1-kfreebsd-amd64-462hq_/squeak-vm-4.4.7.2357/unix/vm-sound-ALSA/sqUnixSoundALSA.c.o
> /build/buildd-squeak-vm_4.4.7.2357-1.1-kfreebsd-amd64-462hq_/squeak-vm-4.4.7.2357/unix/vm-sound-ALSA/sqUnixSoundALSA.c: In function 'sound_Start':
> /build/buildd-squeak-vm_4.4.7.2357-1.1-kfreebsd-amd64-462hq_/squeak-vm-4.4.7.2357/unix/vm-sound-ALSA/sqUnixSoundALSA.c:111:3: warning: the address of 'hwparams' will always evaluate as 'true' [-Waddress]
> /build/buildd-squeak-vm_4.4.7.2357-1.1-kfreebsd-amd64-462hq_/squeak-vm-4.4.7.2357/unix/vm-sound-ALSA/sqUnixSoundALSA.c:122:3: warning: the address of 'swparams' will always evaluate as 'true' [-Waddress]
> /build/buildd-squeak-vm_4.4.7.2357-1.1-kfreebsd-amd64-462hq_/squeak-vm-4.4.7.2357/unix/vm-sound-ALSA/sqUnixSoundALSA.c: In function 'sound_StartRecording':
> /build/buildd-squeak-vm_4.4.7.2357-1.1-kfreebsd-amd64-462hq_/squeak-vm-4.4.7.2357/unix/vm-sound-ALSA/sqUnixSoundALSA.c:273:3: warning: the address of 'hwparams' will always evaluate as 'true' [-Waddress]
> /build/buildd-squeak-vm_4.4.7.2357-1.1-kfreebsd-amd64-462hq_/squeak-vm-4.4.7.2357/unix/vm-sound-ALSA/sqUnixSoundALSA.c:284:3: warning: the address of 'swparams' will always evaluate as 'true' [-Waddress]
> /build/buildd-squeak-vm_4.4.7.2357-1.1-kfreebsd-amd64-462hq_/squeak-vm-4.4.7.2357/unix/vm-sound-ALSA/sqUnixSoundALSA.c: In function 'mixer_open':
> /build/buildd-squeak-vm_4.4.7.2357-1.1-kfreebsd-amd64-462hq_/squeak-vm-4.4.7.2357/unix/vm-sound-ALSA/sqUnixSoundALSA.c:340:17: error: 'struct snd_mixer_selem_regopt' has no member named 'device'
> /build/buildd-squeak-vm_4.4.7.2357-1.1-kfreebsd-amd64-462hq_/squeak-vm-4.4.7.2357/unix/vm-sound-ALSA/sqUnixSoundALSA.c:341:3: warning: the address of 'sid' will always evaluate as 'true' [-Waddress]
> /build/buildd-squeak-vm_4.4.7.2357-1.1-kfreebsd-amd64-462hq_/squeak-vm-4.4.7.2357/unix/vm-sound-ALSA/sqUnixSoundALSA.c:334:34: warning: variable 'smixer_options' set but not used [-Wunused-but-set-variable]

My attached patch avoids this problem by marking the libasound2-dev
build dependency as linux-any, which seems to be true.  A test build on
kfreebsd-amd64 was successful without it:  it results in both ALSA and
OSS being disabled, but Pulse audio output is still enabled.  I'm not
able to test yet if audio playback via Pulse is really working.

The build might still fail if someone had the libasound2-dev package
installed, therefore I've added it to Build-Conflicts on non-Linux.

This may not be the best solution - maybe it could do a better detection
of whether ALSA can/should be used.

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: kfreebsd-amd64 (x86_64)

Kernel: kFreeBSD 9.0-2-amd64
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash


More information about the Pkg-squeak-devel mailing list