GNOME Bugzilla – Bug 570673
no longer compile on the latest rhel/centos and fedora release
Last modified: 2009-02-18 21:32:28 UTC
on centos-5 i've got this: ---------------------------------- ./autogen.sh check for build tools checking for autoconf >= 2.52 ... found 2.59, ok. checking for automake >= 1.7 ... found 1.9.6, ok. checking for autopoint >= 0.17 ... found 0.14.6, not ok ! not found ! You must have autopoint installed to compile gstreamer. Download the appropriate package for your distribution, or get the source tarball at ftp://ftp.gnu.org/pub/gnu/gettext/ checking for libtoolize >= 1.5.0 ... found 1.5.22, ok. checking for pkg-config >= 0.8.0 ... found 0.21, ok. - Please get the right tools before proceeding. - Alternatively, if you're sure we're wrong, run with --nocheck. ---------------------------------- autopoint is part of gettext-0.17, but on rhel/centos-5.3 the latest package is gettext-0.14.6-4.el5 which has not autopoint. does it means gstreamer no longer compile on the latest rhel/centos? it'd be said.
gettext 0.17 is more than a year old, it's from November 2007. You will need gettext 0.17 for generating the autotools stuff, from tarballs (i.e. after autogen.sh already finished) you will be able to build gstreamer with gettext 0.14 or even older versions.
i repeat my question again: does this means that gstreamer no longer support the latest rhel/centos distro? since on rhel/centos there is no gettext 0.17! on ther other hand if i not run autogen.sh it also can't be compile since this: ------------------------------------------------------ make[2]: Entering directory `/tmp/gstreamer-0.10.22/tools' test -z "/usr/bin" || /bin/mkdir -p "/home/lfarkas/rpm/BUILDROOT/gstreamer-0.10.22-1.fc11.i386/usr/bin" /bin/sh ../libtool --mode=install /usr/bin/install -c 'gst-xmllaunch' '/home/lfarkas/rpm/BUILDROOT/gstreamer-0.10.22-1.fc11.i386/usr/bin/gst-xmllaunch' libtool: install: /usr/bin/install -c gst-xmllaunch /home/lfarkas/rpm/BUILDROOT/gstreamer-0.10.22-1.fc11.i386/usr/bin/gst-xmllaunch /bin/sh ../libtool --mode=install /usr/bin/install -c 'gst-xmllaunch-0.10' '/home/lfarkas/rpm/BUILDROOT/gstreamer-0.10.22-1.fc11.i386/usr/bin/gst-xmllaunch-0.10' libtool: install: invalid libtool wrapper script `gst-xmllaunch-0.10' make[2]: *** [install-binPROGRAMS] Error 1 make[2]: Leaving directory `/tmp/gstreamer-0.10.22/tools' make[1]: *** [install-am] Error 2 make[1]: Leaving directory `/tmp/gstreamer-0.10.22/tools' make: *** [install-recursive] Error 1 ------------------------------------------------------
> does this means that gstreamer no longer support the latest rhel/centos distro? > > since on rhel/centos there is no gettext 0.17! It means that if you want to *develop* GStreamer you will need to find yourself a newer gettext package somewhere, yes. I'm sure one exists somewhere. It's also only a developer tool, so shouldn't really affect the rest of your system. Sorry.
The real question is, why am I seeing so many reports of people having trouble compiling the tarballs? :-/ It seems to be a bug in at least one of the included generated scripts, but I don't know which.
no. it's means even redhat not able to update their gstreamer (they regularly do this eg. in 5.3 to gstreamer-0.10.20) since it's not possible just if they update many other part of their system. and as gettext is a very basic part it'll result a huge dependency hell which they won't do. so imho if gstreamer decided to based on gettext 0.17 then none of the following redhat distro will update newer than gstreamer-0.10.20 and as gstreamer release usually contains a lots of bugfix this are not really good news. and rhel-6 will only be in somewhere 2010... but that's just my 2c.
Why would it prevent redhat from updating their GStreamer packages? If they use the tarballs they will be able to build GStreamer with gettext 0.14.
no they won't:-( see #2 and see the result of build the tarball.
You appear to be assuming that the only way to solve that build failure is to run autogen.sh, which is not the case.
that's why i ask it: http://sourceforge.net/mailarchive/forum.php?thread_name=498829E7.1000002%40lfarkas.org&forum_name=gstreamer-devel and as Stefan is one of the core developer, i try it. anyway of course probably i can solve it, but anyway if neither the tarball nor an autogen.sh help, than imho it's a bug in gstreamer's build system, since most people won't/can't find a solution for this.
Agreed, you should be able to build from the tarballs so that's a bug. Could you upload a complete source tree of a clean tarball after running configure?
the file is too large for attachments, but i upload it to: http://www.lfarkas.org/gstreamer-0.10.22.tgz anyone can reopen this bug?
Sorry, I should've been more clear... could you upload another tarball that also includes everything that was produced until make failed? I.e. run ./configure and make in the source tree before uploading The interesting thing is the generated, invalid, libtool wrapper script
here it's: http://www.lfarkas.org/gstreamer-build-0.10.22.tgz
any progress?
anyway on 10.21 this is not happened or just the other compilation problem happened earlier that which is that gtkdoc-rebase is not available on rhel-5: ------------------------------------------------------------- make[5]: Nothing to be done for `install-exec-am'. (installfiles=`echo ./html/*.sgml ./html/*.html ./html/*.png ./html/*.css`; \ if test "$installfiles" = './html/*.sgml ./html/*.html ./html/*.png ./html/*.css'; \ then echo '-- Nothing to install' ; \ else \ /bin/sh ../../mkinstalldirs /var/tmp/gstreamer-0.10.21-2-root-lfarkas/usr/share/gtk-doc/html/gstreamer-0.10; \ for i in $installfiles; do \ echo '-- Installing '$i ; \ /usr/bin/install -c -m 644 $i /var/tmp/gstreamer-0.10.21-2-root-lfarkas/usr/share/gtk-doc/html/gstreamer-0.10; \ done; \ echo '-- Installing ./html/gstreamer.devhelp' ; \ /usr/bin/install -c -m 644 ./html/gstreamer.devhelp \ /var/tmp/gstreamer-0.10.21-2-root-lfarkas/usr/share/gtk-doc/html/gstreamer-0.10/gstreamer-0.10.devhelp; \ if test -e ./html/gstreamer.devhelp2; then \ /usr/bin/install -c -m 644 ./html/gstreamer.devhelp2 \ /var/tmp/gstreamer-0.10.21-2-root-lfarkas/usr/share/gtk-doc/html/gstreamer-0.10/gstreamer-0.10.devhelp2; \ fi; \ which gtkdoc-rebase >/dev/null && \ gtkdoc-rebase --relative --dest-dir=/var/tmp/gstreamer-0.10.21-2-root-lfarkas --html-dir=/var/tmp/gstreamer-0.10.21-2-root-lfarkas/usr/share/gtk-doc/html/gstreamer-0.10 ; \ fi) mkdir /var/tmp/gstreamer-0.10.21-2-root-lfarkas/usr/share/gtk-doc mkdir /var/tmp/gstreamer-0.10.21-2-root-lfarkas/usr/share/gtk-doc/html mkdir /var/tmp/gstreamer-0.10.21-2-root-lfarkas/usr/share/gtk-doc/html/gstreamer-0.10 -- Installing ./html/index.sgml -- Installing ./html/GstBin.html -- Installing ./html/GstBus.html -- Installing ./html/GstChildProxy.html -- Installing ./html/GstClock.html -- Installing ./html/GstElement.html -- Installing ./html/GstElementFactory.html -- Installing ./html/GstGhostPad.html -- Installing ./html/GstImplementsInterface.html -- Installing ./html/GstIndex.html -- Installing ./html/GstIndexFactory.html -- Installing ./html/GstObject.html -- Installing ./html/GstPad.html -- Installing ./html/GstPadTemplate.html -- Installing ./html/GstPipeline.html -- Installing ./html/GstPlugin.html -- Installing ./html/GstPluginFeature.html -- Installing ./html/GstPreset.html -- Installing ./html/GstRegistry.html -- Installing ./html/GstSystemClock.html -- Installing ./html/GstTagSetter.html -- Installing ./html/GstTask.html -- Installing ./html/GstTypeFindFactory.html -- Installing ./html/GstXML.html -- Installing ./html/api-index.html -- Installing ./html/gst-running.html -- Installing ./html/gstreamer-Gst.html -- Installing ./html/gstreamer-GstBuffer.html -- Installing ./html/gstreamer-GstCaps.html -- Installing ./html/gstreamer-GstEvent.html -- Installing ./html/gstreamer-GstFilter.html -- Installing ./html/gstreamer-GstFormat.html -- Installing ./html/gstreamer-GstGError.html -- Installing ./html/gstreamer-GstInfo.html -- Installing ./html/gstreamer-GstIterator.html -- Installing ./html/gstreamer-GstMessage.html -- Installing ./html/gstreamer-GstMiniObject.html -- Installing ./html/gstreamer-GstParamSpec.html -- Installing ./html/gstreamer-GstParse.html -- Installing ./html/gstreamer-GstPoll.html -- Installing ./html/gstreamer-GstQuery.html -- Installing ./html/gstreamer-GstSegment.html -- Installing ./html/gstreamer-GstStructure.html -- Installing ./html/gstreamer-GstTagList.html -- Installing ./html/gstreamer-GstTrace.html -- Installing ./html/gstreamer-GstTypeFind.html -- Installing ./html/gstreamer-GstUriHandler.html -- Installing ./html/gstreamer-GstUtils.html -- Installing ./html/gstreamer-GstValue.html -- Installing ./html/gstreamer-GstVersion.html -- Installing ./html/gstreamer-gstconfig.html -- Installing ./html/gstreamer-hierarchy.html -- Installing ./html/gstreamer-support.html -- Installing ./html/gstreamer.html -- Installing ./html/index.html -- Installing ./html/ix02.html -- Installing ./html/libgstreamer.html -- Installing ./html/home.png -- Installing ./html/left.png -- Installing ./html/right.png -- Installing ./html/up.png -- Installing ./html/style.css -- Installing ./html/gstreamer.devhelp which: no gtkdoc-rebase in (/usr/lib/qt-3.3/bin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/bin:/usr/bin:/home/lfarkas/bin) make[5]: *** [install-data-local] Error 1 make[5]: Leaving directory `/home/lfarkas/rpm/BUILD/gstreamer-0.10.21/docs/gst' make[4]: *** [install-am] Error 2 make[4]: Leaving directory `/home/lfarkas/rpm/BUILD/gstreamer-0.10.21/docs/gst' make[3]: *** [install] Error 2 make[3]: Leaving directory `/home/lfarkas/rpm/BUILD/gstreamer-0.10.21/docs/gst' make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory `/home/lfarkas/rpm/BUILD/gstreamer-0.10.21/docs' make[1]: *** [install] Error 2 make[1]: Leaving directory `/home/lfarkas/rpm/BUILD/gstreamer-0.10.21/docs' make: *** [install-recursive] Error 1 -------------------------------------------------------------
We might need to bump the gtk-doc version requirement (it currently checks for gtk-doc >= 1.3). You can use --disable-gtk-doc as a configure argument to not build the docs.
unfortunately it doesn't help:-( ie. still gives the above error. anyway it'd be another compilation problem on rhel/centos-5. and at the same thing it's working in 10.22! the real problems here the *-0.10 scripts eg: gst-xmllaunch-0.10 which can't be installed with libtool-1.5.22-6.1 while at the same time can't be ./autogen.sh since it's require newer gettext:-( the best would be if we can build from the tarball (which is currently not possible).
i can go a bit further as i test now it's not even compile on fedora-10 which is a very new (latest fedora) distro with very up-to-date packages. does it a simple script problem in gst-xmllaunch-0.10 (and other wrapper scripts)? the problem is the same: ---------------------------------------------------- Making install in tools make[1]: Entering directory `/home/lfarkas/rpm/BUILD/gstreamer-0.10.22/tools' make[2]: Entering directory `/home/lfarkas/rpm/BUILD/gstreamer-0.10.22/tools' test -z "/usr/bin" || /bin/mkdir -p "/home/lfarkas/rpm/BUILDROOT/gstreamer-0.10.22-1.fc11.i386/usr/bin" /bin/sh ../libtool --mode=install /usr/bin/install -c 'gst-xmllaunch' '/home/lfarkas/rpm/BUILDROOT/gstreamer-0.10.22-1.fc11.i386/usr/bin/gst-xmllaunch' libtool: install: /usr/bin/install -c gst-xmllaunch /home/lfarkas/rpm/BUILDROOT/gstreamer-0.10.22-1.fc11.i386/usr/bin/gst-xmllaunch /bin/sh ../libtool --mode=install /usr/bin/install -c 'gst-xmllaunch-0.10' '/home/lfarkas/rpm/BUILDROOT/gstreamer-0.10.22-1.fc11.i386/usr/bin/gst-xmllaunch-0.10' libtool: install: invalid libtool wrapper script `gst-xmllaunch-0.10' make[2]: *** [install-binPROGRAMS] Error 1 make[2]: Leaving directory `/home/lfarkas/rpm/BUILD/gstreamer-0.10.22/tools' make[1]: *** [install-am] Error 2 make[1]: Leaving directory `/home/lfarkas/rpm/BUILD/gstreamer-0.10.22/tools' make: *** [install-recursive] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.zEWmFt (%install) ----------------------------------------------------
Regarding comment #16, bumping gtk-doc requirement would not help in this case, as we ship own gtkdoc.mak files anyway and they were borked, but this is fixes. Regardless I will bump to gtk-doc-1.8, this is very common these days.
please do not do that! on rhel/centos-5 there is only 1.7, but anyway it's turn out that was not the cause of the problem. as i read through: http://cgit.freedesktop.org/gstreamer/gstreamer/tree/ChangeLog there is an entry: ---------------------------------------- 2008-11-29 Sebastian Dröge <sebastian.droege@collabora.co.uk> Patch by: Cygwin Ports maintainer <yselkowitz at users dot sourceforge dot net> * autogen.sh: * configure.ac: Require gettext 0.17 because older versions don't mix with libtool 2.2. At build time an older gettext version will still work. Fixes bug #556091. ---------------------------------------- does this means 10.22 and newer required at least libtool-2.2? most distro didn't ship it and this means these will never be supported!
No, as I said a few times already you will be able to compile tarballs and GIT with libtool 1.4 and gettext 0.14.something (well, autogen.sh needs 0.17 for the m4 macros but everything else doesn't). The compile error you see is some bug in some of the (autotools/libtools) generated files (and I can't reproduce it unfortunately with libtool 1.4 and other older software).
FYI this is my setup (as the default on rhel/centos-5.2): libtool-1.5.22-6.1 autoconf-2.63-1 automake-1.10.2-2 if you like i can give you a ssh access to a such host where you can test it. i try to update everything for libtool-2.2, but unfortunately it's require gcc-4.4 which is a much larger dependency hell. anyway how can i help you? is it possible to regenerate these (autotools/libtools) generated files? or?
i found the solution. it was unfortunately fedora packaging error. sorry for the wrong alert.
> i found the solution. it was unfortunately fedora packaging error. > sorry for the wrong alert. Care to share the details? :)
it takes for more than a day debugging for me:-( unfortunately this was in spec file #make %{?_smp_mflags} # FIXME: docs building doesn't work with smp yet make ERROR_CFLAGS="" LIBTOOL="%{_bindir}/libtool" i simple change to: make %{?_smp_mflags} # FIXME: docs building doesn't work with smp yet #make ERROR_CFLAGS="" LIBTOOL="%{_bindir}/libtool" and now everything works. i also wrote a fedora bugreport.