BIND 10 #2630: configure --with-pythonpath problems

BIND 10 Development do-not-reply at isc.org
Fri Jan 11 13:37:25 UTC 2013


#2630: configure --with-pythonpath problems
-------------------------------------+-------------------------------------
                   Reporter:  jreed  |                 Owner:  UnAssigned
                       Type:         |                Status:  new
  defect                             |             Milestone:  New Tasks
                   Priority:         |              Keywords:
  medium                             |             Sensitive:  0
                  Component:  build  |           Sub-Project:  Core
  system                             |  Estimated Difficulty:  0
               CVSS Scoring:         |           Total Hours:  0
            Defect Severity:  N/A    |
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
 ./configure --with-pythonpath was set to a binary that no longer existed:

 {{{
 ./configure: line 15351: /usr/pkg/bin/python3.2: No such file or directory
 (standard_in) 1: parse error
 ./configure: line 15352: test: !=: unary operator expected
 ./configure: line 15356: /usr/pkg/bin/python3.2: No such file or directory
 }}}

 It should check if it exists/executable first.

 Looked further at the --with-pythonpath and see another bug.

 {{{
 reed  5577  1.6  0.1    8616    844 ttyp0  T    11:53AM  0:56.72 yes -c
 import sys; sys.stdout.write(sys.version[:3])
 }}}

 If you use argument but didn't set it configure hangs forever with the
 above. No value defaults to "yes" which is a unix tool :)

 I have a minor patch to improve both problems:

 {{{
 diff --git a/configure.ac b/configure.ac
 index 892bc6c..103cfc8 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -239,7 +239,7 @@ AC_HELP_STRING([--with-pythonpath=PATH],
    [python_path="$withval"], [python_path="auto"])
  if test "$python_path" = auto; then
         AM_PATH_PYTHON([3.1])
 -else
 +elif test -x "$python_path" ; then
         # Older versions of automake can't handle python3 well.  This is
 an
         # in-house workaround for them.
         PYTHON=$python_path
 @@ -249,6 +249,9 @@ else
         PYTHON_EXEC_PREFIX='$(exec_prefix)'
         AC_SUBST(PYTHON_EXEC_PREFIX)
         PYTHON_VERSION=[`$PYTHON -c "import sys;
 sys.stdout.write(sys.version[:3])"`]
 +       if test "x$PYTHON_VERSION" = "x" ; then
 +               AC_MSG_ERROR(["Python $PYTHON did not work."])
 +       fi
         if test `echo "$PYTHON_VERSION >= 3.1" | bc` != 1 ; then
                 AC_MSG_ERROR(["Python version too old: $PYTHON_VERSION,
 need 3.1 or higher"])
         fi
 @@ -263,6 +266,8 @@ else
         AC_SUBST(pyexecdir)
         pkgpyexecdir='${pyexecdir}/'$PACKAGE
         AC_SUBST(pkgpyexecdir)
 +else
 +       AC_MSG_ERROR(["Set --with-pythonpath to an existing Python 3
 executable."])
  fi

  # We need to store the default pyexecdir in a separate variable so that
 }}}

-- 
Ticket URL: <http://bind10.isc.org/ticket/2630>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list