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 667210 - videotestsrc/generate_sine_table needs to link against glib
videotestsrc/generate_sine_table needs to link against glib
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.35
Other Solaris
: Normal normal
: 0.10.36
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-01-03 20:55 UTC by Tim Mooney
Modified: 2012-01-03 22:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
link generate_sine_table against glib (458 bytes, patch)
2012-01-03 20:55 UTC, Tim Mooney
committed Details | Review

Description Tim Mooney 2012-01-03 20:55:30 UTC
Created attachment 204519 [details] [review]
link generate_sine_table against glib

Building gst-plugins-base-0.10.35 on x86_64-sun-solaris2.10 (not OpenSolaris) with the no-cost Sun/Oracle Workshop 12.2 compiler.

When building gst/videotestsrc/generate_sine_table, I get the following link error:

/bin/bash ../../libtool  --tag=CC   --mode=link cc -xipo=2 -xO4 -I/usr/X11/inclu
de -xc99=all -D_REENTRANT -D_PTHREADS -I/local/gnu/include/glib-2.0 -I/local/gnu
/lib/64/glib-2.0/include -D_REENTRANT -D_PTHREADS -I/local/gnu/include/gstreamer
-0.10 -I/local/gnu/include/glib-2.0 -I/local/gnu/lib/64/glib-2.0/include -I/loca
l/gnu/include/libxml2    -DG_THREADS_MANDATORY -DG_DISABLE_CAST_CHECKS -DG_DISAB
LE_ASSERT    -g    -Xa -xO4 -KPIC -xtarget=native -m64 -xarch=native -I/local/gn
u/include -I/local/gnu/include -I/local/include  -L/local/gnu/lib/64 -L/local/gn
u/lib/64 -L/local/lib/64 -o generate_sine_table generate_sine_table-generate_sin
e_table.o -lm -lnsl -lsocket 
libtool: link: cc -xipo=2 -xO4 -I/usr/X11/include -xc99=all -D_REENTRANT -D_PTHR
EADS -I/local/gnu/include/glib-2.0 -I/local/gnu/lib/64/glib-2.0/include -D_REENT
RANT -D_PTHREADS -I/local/gnu/include/gstreamer-0.10 -I/local/gnu/include/glib-2
.0 -I/local/gnu/lib/64/glib-2.0/include -I/local/gnu/include/libxml2 -DG_THREADS
_MANDATORY -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT -g -Xa -xO4 -KPIC -xtarget
=native -m64 -xarch=native -I/local/gnu/include -I/local/gnu/include -I/local/in
clude -o generate_sine_table generate_sine_table-generate_sine_table.o  -L/local
/gnu/lib/64 -L/local/lib/64 -lm -lnsl -lsocket
Undefined           first referenced
 symbol                 in file
g_atomic_pointer_get                generate_sine_table-generate_sine_table.o
g_once_init_enter_impl              generate_sine_table-generate_sine_table.o
g_string_insert_c                   generate_sine_table-generate_sine_table.o
ld: fatal: Symbol referencing errors. No output written to generate_sine_table
gmake[4]: *** [generate_sine_table] Error 2
gmake[4]: Leaving directory `/local/src/RPM/BUILD/gst-plugins-base-0.10.35/gst/v
ideotestsrc'
gmake[3]: *** [all] Error 2
gmake[3]: Leaving directory `/local/src/RPM/BUILD/gst-plugins-base-0.10.35/gst/v



generate_sine_table is including <glib.h>, probably because it uses G_PI, and it's this inclusion of glib.h that is apparently generating a dependency on these glib-related routines.

The problem is that the Makefile is not set up to link generate_sine_table against glib.

I'm not certain this is the correct way to accomplish getting generate_sine_table linked against glib, but the following patch allows the link to succeed and the rest of the build to continue to completion.
Comment 1 Tim-Philipp Müller 2012-01-03 21:18:11 UTC
Looks like this has been fixed already:

 commit ded27cc61a7218fa4c26d75c129a46c01ccb7153
 Author: Brian Cameron <brian.cameron@oracle.com>
 Date:   Mon Oct 10 13:11:59 2011 +0200

    videotestsrc: fix LDADD missing GST_LIBS
Comment 2 Tim Mooney 2012-01-03 22:04:59 UTC
Thanks.  I searched several different ways to see if this had been fixed but didn't turn that up.  Sorry for the noise.