Broken powerpc compilation since commit 141659187667 ("pylibfdt: Fix disable version normalization")

Tom Rini trini at konsulko.com
Sat Jan 7 22:45:16 CET 2023


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230107/f517cb92/attachment-0001.sig>


More information about the U-Boot mailing list