GNOME Bugzilla – Bug 307352
PATCH: pass the --libdir argument to autogen
Last modified: 2005-07-16 10:03:31 UTC
common/gst-autogen.sh ignores the --libdir argument it gets passed by jhbuild. This causes gstreamer and gst-plugins to be installed in $prefix/lib. On x86_64 this is wrong since it should be installed in $prefix/lib64. The attached patch fixes this. Please commit to gstreamer, gst-plugins and gst-ffmpeg.
Created attachment 47630 [details] [review] patch
You (or jhbuild) should use ./autogen.sh -- --libdir=xyz, everything after the -- will be passed to ./configure.
Re-open and re-assign to jhbuild. Maintainers: the moduleset variable specifies -- in the autogen-args for gstreamer (e.g. autogenargs="-- --disable-plugin-builddir --disable-tests" for the gstreamer module in gnome-2.12.modules), but apparently the libdir variable is passed before this in the ./autogen.sh invocation; this should be reversed, then gstreamer's --libdir will work fine. I couldn't find which file takes care of this in jhbuild CVS, so no patch, sorry.
The best way to avoid these sort of problems would be for gstreamer to unfuck their autogen.sh script, and make it compatible with all the other autogen.sh scripts around.
I think this discussion was had before. First of all, our autogen *is* compatible with others. other autogen scripts also allow ./autogen.sh -- --libdir=... Second, our autogen.sh script takes some options. They are not configure options. To separate the autogen options from the options that get passed on to configure, we use a standardly accepted method - separating the two sets with '--'. Everything before '--' are autogen options, everything after '--' are arguments. compare rm -f with rm -- -f; the latter deletes the file called '-f'. But it's a silly discussion - jhbuild makes changes for a lot less well-behaved projects than gstreamer. We already added a prefix fallthrough before for the same reason. How hard can it be to just respect a project's build setup in jhbuild ?
Thomas: you are working backwards. With every other autogen.sh script, typing: ./autogen.sh anything Will cause "anything" to be passed as an argument to configure. You are arguing the reverse: that arguments accepted by gstreamer's autogen.sh script are acceptable to other scripts. Furthermore, your assertion that other autogen.sh scripts accept "./autogen.sh -- --libdir=foo" is false too, since the configure script won't accept those arguments: $ ./configure -- --libdir=foo configure: error: unrecognized option: -- Try `./configure --help' for more information. If you want to pass extra information to your autogen.sh script, there are a number of other options you could do while remaining compatible: 1. use environment variables 2. only pick out known options, and pass everything else through to configure. As far as exceptions in jhbuild go, we don't actually have many (the biggest is probably mozilla). Given the choice, I prefer to get the module fixed.
*** Bug 307830 has been marked as a duplicate of this bug. ***
Can somebody just fix this? (preferably in gstreamer) so us x86_64 people don't need to patch gstreamer, gst-plugins, gst-ffmpeg before building in jhbuild?
I'll move it back to GStreamer for now. Thomas: you're build maintainer, please fix. We are not compliant to how other packages do it.
(Keeping James CC'ed just in case.)
Created attachment 48950 [details] [review] patch Jeroen, can you checkout jhbuild and apply this patch (to gstreamer/common/ and gst-plugins/common/) and see if it fixes your error? Thanks.
Verified that the patch works, *if* you don't remove the --) option and put that in front of the *) option.
Applied, thanks.