[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