Broken powerpc compilation since commit 141659187667 ("pylibfdt: Fix disable version normalization")
Pali Rohár
pali at kernel.org
Sat Jan 7 22:51:08 CET 2023
On Saturday 07 January 2023 16:45:16 Tom Rini wrote:
> On Sat, Jan 07, 2023 at 10:36:25PM +0100, Pali Rohár wrote:
> > On Saturday 07 January 2023 16:28:05 Tom Rini wrote:
> > > On Sat, Jan 07, 2023 at 10:25:43PM +0100, Pali Rohár wrote:
> > > > On Saturday 07 January 2023 16:24:00 Tom Rini wrote:
> > > > > On Sat, Jan 07, 2023 at 10:23:06PM +0100, Pali Rohár wrote:
> > > > >
> > > > > > Hello! Now I was going to test urgent release workaround/fix for this
> > > > > > issue https://lists.denx.de/pipermail/u-boot/2023-January/503900.html
> > > > > > but I figured out that I cannot compile u-boot from master branch for
> > > > > > powerpc platform. make throws following error:
> > > > > >
> > > > > > LDS u-boot.lds
> > > > > > HOSTLD scripts/dtc/dtc
> > > > > > Traceback (most recent call last):
> > > > > > File "scripts/dtc/pylibfdt/setup.py", line 23, in <module>
> > > > > > from setuptools import setup, Extension, sic
> > > > > > ImportError: cannot import name 'sic' from 'setuptools' (/usr/lib/python3/dist-packages/setuptools/__init__.py)
> > > > > > make[2]: *** [scripts/dtc/pylibfdt/Makefile:33: rebuild] Error 1
> > > > > > make[1]: *** [scripts/Makefile.build:398: scripts/dtc/pylibfdt] Error 2
> > > > > > make: *** [Makefile:2031: scripts_dtc] Error 2
> > > > > >
> > > > > > git bisect showed me that problematic commit is one from yesterday:
> > > > > >
> > > > > > 141659187667 ("pylibfdt: Fix disable version normalization")
> > > > > >
> > > > > > Reverting it on top of master branch compiled u-boot for powerpc without
> > > > > > issues.
> > > > > >
> > > > > > It looks like a bit complicated issue as that commit is fixing another
> > > > > > commit from two weeks before:
> > > > > >
> > > > > > 440098c42e73 ("pylibfdt: Fix version normalization warning")
> > > > > >
> > > > > > Tom, do you have an idea how to handle this?
> > > > >
> > > > > What host distro are you on?
> > > >
> > > > On this build machine I have currently Debian 10.
> > >
> > > OK, and does undoing the mentioned commit and trying:
> > > https://github.com/u-boot/u-boot/pull/266/commits/eb76bf5864b53938db639867ad5d75893b5a571e
> > > instead work there?
> >
> > I checkout master branch, then I reverted commit 141659187667 and then
> > I applied a495b8f497dc from github. But it does not work, it throws error:
> >
> > LDS u-boot.lds
> > HOSTCC scripts/dtc/dtc-lexer.lex.o
> > HOSTCC scripts/dtc/dtc-parser.tab.o
> > Traceback (most recent call last):
> > File "scripts/dtc/pylibfdt/setup.py", line 25, in <module>
> > from packaging import version
> > ModuleNotFoundError: No module named 'packaging'
> > make[2]: *** [scripts/dtc/pylibfdt/Makefile:33: rebuild] Error 1
> > make[1]: *** [scripts/Makefile.build:398: scripts/dtc/pylibfdt] Error 2
> > make[1]: *** Waiting for unfinished jobs....
> > make: *** [Makefile:2031: scripts_dtc] Error 2
>
> Try this, which should just bring us back to printing an annoying but
> harmless warning:
> diff --git a/scripts/dtc/pylibfdt/setup.py b/scripts/dtc/pylibfdt/setup.py
> index c07f65e6bcaf..8baae08770ca 100755
> --- a/scripts/dtc/pylibfdt/setup.py
> +++ b/scripts/dtc/pylibfdt/setup.py
> @@ -20,12 +20,17 @@ allows this script to be run stand-alone, e.g.:
> ./pylibfdt/setup.py install [--prefix=...]
> """
>
> -from setuptools import setup, Extension, sic
> +from setuptools import setup, Extension
> from setuptools.command.build_py import build_py as _build_py
> import os
> import re
> import sys
>
> +try:
> + from setuptools import sic
> +except ImportError:
> + pass
> +
> srcdir = os.path.dirname(__file__)
>
> with open(os.path.join(srcdir, "../README"), "r") as fh:
> @@ -113,7 +118,10 @@ progname = sys.argv[0]
> files = os.environ.get('SOURCES', '').split()
> cflags = os.environ.get('CPPFLAGS', '').split()
> objdir = os.environ.get('OBJDIR')
> -version = os.environ.get('VERSION')
> +try:
> + version = sic(os.environ.get('VERSION'))
> +except:
> + version = os.environ.get('VERSION')
> swig_opts = os.environ.get('SWIG_OPTS', '').split()
>
> # If we were called directly rather than through our Makefile (which is often
> @@ -137,7 +145,7 @@ class build_py(_build_py):
>
> setup(
> name='libfdt',
> - version=sic(version),
> + version=version,
> cmdclass = {'build_py' : build_py},
> author='Simon Glass',
> author_email='sjg at chromium.org',
>
> --
> Tom
This one works fine. It prints that UserWarning but u-boot.bin is built.
More information about the U-Boot
mailing list