GNOME Bugzilla – Bug 109048
[0.6.1] gst-plugins makes the assumption that sys/io.h exists on all glibc archs
Last modified: 2004-12-22 21:47:04 UTC
The qcam driver in gst-plugins (sys/qcam/qcam-{os,Linux}.c) include <sys/io.h>, which doesn't exist under all archs. For example, I'm using ppc, and there is no /usr/include/sys/io.h under glibc 2.3.1. I'm told that there is also no sys/io.h for the following architectures: mips, hppa, m68k and s390. I think what is meant to be included is <asm/io.h>; this is available for all archs supported by linux.
Created attachment 15174 [details] [review] header include patch
Fixed in HEAD. Awaiting 0.6.1 approval.
Someone please put this plugin out of its misery. Direct I/O access has been out of fashion for about 8 years. The <sys/io.h> -> <asm/io.h> patch is technically incorrect, but mostly irrelevant. http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/configure.ac.diff?r1=1.246&r2=1.247
I'm reverting the asm/io.h -> sys/io.h change, since it breaks the build: gcc -DHAVE_CONFIG_H -I. -I. -I../.. -O2 -I../../gst-libs -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pthread -I/home/ds/gst/cvs/gstreamer -I/home/ds/gst/cvs/gstreamer/libs -I../..//home/ds/gst/cvs/gstreamer/. -I../..//home/ds/gst/cvs/gstreamer/./libs -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/libxml2/libxml -DGST_DISABLE_DEPRECATED -g -Wall -Werror -g -O2 -c qcam-lib.c -MT libgstqcam_la-qcam-lib.lo -MD -MP -MF .deps/libgstqcam_la-qcam-lib.TPlo -fPIC -DPIC -o libgstqcam_la-qcam-lib.lo cc1: warnings being treated as errors In file included from qcam-lib.c:47: qcam-os.c: In function `enable_ports': qcam-os.c:58: warning: implicit declaration of function `ioperm' make[3]: *** [libgstqcam_la-qcam-lib.lo] Fehler 1 make[3]: Leaving directory `/home/ds/gst/cvs/gst-plugins/sys/qcam' make[2]: *** [all-recursive] Fehler 1 make[2]: Leaving directory `/home/ds/gst/cvs/gst-plugins/sys' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/home/ds/gst/cvs/gst-plugins' make: *** [all] Fehler 2
er, I meant the "sys/io.h -> asm/io.h" change. sys/io.h is correct
I fscked up the patch. Also apply this to 0.6.1 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/configure.ac.diff?r1=1.247&r2=1.248
Fixed in 0.6.1 CVS.