Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Build fails with CleanCommand super()-call #224

Closed
@menschel-d

Description

@menschel-d

While trying to upgrade the BitBake recipes for python-semver (Python 2 and Python 3) from version 2.8.1 to 2.9.1, I've encountered the following error which seems to have been introduced by commit 017e296#diff-2eeaed663bd0d25b7e608891384b7298L39-R39.

Here is the relevant BitBake log for Python 3.7:

ERROR: Execution of '/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python3-semver/2.9.1-r0/temp/run.do_configure.28554' failed with exit code 1:
running clean
Traceback (most recent call last):
  File "setup.py", line 101, in <module>
    entry_points={"console_scripts": ["pysemver = semver:main"]},
  File "/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python3-semver/2.9.1-r0/recipe-sysroot-native/usr/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python3-semver/2.9.1-r0/recipe-sysroot-native/usr/lib/python3.7/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python3-semver/2.9.1-r0/recipe-sysroot-native/usr/lib/python3.7/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python3-semver/2.9.1-r0/recipe-sysroot-native/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "setup.py", line 41, in run
    super(CleanCommand, self).run()
  File "/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python3-semver/2.9.1-r0/recipe-sysroot-native/usr/lib/python3.7/distutils/cmd.py", line 176, in run
    % self.__class__)
RuntimeError: abstract method -- subclass <class '__main__.Clean'> must override
WARNING: exit code 1 from a shell command.

And here is the corresponding log for Python 2.7:

ERROR: Execution of '/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python-semver/2.9.1-r0/temp/run.do_configure.32044' failed with exit code 1:
running clean
Traceback (most recent call last):
  File "setup.py", line 101, in <module>
    entry_points={"console_scripts": ["pysemver = semver:main"]},
  File "/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python-semver/2.9.1-r0/recipe-sysroot-native/usr/lib/python2.7/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python-semver/2.9.1-r0/recipe-sysroot-native/usr/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python-semver/2.9.1-r0/recipe-sysroot-native/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python-semver/2.9.1-r0/recipe-sysroot-native/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 41, in run
    super(CleanCommand, self).run()
TypeError: super() argument 1 must be type, not classobj
WARNING: exit code 1 from a shell command.

Looking at the documentation for super() in Python 3 and Python 2 makes me wonder if super(CleanCommand, self).run() might be a typo and should have been super(Clean, self).run().

Changing super(CleanCommand, self).run() to super(Clean, self).run() apparently solves the problem for Python 3. For Python 2, the error message stays more or less the same:

ERROR: Execution of '/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python-semver/2.9.1-r0/temp/run.do_configure.2883' failed with exit code 1:
running clean
Traceback (most recent call last):
  File "setup.py", line 101, in <module>
    entry_points={"console_scripts": ["pysemver = semver:main"]},
  File "/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python-semver/2.9.1-r0/recipe-sysroot-native/usr/lib/python2.7/site-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python-semver/2.9.1-r0/recipe-sysroot-native/usr/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python-semver/2.9.1-r0/recipe-sysroot-native/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/yocto/build/3.0-zeus/bbb/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/python-semver/2.9.1-r0/recipe-sysroot-native/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 41, in run
    super(Clean, self).run()
TypeError: super() argument 1 must be type, not classobj
WARNING: exit code 1 from a shell command.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugError, flaw or fault to produce incorrect or unexpected resultsInfraAll about infrastructure (GitHub Action, project build etc.)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions