[OE-core] python automake dirs (was meta-toolchain-sdk failure)

Kumar Gala galak at kernel.crashing.org
Tue Aug 9 16:50:06 UTC 2011


On Aug 9, 2011, at 10:32 AM, Kumar Gala wrote:

> 
> On Aug 9, 2011, at 8:58 AM, Richard Purdie wrote:
> 
>> On Tue, 2011-08-09 at 08:45 -0500, Kumar Gala wrote:
>>> Seeing the following when trying to do a meta-toolchain-sdk build w/latest git.  Guessing we're missing a depend of some sort:
>>> 
>>> | error: Failed dependencies:
>>> | 	telepathy-python is needed by task-core-standalone-gmae-sdk-target-1.0-r13.ppc64e5500
>>> 
>>> I think the reset of this is noise:
>> 
>> It is, yes.
>> 
>> Did telepathy-python build at all (you can check if any stamps are
>> present)? Are there any packages generated (in the deploy/rpm
>> directory)?
>> 
>> I'm trying to work out if this wasn't present because it didn't build,
>> because it did build but didn't package correctly or whether the rootfs
>> code just isn't seeing the package...
> 
> Seems it build but no package:
> 
> build-p5020/tmp/deploy/rpm/ppc64e5500/telepathy-python-dev-0.15.19-r2.ppc64e5500.rpm
> build-p5020/tmp/deploy/rpm/ppc64e5500/telepathy-python-dbg-0.15.19-r2.ppc64e5500.rpm
> 
> Looking at log.do_package
> 
> WARNING: For recipe telepathy-python, the following files were installed but not shipped in any package:
> WARNING:   /usr/lib/python2.6/site-packages/telepathy/__init__.pyo
> WARNING:   /usr/lib/python2.6/site-packages/telepathy/utils.py
> WARNING:   /usr/lib/python2.6/site-packages/telepathy/utils.pyc
> WARNING:   /usr/lib/python2.6/site-packages/telepathy/interfaces.py
> WARNING:   /usr/lib/python2.6/site-packages/telepathy/errors.py
> WARNING:   /usr/lib/python2.6/site-packages/telepathy/_version.pyo
> WARNING:   /usr/lib/python2.6/site-packages/telepathy/__init__.py
> WARNING:   /usr/lib/python2.6/site-packages/telepathy/_version.py
> WARNING:   /usr/lib/python2.6/site-packages/telepathy/__init__.pyc
> WARNING:   /usr/lib/python2.6/site-packages/telepathy/_version.pyc
> WARNING:   /usr/lib/python2.6/site-packages/telepathy/constants.pyc
> ...
> 
> Since this build is with 64-bit we should be in /usr/lib64 but are not.
> 
> I believe there are other python packages that aren't respecting ${libdir}
> 
> There was a patch to xcb, but that still had issues as for some reason aclocal.m4 is getting regnerated and overriding PYTHON_LIB_PREFIX.

So the root of this seems to stem from the following in automake's python.m4:

am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages

So the question at hand is how to fix this?

Do we patch automake to respect libdir setting for these?

something like:

--- python.m4.orig	2011-08-09 11:46:19.511163337 -0500
+++ python.m4	2011-08-09 11:49:43.623022930 -0500
@@ -88,12 +88,13 @@
     [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
   AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
 
-  dnl Use the values of $prefix and $exec_prefix for the corresponding
-  dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX.  These are made
+  dnl Use the values of $prefix, $libdir and $exec_prefix for the corresponding
+  dnl values of PYTHON_PREFIX PYTHON_LIB_PREFIX, and PYTHON_EXEC_PREFIX.  These are made
   dnl distinct variables so they can be overridden if need be.  However,
   dnl general consensus is that you shouldn't need this ability.
 
   AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
+  AC_SUBST([PYTHON_LIB_PREFIX], ['${libdir}'])
   AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
 
   dnl At times (like when building shared libraries) you may want
@@ -122,7 +123,7 @@
        am_py_prefix=$prefix
      fi
      am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null ||
-     echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+     echo "$PYTHON_LIB_PREFIX/python$PYTHON_VERSION/site-packages"`
      case $am_cv_python_pythondir in
      $am_py_prefix*)
        am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
@@ -132,7 +133,7 @@
        case $am_py_prefix in
          /usr|/System*) ;;
          *)
-	  am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
+	  am_cv_python_pythondir=$PYTHON_LIB_PREFIX/python$PYTHON_VERSION/site-packages
 	  ;;
        esac
        ;;
@@ -160,7 +161,7 @@
        am_py_exec_prefix=$exec_prefix
      fi
      am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null ||
-     echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
+     echo "$PYTHON_LIB_PREFIX/python$PYTHON_VERSION/site-packages"`
      case $am_cv_python_pyexecdir in
      $am_py_exec_prefix*)
        am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
@@ -170,7 +171,7 @@
        case $am_py_exec_prefix in
          /usr|/System*) ;;
          *)
-	   am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
+	   am_cv_python_pyexecdir=$PYTHON_LIB_PREFIX/python$PYTHON_VERSION/site-packages
 	   ;;
        esac
        ;;



- k



More information about the Openembedded-core mailing list