GNOME Bugzilla – Bug 762528
Failed to autogen.sh for gstreamer-vaapi in 1.6.0 in custom location
Last modified: 2016-03-04 09:28:39 UTC
Having issue in run autogen.sh build issue in 1.6.0 version in build system for customize location. First do environment setting for build need to export: export LD_LIBRARY_PATH=/home/test/opt/lib export PKG_CONFIG_PATH=/home/test /opt/lib/pkgconfig:/home/test/opt/share/pkgconfig export PATH=/home/test/opt/bin:$PATH export ACLOCAL_PATH=/home/test/opt/share/aclocal export ACLOCAL="aclocal -I $ACLOCAL_PATH" Install gstreamer, gst-plugins-base, gst-plugins-good 1.6.3 version 1. ./autogen.sh --prefix=/home/test/opt 2. make 3. make install git clone download the gstreamer-vaapi. git checkout 1.6 [test@slim50-desk gstreamer-vaapi]$ ./autogen.sh --prefix=/home/test/opt + passing argument --prefix=/home/test/opt to configure + options passed to configure: --prefix=/home/test/opt + check for build tools checking for autoreconf ... /usr/bin/autoreconf checking for pkg-config ... /usr/bin/pkg-config aclocal: error: couldn't open directory 'm4': No such file or directory autoreconf: aclocal failed with exit status: 1 I don't have this kind of problem in previous old upstream master in 01.org gstreamer-vaapi. Not able reproduce in gstreamer or gst-plugins-bad or gst-plugins-base using same environment setting.
Sorry. It is linux environment. I'm using Fedora 21 64 bit build system.
Yes, We are using ./m4 directory to place to copy all the m4 scripts used by aclocal, but we didn't add that empty directory assuming that it is always created by aclocal. But when you declare export ACLOCAL="aclocal -I $ACLOCAL_PATH" The automatic creation of the directory is skipped. I don't see the need to overload aclocal with an alias with a -I, the set of ACLOCAL_PATH would be enough. We have four options: 1) Add to git the m4 directory 2) remove the AC_CONFIG_MACRO_DIR 3) trust the user won't overload ACLOCAL with an include 4) you create manually the ./m4 directory before running autogen.sh I'm leaned to option 2)
Ever I don't export ACLOCAL="aclocal -I $ACLOCAL_PATH", the automatic creation of the directory still will be skipped. I re-check back the previous old, Yes, you give good point for AC_CONFIG_MACRO_DIR,
Sorry, please skip commment 3. Ever I don't export ACLOCAL="aclocal -I $ACLOCAL_PATH", the automatic creation of the directory still will be skipped. Re-check back the previous history, the option using is created directory for M4 thru autogen.sh from commit 7eef852bdb92c805ec5efb45886a7c03f3bdc015. And tested with option 2), in the gstreamer-vaapi 1.6 is working for custom location.
(In reply to Lim Siew Hoon from comment #4) > Sorry, please skip commment 3. > > Ever I don't export ACLOCAL="aclocal -I $ACLOCAL_PATH", the automatic > creation of the directory still will be skipped. It is working for git repo that I'm clone from git://anongit.freedesktop.org/gstreamer/gstreamer-vaapi But, if I download from my repo that already sync up with 1.6 branch from here git://anongit.freedesktop.org/gstreamer/gstreamer-vaapi not working. > > And tested with option 2), in the gstreamer-vaapi 1.6 is working for custom > location. Sorry. I mix up the all the stuff. Option 2 won't work. I double check using clean code that download and modify it. Can we choose using option 4)? But modify a bit, the autogen.sh will create the directory for m4. Follow back the fixed similar to this commit 7eef852bdb92c805ec5efb45886a7c03f3bdc015 diff --git a/autogen.sh b/autogen.sh index d88efbb..ca88a5a 100755 --- a/autogen.sh +++ b/autogen.sh @@ -100,6 +100,8 @@ fi # aclocal if test -f acinclude.m4; then rm acinclude.m4; fi +test -d ${srcdir}/m4 || mkdir ${srcdir}/m4 + autoreconf --force --install || exit 1
Created attachment 322208 [details] [review] Add check if a m4 directory exit, if not create it
Comment on attachment 322208 [details] [review] Add check if a m4 directory exit, if not create it Thanks for the patch, but we cannot accept it since the autogen.sh is autogenerated by the script common/update-autogen[1]. We could submit the patch to the component common[2], but I doubt it will be accepted since no other gstreamer component uses this directory. 1. https://cgit.freedesktop.org/gstreamer/common/tree/update-autogen 2. https://bugzilla.gnome.org/buglist.cgi?product=gstreamer&component=common
(In reply to Lim Siew Hoon from comment #5) > (In reply to Lim Siew Hoon from comment #4) > > Sorry, please skip commment 3. > > > > Ever I don't export ACLOCAL="aclocal -I $ACLOCAL_PATH", the automatic > > creation of the directory still will be skipped. > It is working for git repo that I'm clone from > git://anongit.freedesktop.org/gstreamer/gstreamer-vaapi > > But, if I download from my repo that already sync up with 1.6 branch from > here git://anongit.freedesktop.org/gstreamer/gstreamer-vaapi not working. Please remember, if you are switching between 1.6 and master, to execute $ git submodule update Because the submodule common/ has been updated (commmit d9beeaf)
Created attachment 322229 [details] [review] build: add m4 directory Instead of rely on the automatic creation of m4 directory by aclocal, we already control it. Later we could create our own m4 scripts in order to unclutter configure.ac
Lim, apply this patch (either in master or 1.6 branch) and let me know if it works for you.
(In reply to Víctor Manuel Jáquez Leal from comment #10) > Lim, apply this patch (either in master or 1.6 branch) and let me know if it > works for you. Yes, it is working for finish autogen.
(In reply to Víctor Manuel Jáquez Leal from comment #8) > (In reply to Lim Siew Hoon from comment #5) > > (In reply to Lim Siew Hoon from comment #4) > > > Sorry, please skip commment 3. > > > > > > Ever I don't export ACLOCAL="aclocal -I $ACLOCAL_PATH", the automatic > > > creation of the directory still will be skipped. > > It is working for git repo that I'm clone from > > git://anongit.freedesktop.org/gstreamer/gstreamer-vaapi > > > > But, if I download from my repo that already sync up with 1.6 branch from > > here git://anongit.freedesktop.org/gstreamer/gstreamer-vaapi not working. > > Please remember, if you are switching between 1.6 and master, to execute > > $ git submodule update > > Because the submodule common/ has been updated (commmit d9beeaf) OK. I still not using master branch, it is require minimum Gstremer framework 1.7.1.1 version. Ever I twisted to force to 1.6.1 version, I still need to revert the VP9 parser check. Only can be using. My repo only sync up with 1.6 branch only currently. It should working correctly because I do git checkout 1.6 branch only run autogen.sh.
(In reply to Víctor Manuel Jáquez Leal from comment #9) > Created attachment 322229 [details] [review] [review] > build: add m4 directory > > Instead of rely on the automatic creation of m4 directory by aclocal, we > already control it. Later we could create our own m4 scripts in order to > unclutter configure.ac Yes, this is patch working. Able to finish the autogen.sh and successful in compiling the code. Tested using 1.6 branch in custom installing location and also system wide installing location. And also working apply in my repo code base. Thank you.
I'm going to push this patch to master. I don't know if I should merge it also in 1.6 branch.
Comment on attachment 322229 [details] [review] build: add m4 directory Attachment 322229 [details] pushed as b52cfea - build: add m4 directory
(In reply to Víctor Manuel Jáquez Leal from comment #14) > I'm going to push this patch to master. > > I don't know if I should merge it also in 1.6 branch. I prefer to get it in 1.6 too..
(In reply to sreerenj from comment #16) > (In reply to Víctor Manuel Jáquez Leal from comment #14) > > I'm going to push this patch to master. > > > > I don't know if I should merge it also in 1.6 branch. > > I prefer to get it in 1.6 too.. Done. Merged in master and in stable. Closing.