Created attachment 91848 [details] Use $PYTHON instead of python in configure.ac I can't build itstool on Arch Linux because configure.ac is using python3 to search for libxml2 (on line 17; /usr/bin/python is a symlink to /usr/bin/python3 on Arch Linux). I think it should instead use $PYTHON, which is set by AM_PATH_PYTHON a couple lines above. Arch and Gentoo users can then build by setting $PYTHON=/usr/bin/python2 when calling configure. This is basically a follow-up to https://gitorious.org/itstool/itstool/commit/1cce05f8c3d2b52f030b3e253d37ae5a6eee8003
This is fixed by https://gitorious.org/itstool/itstool/merge_requests/6 None of the itstool maintainers have acted on that merge request yet.
(In reply to comment #1) > This is fixed by https://gitorious.org/itstool/itstool/merge_requests/6 > > None of the itstool maintainers have acted on that merge request yet. OK. That merge request is clearly superior to my patch, since it fixes the tests as well.
That fix appears to hardcode "python2", which means using its first occurrence in $PATH. But darwin doesn't appear to have python2 (just more specific python2.X). And it still doesn't respect the $PYTHON autoconf result (I may not want the "first in $PATH" and I may have some arbitrary other specially named interp to use).
My "that fix" in Comment #3 is talking about the upstream https://gitorious.org/itstool/itstool/merge_requests/6/diffs whereas the patch proposed my Michael here correctly uses $PYTHON at least in the autoconf test for the libxml2 python module.
*** Bug 58223 has been marked as a duplicate of this bug. ***
FYI, I've added this patch to GNOME jhbuild.
It seems that itstool doesn't run autoconf during the build, so the fix in "configure.ac" never actually makes it into "configure". Michael, could you update your patch to also fix "configure"?
(In reply to comment #7) > It seems that itstool doesn't run autoconf during the build, so the fix in > "configure.ac" never actually makes it into "configure". Michael, could you > update your patch to also fix "configure"? I've fixed this in GNOME jhbuild (please do test). It's not relevant to upstream since the configure script is correctly unversioned.
It worked! Now, when I Ctrl+C the itstool build and choose '[6] Go to phase "wipe directory and start over"', it runs autoreconf -fi after patching, and builds successfully. Going to leave this open since I think it should be patched upstream. But thanks for the jhbuild fix :)
@(In reply to Michael Catanzaro from comment #8) > (In reply to comment #7) > > It seems that itstool doesn't run autoconf during the build, so the fix in > > "configure.ac" never actually makes it into "configure". Michael, could you > > update your patch to also fix "configure"? > > I've fixed this in GNOME jhbuild (please do test). It's not relevant to > upstream since the configure script is correctly unversioned. It still only runs ./configure which means the patch is never used.. I am not sure what comment 9 is talking about as that doesn't work here, but that should not be necessary anyway.
(In reply to tingping from comment #10) > It still only runs ./configure which means the patch is never used.. I am > not sure what comment 9 is talking about as that doesn't work here, but that > should not be necessary anyway. Unless there has been some regression in jhbuild, it should still work. I have forced it to run autoreconf before configure the first time the code is checked out: <autotools id="itstool" autogen-sh="autoreconf">
I'm running jhbuild on Arch Linux as well but since the argument passed to AM_PATH_PYTHON only specifies a minimum version, it's returning Python 3.5 on my system. While jhbuild configures itstool, I see: checking for a Python interpreter with version >= 2.6... python checking for python... /usr/bin/python checking for python version... 3.5 checking for python platform... linux checking for python script directory... ${prefix}/lib/python3.5/site-packages checking for python extension module directory... ${exec_prefix}/lib/python3.5/site-packages checking for python module libxml2... not found configure: error: Python module libxml2 is needed to run this package I can get around it by dropping to the shell and passing PYTHON=/usr/bin/python2 to configure but it seems you got it working without needing to do that?
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.