After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 518635 - NAS plugin doesn't build due to audio/audio.h namespace conflict
NAS plugin doesn't build due to audio/audio.h namespace conflict
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
0.10.6
Other All
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-02-25 15:26 UTC by Hans de Goede
Modified: 2008-02-25 18:32 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22



Description Hans de Goede 2008-02-25 15:26:52 UTC
Please describe the problem:
The nassink plugin includes <audio/audiolib.h>, which in my case is:
/usr/include/audio/audiolib.h

<audio/audiolib.h> in turn includes <audio/audio.h>, but since the gstreamer include dir is in the includes-path of the compiler, and gstreamer has an <audio/audio.h> too, the gstreamer header gets included instead of:
/usr/include/audio/audio.h

This causes compilation to fail as /usr/include/audio/audio.h defines lots of datatypes needed by /usr/include/audio/audiolib.h

I've worked around this by adding these lines above "#include <audio/audiolib.h>

/* HACK HACK HACK, gst has an audio/audio.h, and so has nas and nas needs its
   own not the gstreamer one, so we forcably include the nas one using an
   absolute path, which is a BIG BIG HACK HACK HACK HACK HACK! */
#include </usr/include/audio/audio.h>

I must say I don't know a proper way to fix this easily.

Steps to reproduce:


Actual results:


Expected results:


Does this happen every time?


Other information:
Comment 1 Tim-Philipp Müller 2008-02-25 15:58:51 UTC
It seems to build just fine for me. There shouldn't be an audio/audio.h in GStreamer's includes, the includes should only contain the top-level directory so that you'd need to do gst/audio/audio.h, no?
Comment 2 Hans de Goede 2008-02-25 18:32:39 UTC
My bad, seems somehow my gst install got fscked-up on my laptop, somehow all dirs/headers that are under /usr/include/gstreamer-0.10/gst also are directly under /usr/include/gstreamer-0.10, so I have them all twice, once in the wrong place.

Closing.