[Pkg-alsa-devel] Trying to test libhydrogen for ALSA incompatibility, need help :)

David B Harris pkg-alsa-devel@lists.alioth.debian.org
Sat, 24 Jan 2004 05:02:05 -0500


--G4iJoqBmSsgzjUCe
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hey there. The Debian ALSA team (of which I'm a part) is going to be
uploading a new version of libasound2 to unstable soon, and it includes
a source incompatibility with previous versions.

The short of it is that an API change was introduced a while ago, but
compatibility code was in place and the default was to use the old API.
However, with the most recent release, that's changed; now you need to
add the following defines before you include <asound.h> or
<alsa/asoundlib.h> (or any header with prototypes the functions in
question):

#define ALSA_PCM_OLD_HW_PARAMS_API
#define ALSA_PCM_OLD_SW_PARAMS_API

We're filing pre-emptive bugs on packages which are fixed by adding
those defines, but I wasn't able to really figure out why yours failed
to build. I had hoped you could lend a hand - attached is a log of the
build failure.

Thanks in advance for any help.

--G4iJoqBmSsgzjUCe
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=libhydrogen-maybe-failed

Reading Package Lists...
Building Dependency Tree...
Note, selecting libjack0.80.0-dev instead of libjack-dev
The following NEW packages will be installed:
  alsa-headers debconf-utils debhelper file gettext html2text intltool-debian
  libasound2 libasound2-dev libaudiofile-dev libaudiofile0 libglib1.2
  libglib1.2-dev libglib2.0-0 libjack0.80.0-0 libjack0.80.0-dev libmagic1
  libraw1394-5 pkg-config po-debconf
Preconfiguring packages ...
0 upgraded, 20 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/3966kB of archives.
After unpacking 13.3MB of additional disk space will be used.
Selecting previously deselected package libmagic1.
(Reading database ... 10876 files and directories currently installed.)
Unpacking libmagic1 (from .../libmagic1_4.07-1_i386.deb) ...
Selecting previously deselected package file.
Unpacking file (from .../archives/file_4.07-1_i386.deb) ...
Selecting previously deselected package alsa-headers.
Unpacking alsa-headers (from .../alsa-headers_0.9.8-3_all.deb) ...
Selecting previously deselected package debconf-utils.
Unpacking debconf-utils (from .../debconf-utils_1.4.7_all.deb) ...
Selecting previously deselected package html2text.
Unpacking html2text (from .../html2text_1.3.1-2_i386.deb) ...
Selecting previously deselected package gettext.
Unpacking gettext (from .../gettext_0.13.1-2_i386.deb) ...
Selecting previously deselected package intltool-debian.
Unpacking intltool-debian (from .../intltool-debian_0.27.2+20031023_all.deb) ...
Selecting previously deselected package po-debconf.
Unpacking po-debconf (from .../po-debconf_0.8.7_all.deb) ...
Selecting previously deselected package debhelper.
Unpacking debhelper (from .../debhelper_4.1.87_all.deb) ...
Selecting previously deselected package libasound2.
Unpacking libasound2 (from .../libasound2_1.0.1-1_i386.deb) ...
Selecting previously deselected package libasound2-dev.
Unpacking libasound2-dev (from .../libasound2-dev_1.0.1-1_i386.deb) ...
Selecting previously deselected package libaudiofile0.
Unpacking libaudiofile0 (from .../libaudiofile0_0.2.3-4_i386.deb) ...
Selecting previously deselected package libaudiofile-dev.
Unpacking libaudiofile-dev (from .../libaudiofile-dev_0.2.3-4_i386.deb) ...
Selecting previously deselected package libglib1.2.
Unpacking libglib1.2 (from .../libglib1.2_1.2.10-9_i386.deb) ...
Selecting previously deselected package libglib2.0-0.
Unpacking libglib2.0-0 (from .../libglib2.0-0_2.2.3-1_i386.deb) ...
Selecting previously deselected package pkg-config.
Unpacking pkg-config (from .../pkg-config_0.15.0-3_i386.deb) ...
Selecting previously deselected package libglib1.2-dev.
Unpacking libglib1.2-dev (from .../libglib1.2-dev_1.2.10-9_i386.deb) ...
Selecting previously deselected package libraw1394-5.
Unpacking libraw1394-5 (from .../libraw1394-5_0.10.1-1_i386.deb) ...
Selecting previously deselected package libjack0.80.0-0.
Unpacking libjack0.80.0-0 (from .../libjack0.80.0-0_0.94.0-1_i386.deb) ...
Selecting previously deselected package libjack0.80.0-dev.
Unpacking libjack0.80.0-dev (from .../libjack0.80.0-dev_0.94.0-1_i386.deb) ...
Setting up libmagic1 (4.07-1) ...

Setting up file (4.07-1) ...
Setting up alsa-headers (0.9.8-3) ...
Setting up debconf-utils (1.4.7) ...

Setting up html2text (1.3.1-2) ...

Setting up gettext (0.13.1-2) ...

Setting up intltool-debian (0.27.2+20031023) ...
Setting up po-debconf (0.8.7) ...
Setting up debhelper (4.1.87) ...
Setting up libasound2 (1.0.1-1) ...

Setting up libasound2-dev (1.0.1-1) ...
Setting up libaudiofile0 (0.2.3-4) ...

Setting up libaudiofile-dev (0.2.3-4) ...

Setting up libglib1.2 (1.2.10-9) ...

Setting up libglib2.0-0 (2.2.3-1) ...

Setting up pkg-config (0.15.0-3) ...
Setting up libglib1.2-dev (1.2.10-9) ...
Setting up libraw1394-5 (0.10.1-1) ...
Creating device node /dev/raw1394... ./MAKEDEV: line 1: major_device-mapper=254: command not found
done.

Setting up libjack0.80.0-0 (0.94.0-1) ...

Setting up libjack0.80.0-dev (0.94.0-1) ...

Reading Package Lists...
Building Dependency Tree...
Need to get 1000kB of source archives.
Get:1 http://http.us.debian.org sid/main libhydrogen 0.8.0-4 (dsc) [659B]
Get:2 http://http.us.debian.org sid/main libhydrogen 0.8.0-4 (tar) [768kB]
Get:3 http://http.us.debian.org sid/main libhydrogen 0.8.0-4 (diff) [232kB]
dpkg-source: extracting libhydrogen in libhydrogen-0.8.0
Fetched 1000kB in 23s (42.5kB/s)
dh_testdir
# Add here commands to configure the package.
./configure --host=i386-linux --build=i386-linux --prefix=/usr --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info


-----------------------------------------------------------------
Starting libHydrogen 0.8.0 configuration...
-----------------------------------------------------------------


checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for i386-linux-g++... i386-linux-g++
checking for C++ compiler default output... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether i386-linux-g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of i386-linux-g++... gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking build system type... i386-pc-linux-gnu
checking host system type... i386-pc-linux-gnu
checking for i386-linux-gcc... i386-linux-gcc
checking whether we are using the GNU C compiler... yes
checking whether i386-linux-gcc accepts -g... yes
checking for i386-linux-gcc option to accept ANSI C... none needed
checking dependency style of i386-linux-gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for egrep... grep -E
checking for ld used by i386-linux-gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... nm
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking how to run the C preprocessor... i386-linux-gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking how to run the C++ preprocessor... i386-linux-g++ -E
checking for i386-linux-g77... no
checking for i386-linux-f77... no
checking for i386-linux-xlf... no
checking for i386-linux-frt... no
checking for i386-linux-pgf77... no
checking for i386-linux-fl32... no
checking for i386-linux-af77... no
checking for i386-linux-fort77... no
checking for i386-linux-f90... no
checking for i386-linux-xlf90... no
checking for i386-linux-pgf90... no
checking for i386-linux-epcf90... no
checking for i386-linux-f95... no
checking for i386-linux-fort... no
checking for i386-linux-xlf95... no
checking for i386-linux-lf95... no
checking for i386-linux-g95... no
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fl32... no
checking for af77... no
checking for fort77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... no
checking for fort... no
checking for xlf95... no
checking for lf95... no
checking for g95... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether  accepts -g... no
checking the maximum length of command line arguments... 32768
checking command to parse nm output from i386-linux-gcc object... ok
checking for objdir... .libs
checking for i386-linux-ar... no
checking for ar... ar
checking for i386-linux-ranlib... no
checking for ranlib... ranlib
checking for i386-linux-strip... no
checking for strip... strip
checking if i386-linux-gcc static flag  works... yes
checking if i386-linux-gcc supports -fno-rtti -fno-exceptions... no
checking for i386-linux-gcc option to produce PIC... -fPIC
checking if i386-linux-gcc PIC flag -fPIC works... yes
checking if i386-linux-gcc supports -c -o file.o... yes
checking whether the i386-linux-gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by i386-linux-g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the i386-linux-g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for i386-linux-g++ option to produce PIC... -fPIC
checking if i386-linux-g++ PIC flag -fPIC works... yes
checking if i386-linux-g++ supports -c -o file.o... yes
checking whether the i386-linux-g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
appending configuration tag "F77" to libtool
checking for pthread_create in -lpthread... yes
checking for audiofile-config... /usr/bin/audiofile-config
checking for Audio File Library - version >= 0.2.3... yes
checking alsa/asoundlib.h usability... yes
checking alsa/asoundlib.h presence... yes
checking for alsa/asoundlib.h... yes
checking for snd_seq_open in -lasound... yes
checking for pkg-config... /usr/bin/pkg-config
checking for jack >= 0.50.0... yes
checking JACK_CFLAGS...  
checking JACK_LIBS... -ljack -lpthread -ldl -lrt  
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libhydrogen.lsm
config.status: creating libhydrogen.spec
config.status: creating src/Makefile
config.status: creating data/Makefile
config.status: creating data/demo_songs/Makefile
config.status: creating data/drumkits/Makefile
config.status: creating data/drumkits/GMkit/Makefile
config.status: creating config.h
config.status: executing depfiles commands


-----------------------------------------------------------------
 libhydrogen 0.8.0 configuration:
-----------------------------------------------------------------

	Source code location:	.
	Compiler:		i386-linux-gcc
	Prefix			/usr
	Data dir		/usr/share/hydrogen/data

	Use ALSA Sequencer:	yes
	Debug messages:		no
	Jack support:		yes
	OSS support:		yes

-----------------------------------------------------------------
Now type make to build libhydrogen.
-----------------------------------------------------------------

If you're not a member of hydrogen-dev mailing list yet, please join.
Please see http://hydrogen.sourceforge.net for details.


dh_testdir
# Add here commands to compile the package.
/usr/bin/make
make[1]: Entering directory `/home/dbharris/build/libhydrogen-0.8.0'
cd . && \
  /bin/sh /home/dbharris/build/libhydrogen-0.8.0/missing --run automake-1.6 --gnu  Makefile
/home/dbharris/build/libhydrogen-0.8.0/missing: line 46: automake-1.6: command not found
WARNING: `automake-1.6' is missing on your system.  You should only need it if
         you modified `Makefile.am', `acinclude.m4' or `configure.ac'.
         You might want to install the `Automake' and `Perl' packages.
         Grab them from any GNU archive site.
cd . && /bin/sh ./config.status Makefile 
config.status: creating Makefile
make[1]: Leaving directory `/home/dbharris/build/libhydrogen-0.8.0'
make[1]: Entering directory `/home/dbharris/build/libhydrogen-0.8.0'
cd . && /bin/sh /home/dbharris/build/libhydrogen-0.8.0/missing --run autoheader
/home/dbharris/build/libhydrogen-0.8.0/missing: line 46: autoheader: command not found
WARNING: `autoheader' is missing on your system.  You should only need it if
         you modified `acconfig.h' or `configure.ac'.  You might want
         to install the `Autoconf' and `GNU m4' packages.  Grab them
         from any GNU archive site.
touch ./config.h.in
cd . && /bin/sh ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
/usr/bin/make  all-recursive
make[2]: Entering directory `/home/dbharris/build/libhydrogen-0.8.0'
Making all in src
make[3]: Entering directory `/home/dbharris/build/libhydrogen-0.8.0/src'
cd .. && /bin/sh ./config.status src/Makefile depfiles
config.status: creating src/Makefile
config.status: executing depfiles commands
make[3]: Leaving directory `/home/dbharris/build/libhydrogen-0.8.0/src'
make[3]: Entering directory `/home/dbharris/build/libhydrogen-0.8.0/src'
source='JackDriver.cpp' object='JackDriver.lo' libtool=yes \
depfile='.deps/JackDriver.Plo' tmpdepfile='.deps/JackDriver.TPlo' \
depmode=gcc3 /bin/sh ../depcomp \
/bin/sh ../libtool --mode=compile i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I..     -O2 -c -o JackDriver.lo `test -f 'JackDriver.cpp' || echo './'`JackDriver.cpp
mkdir .libs
 i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -O2 -c JackDriver.cpp -MT JackDriver.lo -MD -MP -MF .deps/JackDriver.TPlo  -fPIC -DPIC -o .libs/JackDriver.o
 i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -O2 -c JackDriver.cpp -MT JackDriver.lo -MD -MP -MF .deps/JackDriver.TPlo -o JackDriver.o >/dev/null 2>&1
source='OssDriver.cpp' object='OssDriver.lo' libtool=yes \
depfile='.deps/OssDriver.Plo' tmpdepfile='.deps/OssDriver.TPlo' \
depmode=gcc3 /bin/sh ../depcomp \
/bin/sh ../libtool --mode=compile i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I..     -O2 -c -o OssDriver.lo `test -f 'OssDriver.cpp' || echo './'`OssDriver.cpp
 i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -O2 -c OssDriver.cpp -MT OssDriver.lo -MD -MP -MF .deps/OssDriver.TPlo  -fPIC -DPIC -o .libs/OssDriver.o
 i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -O2 -c OssDriver.cpp -MT OssDriver.lo -MD -MP -MF .deps/OssDriver.TPlo -o OssDriver.o >/dev/null 2>&1
source='NullDriver.cpp' object='NullDriver.lo' libtool=yes \
depfile='.deps/NullDriver.Plo' tmpdepfile='.deps/NullDriver.TPlo' \
depmode=gcc3 /bin/sh ../depcomp \
/bin/sh ../libtool --mode=compile i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I..     -O2 -c -o NullDriver.lo `test -f 'NullDriver.cpp' || echo './'`NullDriver.cpp
 i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -O2 -c NullDriver.cpp -MT NullDriver.lo -MD -MP -MF .deps/NullDriver.TPlo  -fPIC -DPIC -o .libs/NullDriver.o
 i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -O2 -c NullDriver.cpp -MT NullDriver.lo -MD -MP -MF .deps/NullDriver.TPlo -o NullDriver.o >/dev/null 2>&1
source='AlsaMidiDriver.cpp' object='AlsaMidiDriver.lo' libtool=yes \
depfile='.deps/AlsaMidiDriver.Plo' tmpdepfile='.deps/AlsaMidiDriver.TPlo' \
depmode=gcc3 /bin/sh ../depcomp \
/bin/sh ../libtool --mode=compile i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I..     -O2 -c -o AlsaMidiDriver.lo `test -f 'AlsaMidiDriver.cpp' || echo './'`AlsaMidiDriver.cpp
 i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -O2 -c AlsaMidiDriver.cpp -MT AlsaMidiDriver.lo -MD -MP -MF .deps/AlsaMidiDriver.TPlo  -fPIC -DPIC -o .libs/AlsaMidiDriver.o
 i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -O2 -c AlsaMidiDriver.cpp -MT AlsaMidiDriver.lo -MD -MP -MF .deps/AlsaMidiDriver.TPlo -o AlsaMidiDriver.o >/dev/null 2>&1
source='DiskWriterDriver.cpp' object='DiskWriterDriver.lo' libtool=yes \
depfile='.deps/DiskWriterDriver.Plo' tmpdepfile='.deps/DiskWriterDriver.TPlo' \
depmode=gcc3 /bin/sh ../depcomp \
/bin/sh ../libtool --mode=compile i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I..     -O2 -c -o DiskWriterDriver.lo `test -f 'DiskWriterDriver.cpp' || echo './'`DiskWriterDriver.cpp
 i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -O2 -c DiskWriterDriver.cpp -MT DiskWriterDriver.lo -MD -MP -MF .deps/DiskWriterDriver.TPlo  -fPIC -DPIC -o .libs/DiskWriterDriver.o
 i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -O2 -c DiskWriterDriver.cpp -MT DiskWriterDriver.lo -MD -MP -MF .deps/DiskWriterDriver.TPlo -o DiskWriterDriver.o >/dev/null 2>&1
source='Hydrogen.cpp' object='Hydrogen.lo' libtool=yes \
depfile='.deps/Hydrogen.Plo' tmpdepfile='.deps/Hydrogen.TPlo' \
depmode=gcc3 /bin/sh ../depcomp \
/bin/sh ../libtool --mode=compile i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I..     -O2 -c -o Hydrogen.lo `test -f 'Hydrogen.cpp' || echo './'`Hydrogen.cpp
 i386-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -O2 -c Hydrogen.cpp -MT Hydrogen.lo -MD -MP -MF .deps/Hydrogen.TPlo  -fPIC -DPIC -o .libs/Hydrogen.o
Hydrogen.cpp: In function `void audioEngine_startAudioDrivers()':
Hydrogen.cpp:1393: error: invalid conversion from `int (*)(long unsigned int, 
   void*)' to `int (*)(unsigned int, void*)'
Hydrogen.cpp:1393: error:   initializing argument 1 of `
   JackDriver::JackDriver(int (*)(unsigned int, void*))'
make[3]: *** [Hydrogen.lo] Error 1
make[3]: Leaving directory `/home/dbharris/build/libhydrogen-0.8.0/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/dbharris/build/libhydrogen-0.8.0'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/dbharris/build/libhydrogen-0.8.0'
make: *** [build-stamp] Error 2

--G4iJoqBmSsgzjUCe--