Bug 46630 - Make Failed: padsp.c for function dsp_ioctl
Summary: Make Failed: padsp.c for function dsp_ioctl
Status: RESOLVED FIXED
Alias: None
Product: PulseAudio
Classification: Unclassified
Component: build-system (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: pulseaudio-bugs
QA Contact: pulseaudio-bugs
URL:
Whiteboard: triaged
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-25 17:20 UTC by johndoe32102002
Modified: 2012-03-24 09:14 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Disable OSS Wrapper if SOUND_PCM_* defines do not exist. (1.94 KB, patch)
2012-03-13 16:17 UTC, Colin Guthrie
Details | Splinter Review

Description johndoe32102002 2012-02-25 17:20:53 UTC
After running ./configure with no errors, the make failed:
...
utils/padsp.c: In function 'dsp_ioctl':
utils/padsp.c:2266:14: error: 'SOUND_PCM_READ_RATE_is_obsolete' undeclared (first use in this function)
utils/padsp.c:2266:14: note: each undeclared identifier is reported only once for each function it appears in
utils/padsp.c:2274:14: error: 'SOUND_PCM_READ_CHANNELS_is_obsolete' undeclared (first use in this function)
utils/padsp.c:2282:14: error: 'SOUND_PCM_READ_BITS_is_obsolete' undeclared (first use in this function)
make[4]: *** [libpulsedsp_la-padsp.lo] Error 1
...

Here is my configuration for ./configure:

---{ pulseaudio 0.9.23 }---

    prefix:                        /usr/local
    sysconfdir:                    ${prefix}/etc
    localstatedir:                 ${prefix}/var
    System Runtime Path:           ${prefix}/var/run/pulse
    System State Path:             ${prefix}/var/lib/pulse
    System Config Path:            ${prefix}/var/lib/pulse
    Compiler:                      gcc -std=gnu99
    CFLAGS:                        -g -O2 -Wall -W -Wextra -pipe -Wno-long-long -Winline -Wvla -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wold-style-definition -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing=2 -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option

    Have X11:                      no
    Enable OSS Output:             yes
    Enable OSS Wrapper:            yes
    Enable Alsa:                   yes
    Enable Solaris:                no
    Enable GLib 2.0:               yes
    Enable Gtk+ 2.0:               yes
    Enable GConf:                  yes
    Enable Avahi:                  no
    Enable Jack:                   yes
    Enable Async DNS:              no
    Enable LIRC:                   no
    Enable DBUS:                   yes
      Enable HAL:                  yes
      Enable BlueZ:                no
    Enable udev:                   yes
      Enable HAL->udev compat:     no
    Enable TCP Wrappers:           no
    Enable libsamplerate:          yes
    Enable IPv6:                   yes
    Enable OpenSSL (for Airtunes): yes
    Enable tdb:                    yes
    Enable gdbm:                   no
    Enable simple database:        no

    System User:                   pulse
    System Group:                  pulse
    Access Group:                  pulse-access
    Enable per-user EsounD socket: yes
    Force preopen:                 no
    Preopened modules:             all
Comment 1 Tanu Kaskinen 2012-03-12 00:34:47 UTC
The "is_obsolete" suffix sounds like those symbols have been removed from newer OSS versions. This should be fixed in Pulseaudio, but as a temporary workaround you can pass --disable-oss-wrapper to ./configure if you don't need padsp. I guess it's pretty likely that you'll get similar errors also with the OSS modules. In that case use also --disable-oss-output.
Comment 2 Colin Guthrie 2012-03-13 16:17:50 UTC
Created attachment 58404 [details] [review]
Disable OSS Wrapper if SOUND_PCM_* defines do not exist.

What headers are you using here? Are you compiling against OSSv4 or similar?

For me I have:
/usr/include/linux/soundcard.h:#define SOUND_PCM_READ_RATE		_SIOR ('P', 2, int)

(this is included from /usr/include/sys/soundcard.h which I would think OSSv4 would override).

Anyway, I guess a compile test should be added to make sure that these defines are usable. The attached patch does this, but as Tanu said you may have other OSS problems in the compile.

I'll only include this patch upstream if the rest of your OSS stuff builds. Can you confirm?
Comment 3 johndoe32102002 2012-03-24 07:08:55 UTC
I am not too familiar with diff and patch, but I ran these commands:
diff -u configure new_configure > mod_config.diff #where mod_config has your changes
patch -R < new.diff && ./configure

Error:
CCLD   mcalign-test
I get undefined errors to what appears to be variables.  Here is an example:
/pulseaudio-0.9.23/src/.libs/libpulsecommon-0.9.23.so: undefined reference to `pa_path_get_filename'

I don't know if this (0.9.23) is the current version, so I think I will try the git.  I'll also manually check to ensure I have the latest version of all dependencies.
Comment 4 johndoe32102002 2012-03-24 09:14:25 UTC
The latest git today compiled fine (03/24/2012).


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.