[gstreamer-bugs] [Bug 546870] New: Many warning when compiling gstreamer-0.10.20 on OpenSolaris

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Thu Aug 7 14:32:20 PDT 2008


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=546870

  GStreamer | gstreamer (core) | Ver: 0.10.x
           Summary: Many warning when compiling gstreamer-0.10.20 on
                    OpenSolaris
           Product: GStreamer
           Version: 0.10.x
          Platform: Other
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: rob1weld at aol.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: 2.21/2.22
   GNOME milestone: Unspecified


Please describe the problem:
I downloaded GStreamer from here:
http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.20.tar.bz2

OpenSolaris does not have Qt4 (only Qt3) and I desire to compile:
ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.4.1.tar.gz with
Phenon enabled so I can compile gcc 4.x with Qt, so I need to compile
Gstreamer as one of the dependencies.


Bugs / Difficulties:

1.): OpenSolaris is a 64-bit Operating System and it's Vender supplied gcc
3.4.3
(that is why I am compiling a 4.x series gcc) is compiled to support multilib
but Gstreamer's configure does not utilize the "--enable-multilib" option and
automatically build both 32-bit and 64-bit versions of it's libraries and
install them in the correct locations. In this day and age it is kind of people
to write their configure scripts to support 64-bit OSes.


2.): Your web page:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/chapter-cvs.html#werror
mentions that CVS versions are retrieved with "-Wall -Werror" enabled, but that
"release" versions are not. I am getting a lot of warnings when I compile
gstreamer-0.10.20 fewer would be better.


3.): When I get to the "gtk-doc: Running scanner gstreamer-libs-scan" section
of the make the build fails with this error (did not occur with older version
of gstreamer that I tried):

gstreamer-libs-scan.c:1070: warning: comparison is always false due to limited
range of data type
gtk-doc: Linking scanner
gcc -o .libs/gstreamer-libs-scan .libs/gstreamer-libs-scan.o 
../../libs/gst/controller/.libs/libgstcontroller-0.10.so -L/usr/lib/amd64 -lm
../../libs/gst/base/.libs/libgstbase-0.10.so
../../libs/gst/net/.libs/libgstnet-0.10.so
/aux0/gstreamer-0.10.20_build_32/gst/.libs/libgstreamer-0.10.so -lnsl
../../gst/.libs/libgstreamer-0.10.so -lxml2 -ldl -lgobject-2.0 -lgthread-2.0
-lpthread -lthread -lgmodule-2.0 -lglib-2.0 -lintl  -R/opt/csw/tmp32/lib
ld: warning: file ../../gst/.libs/libgstreamer-0.10.so: linked to
/aux0/gstreamer-0.10.20_build_32/gst/.libs/libgstreamer-0.10.so: attempted
multiple inclusion of file
creating gstreamer-libs-scan
gtk-doc: Running scanner gstreamer-libs-scan

(<unknown>:18602): GLib-GObject-CRITICAL **: file gparamspecs.c: line 1711:
assertion `default_value >= minimum && default_value <= maximum' failed

(<unknown>:18602): GLib-GObject-CRITICAL **: file gobject.c: line 309:
assertion `G_IS_PARAM_SPEC (pspec)' failed

(<unknown>:18602): GLib-GObject-CRITICAL **: file gparamspecs.c: line 1711:
assertion `default_value >= minimum && default_value <= maximum' failed

(<unknown>:18602): GLib-GObject-CRITICAL **: file gobject.c: line 309:
assertion `G_IS_PARAM_SPEC (pspec)' failed

(<unknown>:18602): GLib-GObject-CRITICAL **: file gparamspecs.c: line 1685:
assertion `default_value >= minimum && default_value <= maximum' failed

(<unknown>:18602): GLib-GObject-CRITICAL **: file gobject.c: line 309:
assertion `G_IS_PARAM_SPEC (pspec)' failed

(<unknown>:18602): GLib-GObject-CRITICAL **: file gparamspecs.c: line 1685:
assertion `default_value >= minimum && default_value <= maximum' failed

(<unknown>:18602): GLib-GObject-CRITICAL **: file gobject.c: line 309:
assertion `G_IS_PARAM_SPEC (pspec)' failed

(<unknown>:18602): GLib-GObject-CRITICAL **: file gparamspecs.c: line 1711:
assertion `default_value >= minimum && default_value <= maximum' failed

(<unknown>:18602): GLib-GObject-CRITICAL **: file gobject.c: line 309:
assertion `G_IS_PARAM_SPEC (pspec)' failed

(<unknown>:18602): GLib-GObject-CRITICAL **: file gparamspecs.c: line 1711:
assertion `default_value >= minimum && default_value <= maximum' failed

(<unknown>:18602): GLib-GObject-CRITICAL **: file gobject.c: line 309:
assertion `G_IS_PARAM_SPEC (pspec)' failed
**
**
ERROR:(../../../../gstreamer-0.10.20/libs/gst/net/gstnettimeprovider.c:139):gst_net_time_provider_class_init:
assertion failed: (sizeof (GstClockTime) == 8)
Abort - core dumped
Scan failed: 
gmake[4]: *** [scan-build.stamp] Error 134
gmake[4]: Leaving directory `/aux0/gstreamer-0.10.20_build_32/docs/libs'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/aux0/gstreamer-0.10.20_build_32/docs'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/aux0/gstreamer-0.10.20_build_32/docs'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/aux0/gstreamer-0.10.20_build_32'
gmake: *** [all] Error 2


Using 'ldd' it seems to find all it's files OK:

# ldd docs/libs/.libs/gstreamer-libs-scan
        libgstcontroller-0.10.so.0 =>    /usr/lib/libgstcontroller-0.10.so.0
        libm.so.2 =>     /lib/libm.so.2
        libgstbase-0.10.so.0 =>  /usr/lib/libgstbase-0.10.so.0
        libgstnet-0.10.so.0 =>   /usr/lib/libgstnet-0.10.so.0
        libgstreamer-0.10.so.0 =>        /usr/lib/libgstreamer-0.10.so.0
        libnsl.so.1 =>   /lib/libnsl.so.1
        libxml2.so.2 =>  /lib/libxml2.so.2
        libdl.so.1 =>    /lib/libdl.so.1
        libgobject-2.0.so.0 =>   /usr/lib/libgobject-2.0.so.0
        libgthread-2.0.so.0 =>   /usr/lib/libgthread-2.0.so.0
        libpthread.so.1 =>       /lib/libpthread.so.1
        libthread.so.1 =>        /lib/libthread.so.1
        libgmodule-2.0.so.0 =>   /usr/lib/libgmodule-2.0.so.0
        libglib-2.0.so.0 =>      /usr/lib/libglib-2.0.so.0
        libintl.so.1 =>  /lib/libintl.so.1
        libc.so.1 =>     /lib/libc.so.1
        libmp.so.2 =>    /lib/libmp.so.2
        libmd.so.1 =>    /lib/libmd.so.1
        libscf.so.1 =>   /lib/libscf.so.1
        libz.so.1 =>     /lib/libz.so.1
        libsocket.so.1 =>        /lib/libsocket.so.1
        libuutil.so.1 =>         /lib/libuutil.so.1
        libgen.so.1 =>   /lib/libgen.so.1


Perhaps the assertions are caused by the copious warnings given during the
compilation, here are a few:

if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I../../gstreamer-0.10.20/gst -I..    -D_GNU_SOURCE
-DG_LOG_DOMAIN=g_log_domain_gstreamer -DGST_MAJORMINOR=\""0.10"\"
-DGST_DISABLE_DEPRECATED  -I../../gstreamer-0.10.20/libs
-I../../gstreamer-0.10.20 -I.. -D_REENTRANT -D_PTHREADS -I/usr/include/glib-2.0
-I/usr/lib/amd64/glib-2.0/include -I/usr/include/libxml2   -Wall  -g    -m32
-MT libgstreamer_0.10_la-gstobject.lo -MD -MP -MF
".deps/libgstreamer_0.10_la-gstobject.Tpo" -c -o
libgstreamer_0.10_la-gstobject.lo `test -f 'gstobject.c' || echo
'../../gstreamer-0.10.20/gst/'`gstobject.c; \
        then mv -f ".deps/libgstreamer_0.10_la-gstobject.Tpo"
".deps/libgstreamer_0.10_la-gstobject.Plo"; else rm -f
".deps/libgstreamer_0.10_la-gstobject.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I../../gstreamer-0.10.20/gst -I.. -D_GNU_SOURCE
-DG_LOG_DOMAIN=g_log_domain_gstreamer -DGST_MAJORMINOR=\"0.10\"
-DGST_DISABLE_DEPRECATED -I../../gstreamer-0.10.20/libs
-I../../gstreamer-0.10.20 -I.. -D_REENTRANT -D_PTHREADS -I/usr/include/glib-2.0
-I/usr/lib/amd64/glib-2.0/include -I/usr/include/libxml2 -Wall -g -m32 -MT
libgstreamer_0.10_la-gstobject.lo -MD -MP -MF
.deps/libgstreamer_0.10_la-gstobject.Tpo -c
../../gstreamer-0.10.20/gst/gstobject.c  -fPIC -DPIC -o
.libs/libgstreamer_0.10_la-gstobject.o
../../gstreamer-0.10.20/gst/gstobject.c: In function
`gst_object_set_name_default':
../../gstreamer-0.10.20/gst/gstobject.c:606: warning: passing arg 1 of
`g_atomic_pointer_get' from incompatible pointer type
../../gstreamer-0.10.20/gst/gstobject.c:616: warning: passing arg 1 of
`g_atomic_pointer_get' from incompatible pointer type
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I../../gstreamer-0.10.20/gst -I..    -D_GNU_SOURCE
-DG_LOG_DOMAIN=g_log_domain_gstreamer -DGST_MAJORMINOR=\""0.10"\"
-DGST_DISABLE_DEPRECATED  -I../../gstreamer-0.10.20/libs
-I../../gstreamer-0.10.20 -I.. -D_REENTRANT -D_PTHREADS -I/usr/include/glib-2.0
-I/usr/lib/amd64/glib-2.0/include -I/usr/include/libxml2   -Wall  -g    -m32
-MT libgstreamer_0.10_la-gstbin.lo -MD -MP -MF
".deps/libgstreamer_0.10_la-gstbin.Tpo" -c -o libgstreamer_0.10_la-gstbin.lo
`test -f 'gstbin.c' || echo '../../gstreamer-0.10.20/gst/'`gstbin.c; \
        then mv -f ".deps/libgstreamer_0.10_la-gstbin.Tpo"
".deps/libgstreamer_0.10_la-gstbin.Plo"; else rm -f
".deps/libgstreamer_0.10_la-gstbin.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I../../gstreamer-0.10.20/gst -I.. -D_GNU_SOURCE
-DG_LOG_DOMAIN=g_log_domain_gstreamer -DGST_MAJORMINOR=\"0.10\"
-DGST_DISABLE_DEPRECATED -I../../gstreamer-0.10.20/libs
-I../../gstreamer-0.10.20 -I.. -D_REENTRANT -D_PTHREADS -I/usr/include/glib-2.0
-I/usr/lib/amd64/glib-2.0/include -I/usr/include/libxml2 -Wall -g -m32 -MT
libgstreamer_0.10_la-gstbin.lo -MD -MP -MF
.deps/libgstreamer_0.10_la-gstbin.Tpo -c ../../gstreamer-0.10.20/gst/gstbin.c 
-fPIC -DPIC -o .libs/libgstreamer_0.10_la-gstbin.o
../../gstreamer-0.10.20/gst/gstbin.c: In function `gst_bin_element_set_state':
../../gstreamer-0.10.20/gst/gstbin.c:1920: warning: integer overflow in
expression
../../gstreamer-0.10.20/gst/gstbin.c:1920: warning: integer overflow in
expression
(a couple of dozen of those warnings)

... (some more files with a few warnings)

if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I../../gstreamer-0.10.20/gst -I..    -D_GNU_SOURCE
-DG_LOG_DOMAIN=g_log_domain_gstreamer -DGST_MAJORMINOR=\""0.10"\"
-DGST_DISABLE_DEPRECATED  -I../../gstreamer-0.10.20/libs
-I../../gstreamer-0.10.20 -I.. -D_REENTRANT -D_PTHREADS -I/usr/include/glib-2.0
-I/usr/lib/amd64/glib-2.0/include -I/usr/include/libxml2   -Wall  -g    -m32
-MT libgstreamer_0.10_la-gstclock.lo -MD -MP -MF
".deps/libgstreamer_0.10_la-gstclock.Tpo" -c -o
libgstreamer_0.10_la-gstclock.lo `test -f 'gstclock.c' || echo
'../../gstreamer-0.10.20/gst/'`gstclock.c; \
        then mv -f ".deps/libgstreamer_0.10_la-gstclock.Tpo"
".deps/libgstreamer_0.10_la-gstclock.Plo"; else rm -f
".deps/libgstreamer_0.10_la-gstclock.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I../../gstreamer-0.10.20/gst -I.. -D_GNU_SOURCE
-DG_LOG_DOMAIN=g_log_domain_gstreamer -DGST_MAJORMINOR=\"0.10\"
-DGST_DISABLE_DEPRECATED -I../../gstreamer-0.10.20/libs
-I../../gstreamer-0.10.20 -I.. -D_REENTRANT -D_PTHREADS -I/usr/include/glib-2.0
-I/usr/lib/amd64/glib-2.0/include -I/usr/include/libxml2 -Wall -g -m32 -MT
libgstreamer_0.10_la-gstclock.lo -MD -MP -MF
.deps/libgstreamer_0.10_la-gstclock.Tpo -c
../../gstreamer-0.10.20/gst/gstclock.c  -fPIC -DPIC -o
.libs/libgstreamer_0.10_la-gstclock.o
../../gstreamer-0.10.20/gst/gstclock.c: In function `gst_clock_entry_new':
../../gstreamer-0.10.20/gst/gstclock.c:161: warning: integer overflow in
expression
../../gstreamer-0.10.20/gst/gstclock.c:161: warning: integer overflow in
expression
(a couple of dozen of those warnings)

... (some more files with a few warnings)

if /bin/bash ../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I../../../../gstreamer-0.10.20/libs/gst/base -I../../..   
-I../../../../gstreamer-0.10.20/libs -I../../../../gstreamer-0.10.20 -I../../..
-D_REENTRANT -D_PTHREADS -I/usr/include/glib-2.0
-I/usr/lib/amd64/glib-2.0/include -I/usr/include/libxml2   -Wall  -g    -m32
-MT libgstbase_0.10_la-gstbasesink.lo -MD -MP -MF
".deps/libgstbase_0.10_la-gstbasesink.Tpo" -c -o
libgstbase_0.10_la-gstbasesink.lo `test -f 'gstbasesink.c' || echo
'../../../../gstreamer-0.10.20/libs/gst/base/'`gstbasesink.c; \
        then mv -f ".deps/libgstbase_0.10_la-gstbasesink.Tpo"
".deps/libgstbase_0.10_la-gstbasesink.Plo"; else rm -f
".deps/libgstbase_0.10_la-gstbasesink.Tpo"; exit 1; fi
 gcc -DHAVE_CONFIG_H -I. -I../../../../gstreamer-0.10.20/libs/gst/base
-I../../.. -I../../../../gstreamer-0.10.20/libs -I../../../../gstreamer-0.10.20
-I../../.. -D_REENTRANT -D_PTHREADS -I/usr/include/glib-2.0
-I/usr/lib/amd64/glib-2.0/include -I/usr/include/libxml2 -Wall -g -m32 -MT
libgstbase_0.10_la-gstbasesink.lo -MD -MP -MF
.deps/libgstbase_0.10_la-gstbasesink.Tpo -c
../../../../gstreamer-0.10.20/libs/gst/base/gstbasesink.c  -fPIC -DPIC -o
.libs/libgstbase_0.10_la-gstbasesink.o
../../../../gstreamer-0.10.20/libs/gst/base/gstbasesink.c: In function
`gst_base_sink_class_init':
../../../../gstreamer-0.10.20/libs/gst/base/gstbasesink.c:353: warning: integer
constant is too large for "long" type
../../../../gstreamer-0.10.20/libs/gst/base/gstbasesink.c:354: warning:
overflow in implicit constant conversion
../../../../gstreamer-0.10.20/libs/gst/base/gstbasesink.c:385: warning: integer
constant is too large for "long" type
../../../../gstreamer-0.10.20/libs/gst/base/gstbasesink.c:385: warning: integer
constant is too large for "long" type
../../../../gstreamer-0.10.20/libs/gst/base/gstbasesink.c:386: warning:
overflow in implicit constant conversion
../../../../gstreamer-0.10.20/libs/gst/base/gstbasesink.c: In function
`gst_base_sink_query_latency':
../../../../gstreamer-0.10.20/libs/gst/base/gstbasesink.c:952: warning: integer
overflow in expression
../../../../gstreamer-0.10.20/libs/gst/base/gstbasesink.c:952: warning: integer
overflow in expression
(a few hundred of those warnings)

... (some more files with a few warnings)

That continues for many files, ultimatly 1000's of warnings.


The warnings immediatley before the failure of ".libs/gstreamer-libs-scan" are 
these:

gtk-doc: Compiling scanner
mkdir .libs
 gcc -I../.. -I../../libs -I../../../gstreamer-0.10.20/libs
-I../../../gstreamer-0.10.20 -I../.. -D_REENTRANT -D_PTHREADS
-I/usr/include/glib-2.0 -I/usr/lib/amd64/glib-2.0/include
-I/usr/include/libxml2 -Wall -g -c gstreamer-libs-scan.c  -fPIC -DPIC -o
.libs/gstreamer-libs-scan.o
gstreamer-libs-scan.c: In function `describe_signed_constant':
gstreamer-libs-scan.c:901: warning: integer constant is too large for "long"
type
gstreamer-libs-scan.c:901: warning: comparison is always false due to limited
range of data type
gstreamer-libs-scan.c:903: warning: integer constant is too large for "long"
type
gstreamer-libs-scan.c: In function `describe_unsigned_constant':
gstreamer-libs-scan.c:924: warning: integer constant is too large for "long"
type
gstreamer-libs-scan.c:924: warning: comparison is always false due to limited
range of data type
gstreamer-libs-scan.c:926: warning: integer constant is too large for "unsigned
long" type
gstreamer-libs-scan.c:926: warning: comparison is always false due to limited
range of data type
gstreamer-libs-scan.c: In function `describe_type':
gstreamer-libs-scan.c:1049: warning: integer constant is too large for "long"
type
gstreamer-libs-scan.c:1049: warning: integer constant is too large for "long"
type
gstreamer-libs-scan.c:1049: warning: comparison is always false due to limited
range of data type
gstreamer-libs-scan.c:1051: warning: integer constant is too large for "long"
type
gstreamer-libs-scan.c:1053: warning: integer constant is too large for "long"
type
gstreamer-libs-scan.c:1053: warning: comparison is always false due to limited
range of data type
gstreamer-libs-scan.c:1066: warning: integer constant is too large for
"unsigned long" type
gstreamer-libs-scan.c:1066: warning: comparison is always false due to limited
range of data type
gstreamer-libs-scan.c:1070: warning: integer constant is too large for
"unsigned long" type
gstreamer-libs-scan.c:1070: warning: comparison is always false due to limited
range of data type
gtk-doc: Linking scanner
gcc -o .libs/gstreamer-libs-scan .libs/gstreamer-libs-scan.o 
../../libs/gst/controller/.libs/libgstcontroller-0.10.so -L/usr/lib/amd64 -lm
../../libs/gst/base/.libs/libgstbase-0.10.so
../../libs/gst/net/.libs/libgstnet-0.10.so
/aux0/gstreamer-0.10.20_build_32/gst/.libs/libgstreamer-0.10.so -lnsl
../../gst/.libs/libgstreamer-0.10.so -lxml2 -ldl -lgobject-2.0 -lgthread-2.0
-lpthread -lthread -lgmodule-2.0 -lglib-2.0 -lintl  -R/opt/csw/tmp32/lib
ld: warning: file ../../gst/.libs/libgstreamer-0.10.so: linked to
/aux0/gstreamer-0.10.20_build_32/gst/.libs/libgstreamer-0.10.so: attempted
multiple inclusion of file
creating gstreamer-libs-scan
gtk-doc: Running scanner gstreamer-libs-scan

(<unknown>:18602): GLib-GObject-CRITICAL **: file gparamspecs.c: line 1711:
assertion `default_value >= minimum && default_value <= maximum' failed


I'm fairly good at programming so I'll likely fix this myself. 

I'm just filing a bug report so you are aware of this difficulty (and to
request better support for 64-bit platforms (please use --enable-multilib and
have "make install" place the 64-bit libraries into the correct directory) it
is a nusance to have to set CFLAGS=-m32 / CFLAGS=-m64 and compile twice, then
move the libraries (and pkgconfig files) manually).

Thanks,
Rob


Steps to reproduce:
1. Details in "Please describe the problem" section.
2. Download
http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.20.tar.bz
3. Compile with gcc 3.4.3 (on OpenSolaris, probably other platforms too).


Actual results:
Build fails, did not fail with (much) older version of gstreamer.


Expected results:
32-bit ought to work. Have yet to get to build this version in 64-bit mode
(adding -m64 to CFLAGS).


Does this happen every time?
Yes.


Other information:
Thanks for the free software.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=546870.




More information about the Gstreamer-bugs mailing list