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 528143 - [goom] fails to build on 32-bit ppc
[goom] fails to build on 32-bit ppc
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal blocker
: 0.10.8
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-04-15 03:16 UTC by Sebastian Dröge (slomo)
Modified: 2008-04-15 16:59 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Disable ppc optimisations for 32-bit PPC as well (1.19 KB, patch)
2008-04-15 08:58 UTC, Tim-Philipp Müller
committed Details | Review

Description Sebastian Dröge (slomo) 2008-04-15 03:16:51 UTC
With latest pre-release the goom plugin fails to build on PPC:

[...]
/bin/sh ../../libtool --mode=compile cc -DHAVE_CONFIG_H -I. -I. -I../..    -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2   -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2   -I../../gst-libs -I../../gst-libs -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2   -Wall -Werror  -g     -I/usr/include/liboil-0.3    -g -Wall -O2 -c -o libgstgoom_la-graphic.lo `test -f 'graphic.c' || echo './'`graphic.c
 cc -DHAVE_CONFIG_H -I. -I. -I../.. -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I../../gst-libs -I../../gst-libs -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -Wall -Werror -g -I/usr/include/liboil-0.3 -g -Wall -O2 -c graphic.c  -fPIC -DPIC -o .libs/libgstgoom_la-graphic.o
 cc -DHAVE_CONFIG_H -I. -I. -I../.. -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I../../gst-libs -I../../gst-libs -pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -Wall -Werror -g -I/usr/include/liboil-0.3 -g -Wall -O2 -c graphic.c -o libgstgoom_la-graphic.o >/dev/null 2>&1
/bin/sh ../../libtool --mode=link cc  -g -Wall -O2  -Wl,-z,defs -Wl,-O1 -Wl,--as-needed -o libgstgoom.la -rpath /usr/lib/gstreamer-0.10 -module -avoid-version -export-symbols-regex '^_*gst_plugin_desc$' -no-undefined libgstgoom_la-gstgoom.lo libgstgoom_la-drawmethods.lo libgstgoom_la-sound_tester.lo libgstgoom_la-mathtools.lo libgstgoom_la-goomsl_heap.lo libgstgoom_la-goomsl_hash.lo libgstgoom_la-goomsl.lo libgstgoom_la-lines.lo libgstgoom_la-ifs.lo libgstgoom_la-surf3d.lo libgstgoom_la-tentacle3d.lo libgstgoom_la-v3d.lo libgstgoom_la-convolve_fx.lo libgstgoom_la-flying_stars_fx.lo libgstgoom_la-plugin_info.lo libgstgoom_la-goom_tools.lo libgstgoom_la-config_param.lo libgstgoom_la-filters.lo libgstgoom_la-goom_core.lo libgstgoom_la-graphic.lo  -pthread -lgstbase-0.10 -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lrt -lxml2 -lglib-2.0   -pthread -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lrt -lxml2 -lglib-2.0   -lm -loil-0.3 -lm -lrt   libgstgoomconfigparse.la 
generating symbol list for `libgstgoom.la'
/usr/bin/nm -B  .libs/libgstgoom_la-gstgoom.o .libs/libgstgoom_la-drawmethods.o .libs/libgstgoom_la-sound_tester.o .libs/libgstgoom_la-mathtools.o .libs/libgstgoom_la-goomsl_heap.o .libs/libgstgoom_la-goomsl_hash.o .libs/libgstgoom_la-goomsl.o .libs/libgstgoom_la-lines.o .libs/libgstgoom_la-ifs.o .libs/libgstgoom_la-surf3d.o .libs/libgstgoom_la-tentacle3d.o .libs/libgstgoom_la-v3d.o .libs/libgstgoom_la-convolve_fx.o .libs/libgstgoom_la-flying_stars_fx.o .libs/libgstgoom_la-plugin_info.o .libs/libgstgoom_la-goom_tools.o .libs/libgstgoom_la-config_param.o .libs/libgstgoom_la-filters.o .libs/libgstgoom_la-goom_core.o .libs/libgstgoom_la-graphic.o  ./.libs/libgstgoomconfigparse.a | sed -n -e 's/^.*[ 	]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ 	][ 	]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /bin/sed 's/.* //' | sort | uniq > .libs/libgstgoom.exp
/bin/grep -E -e "^_*gst_plugin_desc$" ".libs/libgstgoom.exp" > ".libs/libgstgoom.expT"
mv -f ".libs/libgstgoom.expT" ".libs/libgstgoom.exp"
echo "{ global:" > .libs/libgstgoom.ver
 cat .libs/libgstgoom.exp | sed -e "s/\(.*\)/\1;/" >> .libs/libgstgoom.ver
 echo "local: *; };" >> .libs/libgstgoom.ver
 cc -shared  .libs/libgstgoom_la-gstgoom.o .libs/libgstgoom_la-drawmethods.o .libs/libgstgoom_la-sound_tester.o .libs/libgstgoom_la-mathtools.o .libs/libgstgoom_la-goomsl_heap.o .libs/libgstgoom_la-goomsl_hash.o .libs/libgstgoom_la-goomsl.o .libs/libgstgoom_la-lines.o .libs/libgstgoom_la-ifs.o .libs/libgstgoom_la-surf3d.o .libs/libgstgoom_la-tentacle3d.o .libs/libgstgoom_la-v3d.o .libs/libgstgoom_la-convolve_fx.o .libs/libgstgoom_la-flying_stars_fx.o .libs/libgstgoom_la-plugin_info.o .libs/libgstgoom_la-goom_tools.o .libs/libgstgoom_la-config_param.o .libs/libgstgoom_la-filters.o .libs/libgstgoom_la-goom_core.o .libs/libgstgoom_la-graphic.o -Wl,--whole-archive ./.libs/libgstgoomconfigparse.a -Wl,--no-whole-archive  -Wl,--as-needed /usr/lib/libgstbase-0.10.so /usr/lib/libgstreamer-0.10.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libgthread-2.0.so /usr/lib/libxml2.so /usr/lib/libglib-2.0.so -loil-0.3 -lm -lrt  -Wl,-z -Wl,defs -Wl,-O1 -pthread -pthread -Wl,-soname -Wl,libgstgoom.so -Wl,-version-script -Wl,.libs/libgstgoom.ver -o .libs/libgstgoom.so
.libs/libgstgoom_la-plugin_info.o:(.got2+0x50): undefined reference to `ppc_zoom_G4'
.libs/libgstgoom_la-plugin_info.o:(.got2+0x54): undefined reference to `ppc_zoom_generic'
collect2: ld returned 1 exit status
make[4]: *** [libgstgoom.la] Error 1
make[4]: Leaving directory `/build/buildd/gst-plugins-good0.10-0.10.7.2/gst/goom'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/build/buildd/gst-plugins-good0.10-0.10.7.2/gst'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/build/buildd/gst-plugins-good0.10-0.10.7.2'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/build/buildd/gst-plugins-good0.10-0.10.7.2'
make: *** [debian/stamp-makefile-build] Error 2


Complete build log at http://experimental.debian.net/fetch.php?&pkg=gst-plugins-good0.10&ver=0.10.7.2-1&arch=powerpc&stamp=1208216588&file=log&as=raw
Comment 1 Sebastian Dröge (slomo) 2008-04-15 08:52:50 UTC
The fix for this is, to comment the PPC specific part in plugin_info.c... Tim said that the PPC specific assembly doesn't build for him so he disabled building it.
Comment 2 Tim-Philipp Müller 2008-04-15 08:58:52 UTC
Created attachment 109286 [details] [review]
Disable ppc optimisations for 32-bit PPC as well

See #522767 for the asm build failure. Looks like I only disabled the PPC optimisations for 64-bit PPC but not 32-bit.
Comment 3 Tim-Philipp Müller 2008-04-15 16:59:52 UTC
Committed:

 2008-04-15  Tim-Philipp Müller  <tim at centricular dot net>

        * gst/goom/plugin_info.c: (setOptimizedMethods):
          Disable altivec optimisations for 32-bit PPC as well to make
          things build properly on all PPC systems. Fixes #528143

Fix still needs to be verified though.