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 577873 - The gst core failed when cross compile
The gst core failed when cross compile
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.10.22
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-04-03 18:32 UTC by lonelyao
Modified: 2009-04-03 19:10 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description lonelyao 2009-04-03 18:32:33 UTC
I tried to cross compile gst-core in my os CLFS-1.1.0.
But it failed with a error showing below:

../libtool: eval: line 950: syntax error near unexpected token `|'
../libtool: eval: line 950: `link -dump -symbols  .libs/libgstreamer_0.10_la-gst.o .libs/libgstreamer_0.10_la-gstobject.o .libs/libgstreamer_0.10_la-gstbin.o .libs/libgstreamer_0.10_la-gstbuffer.o .libs/libgstreamer_0.10_la-gstbus.o .libs/libgstreamer_0.10_la-gstcaps.o .libs/libgstreamer_0.10_la-gstchildproxy.o .libs/libgstreamer_0.10_la-gstclock.o .libs/libgstreamer_0.10_la-gstdebugutils.o .libs/libgstreamer_0.10_la-gstelement.o .libs/libgstreamer_0.10_la-gstelementfactory.o .libs/libgstreamer_0.10_la-gsterror.o .libs/libgstreamer_0.10_la-gstevent.o .libs/libgstreamer_0.10_la-gstfilter.o .libs/libgstreamer_0.10_la-gstformat.o .libs/libgstreamer_0.10_la-gstghostpad.o .libs/libgstreamer_0.10_la-gstindex.o .libs/libgstreamer_0.10_la-gstindexfactory.o .libs/libgstreamer_0.10_la-gstinfo.o .libs/libgstreamer_0.10_la-gstinterface.o .libs/libgstreamer_0.10_la-gstiterator.o .libs/libgstreamer_0.10_la-gstmessage.o .libs/libgstreamer_0.10_la-gstminiobject.o .libs/libgstreamer_0.10_la-gstpad.o .libs/libgstreamer_0.10_la-gstpadtemplate.o .libs/libgstreamer_0.10_la-gstparamspecs.o .libs/libgstreamer_0.10_la-gstpipeline.o .libs/libgstreamer_0.10_la-gstplugin.o .libs/libgstreamer_0.10_la-gstpluginfeature.o .libs/libgstreamer_0.10_la-gstpoll.o .libs/libgstreamer_0.10_la-gstpreset.o .libs/libgstreamer_0.10_la-gstquark.o .libs/libgstreamer_0.10_la-gstquery.o .libs/libgstreamer_0.10_la-gstregistry.o .libs/libgstreamer_0.10_la-gstsegment.o .libs/libgstreamer_0.10_la-gststructure.o .libs/libgstreamer_0.10_la-gstsystemclock.o .libs/libgstreamer_0.10_la-gsttaglist.o .libs/libgstreamer_0.10_la-gsttagsetter.o .libs/libgstreamer_0.10_la-gsttask.o .libs/libgstreamer_0.10_la-gsttrace.o .libs/libgstreamer_0.10_la-gsttypefind.o .libs/libgstreamer_0.10_la-gsttypefindfactory.o .libs/libgstreamer_0.10_la-gsturi.o .libs/libgstreamer_0.10_la-gstutils.o .libs/libgstreamer_0.10_la-gstvalue.o .libs/libgstreamer_0.10_la-gstparse.o .libs/libgstreamer_0.10_la-gstregistrybinary.o .libs/libgstreamer_0.10_la-gstxml.o .libs/libgstreamer_0.10_la-gstenumtypes.o .libs/libgstreamer_0.10_la-gstmarshal.o   parse/.libs/libgstparse.a |  | /bin/sed 's/.* //' | sort | uniq > .libs/libgstreamer-0.10.exp'
make[4]: *** [libgstreamer-0.10.la] Error 1
make[4]: Leaving directory `/mnt/source/bak/clfs/mnt/clfs/cblfs/gstreamer/gstreamer-0.10.22/gst'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/mnt/source/bak/clfs/mnt/clfs/cblfs/gstreamer/gstreamer-0.10.22/gst'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/mnt/source/bak/clfs/mnt/clfs/cblfs/gstreamer/gstreamer-0.10.22/gst'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/source/bak/clfs/mnt/clfs/cblfs/gstreamer/gstreamer-0.10.22'
make: *** [all] Error 2

I searched on the internet. Someone suggested to change libtool to libtool-1.5.8.
After changing the libtool to version 1.5.8, this failure came again.
And this failure only comes when I build for 32-bit, build of the 64-bit succeded with all the 3 versions(1.5.8, 1.5.26, 2.2.6a) of libtool I have tried.
Is this a real bug of libtool or something else?
This is the instructions I used :

CC="gcc -m32" USE_ARCH=32 \
PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/X11R7/lib/pkgconfig:/opt/xfce/lib/pkgconfig" \
./configure --prefix=/usr --host=i686-pc-linux-gnu &&
make

Best Regards
Comment 1 David Schleef 2009-04-03 18:41:08 UTC
It's a libtool bug.  Easiest workaround I've found is to set NM in your environment prior to running configure.  (That might not be all.  Let me know if it doesn't work.)
Comment 2 lonelyao 2009-04-03 19:05:29 UTC
(In reply to comment #1)
> It's a libtool bug.  Easiest workaround I've found is to set NM in your
> environment prior to running configure.  (That might not be all.  Let me know
> if it doesn't work.)
> 

Thanks for you reply.
I changed the instruction to this:
CC="gcc -m32" USE_ARCH=32 \
PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/X11R7/lib/pkgconfig:/opt/xfce/lib/pkgconfig" NM="nm" \
./configure --prefix=/usr --host=i686-pc-linux-gnu &&
make

(Is this right?)
whatever, the build has succeeded, and the test suit passed too.
David, thanks a lot. This problem has tortured me for a week.

Another question, if the NM is specified, do we still need to change the libtool version?

Best Regards
Comment 3 David Schleef 2009-04-03 19:10:50 UTC
I doubt it.  If you're compiling from a tar.gz release, upgrading libtool doesn't actually affect the build.  Unless you run autogen.sh, which you shouldn't unless compiling from git.