Your message dated Mon, 14 Sep 2026 17:49:36 +0000
with message-id <[email protected]>
and subject line Bug#1147565: fixed in scikit-build 0.19.1-1
has caused the Debian Bug report #1147565,
regarding scikit-build: autopkg tests fail with setuptools v84 (dry_run)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1147565: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1147565
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:scikit-build
Version: 0.18.1-6
Severity: serious
Tags: sid forky
User: [email protected]
Usertags: pkg-resources-deprecation

autopkg tests fail with setuptools v84 (dry_run):

[...]
100s autopkgtest [10:40:10]: test testsuite: [-----------------------
100s + cp -r tests /tmp/autopkgtest.JvuXDd/autopkgtest_tmp
100s + cp pyproject.toml /tmp/autopkgtest.JvuXDd/autopkgtest_tmp
100s + cd /tmp/autopkgtest.JvuXDd/autopkgtest_tmp
100s + py3versions -s
100s + python3.14 -m pytest -W ignore::DeprecationWarning -k not test_hello_sdist and not test_hello_sdist_with_base and not test_sdist_with_symlinks and not test_manifest_in_sdist and not test_generator_cleanup and not test_fortran and not test_pep518_findpython and not test_pep518 and not test_dual_pep518 and not test_hello_develop and not test_install_command and not test_help_commands and not test_test_command and not test_source_distribution and not test_wheel --ignore=tests/test_distribution.py 101s ============================= test session starts ==============================
101s platform linux -- Python 3.14.7, pytest-9.1.1, pluggy-1.6.0
101s installed packages of interest: build==1.5.1 distro==1.9.0 packaging==26.2 pip==26.1.2 scikit-build==0.18.1 setuptools==84.0.0 virtualenv==21.5.1 wheel==0.47.0
101s No cmake3 executable found on PATH
101s /usr/bin/cmake: cmake version 4.3.4
101s No ninja executable found on PATH
101s rootdir: /tmp/autopkgtest.JvuXDd/autopkgtest_tmp
101s configfile: pyproject.toml
101s testpaths: tests
101s plugins: mock-3.15.1
101s collected 238 items / 17 deselected / 1 skipped / 221 selected
101s
104s tests/test_broken_project.py ....... [ 3%] 104s tests/test_cmake_target.py . [ 3%] 105s tests/test_cmakelists_not_in_top_level_dir.py .... [ 5%] 108s tests/test_cmaker.py ............... [ 12%] 110s tests/test_command_line.py ............. [ 18%] 110s tests/test_constants.py . [ 18%] 112s tests/test_cython_flags.py . [ 19%] 113s tests/test_filter_manifest.py . [ 19%] 120s tests/test_hello_cpp.py ..F.. [ 21%] 125s tests/test_hello_cython.py ... [ 23%] 125s tests/test_hello_pure.py .... [ 24%] 126s tests/test_include_exclude_data.py .. [ 25%] 127s tests/test_issue284_build_ext_inplace.py F [ 26%] 128s tests/test_issue335_support_cmake_source_dir.py . [ 26%] 128s tests/test_issue342_cmake_osx_args_in_setup.py ......... [ 30%] 128s tests/test_issue352_isolated_environment_support.py . [ 31%] 131s tests/test_issue668_symbol_visibility.py .. [ 32%] 131s tests/test_logging.py .. [ 33%] 131s tests/test_manifest_in.py . [ 33%] 131s tests/test_outside_project_root.py sss [ 34%] 132s tests/test_platform.py .............s [ 41%] 138s tests/test_setup.py .............s...................................... [ 64%] 142s .........sss.sss.sss.sss.sss.sss.sss.sss..... [ 85%] 143s tests/test_skbuild.py .s...ssss [ 89%] 144s tests/test_skbuild_variable.py ... [ 90%] 144s tests/test_utils.py ..................... [100%]
144s
144s =================================== FAILURES =================================== 144s ________________________ test_hello_clean[with-dry-run] ________________________
144s
144s self = <distutils.fancy_getopt.FancyGetopt object at 0x7f578325b280>
144s args = ['--dry-run']
144s object = <distutils.fancy_getopt.OptionDummy object at 0x7f5783282940>
144s
144s def getopt(self, args: Sequence[str] | None = None, object=None): # noqa: C901 144s """Parse command-line options in args. Store as attributes on object.
144s
144s         If 'args' is None or not supplied, uses 'sys.argv[1:]'.  If
144s         'object' is None or not supplied, creates a new OptionDummy
144s         object, stores option values there, and returns a tuple (args,
144s         object).  If 'object' is supplied, it is modified in place and
144s         'getopt()' just returns 'args'; in both cases, the returned
144s         'args' is a modified copy of the passed-in 'args' list, which
144s         is left untouched.
144s         """
144s         if args is None:
144s             args = sys.argv[1:]
144s         if object is None:
144s             object = OptionDummy()
144s             created_object = True
144s         else:
144s             created_object = False
144s
144s         self._grok_option_table()
144s
144s         short_opts = ' '.join(self.short_opts)
144s         try:
144s > opts, args = getopt.getopt(args, short_opts, self.long_opts) 144s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
144s
144s args       = ['--dry-run']
144s created_object = True
144s object = <distutils.fancy_getopt.OptionDummy object at 0x7f5783282940> 144s self = <distutils.fancy_getopt.FancyGetopt object at 0x7f578325b280>
144s short_opts = 'v q h b: t: a'
144s
144s /usr/lib/python3/dist-packages/setuptools/_distutils/fancy_getopt.py:249: 144s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
144s /usr/lib/python3.14/getopt.py:96: in getopt
144s     opts, args = do_longs(opts, args[0][2:], longopts, args[1:])
144s                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
144s         args       = ['--dry-run']
144s longopts = ['verbose', 'quiet', 'help', 'no-user-cfg', 'hide-listing', 'force-cmake', ...]
144s         opts       = []
144s         shortopts  = 'v q h b: t: a'
144s /usr/lib/python3.14/getopt.py:171: in do_longs
144s     has_arg, opt = long_has_args(opt, longopts)
144s                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
144s         args       = []
144s longopts = ['verbose', 'quiet', 'help', 'no-user-cfg', 'hide-listing', 'force-cmake', ...]
144s         opt        = 'dry-run'
144s         optarg     = None
144s         opts       = []
144s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
144s
144s opt = 'dry-run'
144s longopts = ['verbose', 'quiet', 'help', 'no-user-cfg', 'hide-listing', 'force-cmake', ...]
144s
144s     def long_has_args(opt, longopts):
144s         possibilities = [o for o in longopts if o.startswith(opt)]
144s         if not possibilities:
144s > raise GetoptError(_('option --%s not recognized') % opt, opt)
144s E           getopt.GetoptError: option --dry-run not recognized
144s
144s longopts = ['verbose', 'quiet', 'help', 'no-user-cfg', 'hide-listing', 'force-cmake', ...]
144s opt        = 'dry-run'
144s possibilities = []
144s
144s /usr/lib/python3.14/getopt.py:188: GetoptError
144s
144s During handling of the above exception, another exception occurred:
144s
144s attrs = {'name': 'hello', 'version': '1.2.3', 'description': 'a minimal example package', 'author': 'The scikit-build team', ...}
144s
144s     def setup(**attrs):  # noqa: C901
144s """The gateway to the Distutils: do everything your setup script needs 144s to do, in a highly flexible and user-driven way. Briefly: create a 144s Distribution instance; find and parse config files; parse the command 144s line; run each Distutils command found there, customized by the options 144s supplied to 'setup()' (as keyword arguments), in config files, and on
144s         the command line.
144s
144s The Distribution instance might be an instance of a class supplied via 144s the 'distclass' keyword argument to 'setup'; if no such class is 144s supplied, then the Distribution class (in dist.py) is instantiated. 144s All other arguments to 'setup' (except for 'cmdclass') are used to set
144s         attributes of the Distribution instance.
144s
144s The 'cmdclass' argument, if supplied, is a dictionary mapping command 144s names to command classes. Each command encountered on the command line 144s will be turned into a command class, which is in turn instantiated; any 144s class found in 'cmdclass' is used in place of the default, which is
144s         (for command 'foo_bar') class 'foo_bar' in module
144s         'distutils.command.foo_bar'.  The command class must provide a
144s 'user_options' attribute which is a list of option specifiers for 144s 'distutils.fancy_getopt'. Any command-line options between the current 144s and the next command are used to set attributes of the current command
144s         object.
144s
144s When the entire command-line has been successfully parsed, calls the 144s 'run()' method on each command object in turn. This method will be 144s driven entirely by the Distribution object (which each command object
144s         has a reference to, thanks to its constructor), and the
144s         command-specific options that became attributes of each command
144s         object.
144s         """
144s
144s         global _setup_distribution
144s
144s         # Determine the distribution class -- either caller-supplied or
144s         # our Distribution (see below).
144s         klass = attrs.get('distclass')
144s         if klass:
144s             attrs.pop('distclass')
144s         else:
144s             klass = Distribution
144s
144s         if 'script_name' not in attrs:
144s             attrs['script_name'] = os.path.basename(sys.argv[0])
144s         if 'script_args' not in attrs:
144s             attrs['script_args'] = sys.argv[1:]
144s
144s # Create the Distribution instance, using the remaining arguments
144s         # (ie. everything except distclass) to initialize it
144s         try:
144s             _setup_distribution = dist = klass(attrs)
144s         except DistutilsSetupError as msg:
144s             if 'name' not in attrs:
144s                 raise SystemExit(f"error in setup command: {msg}")
144s             else:
144s raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
144s
144s         if _setup_stop_after == "init":
144s             return dist
144s
144s # Find and parse the config file(s): they will override options from
144s         # the setup script, but be overridden by the command line.
144s         dist.parse_config_files()
144s
144s         if DEBUG:
144s             print("options (after parsing config files):")
144s             dist.dump_option_dicts()
144s
144s         if _setup_stop_after == "config":
144s             return dist
144s
144s         # Parse the command line and override config files; any
144s # command-line errors are the end user's fault, so turn them into
144s         # SystemExit to suppress tracebacks.
144s         try:
144s >           ok = dist.parse_command_line()
144s                  ^^^^^^^^^^^^^^^^^^^^^^^^^
144s
144s attrs = {'name': 'hello', 'version': '1.2.3', 'description': 'a minimal example package', 'author': 'The scikit-build team', ...}
144s dist       = <setuptools.dist.Distribution object at 0x7f57833d9e50>
144s klass      = <class 'setuptools.dist.Distribution'>
144s
144s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:155:
144s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 144s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:531: in parse_command_line
144s     args = self._parse_command_opts(parser, args)
144s            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
144s         args       = ['clean', '--dry-run']
144s         option_order = []
144s parser = <distutils.fancy_getopt.FancyGetopt object at 0x7f578325b280> 144s self = <setuptools.dist.Distribution object at 0x7f57833d9e50> 144s toplevel_options = [('verbose', 'v', 'run verbosely (default)', 1), ('quiet', 'q', 'run quietly (turns verbosity off)'), ('help', 'h', 's...ne, 'do not display list of files being included in the distribution'), ('force-cmake', None, 'always run CMake'), ...] 144s /usr/lib/python3/dist-packages/setuptools/dist.py:1008: in _parse_command_opts
144s     nargs = _Distribution._parse_command_opts(self, parser, args)
144s             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
144s         aliases    = {}
144s         args       = ['clean', '--dry-run']
144s         command    = 'clean'
144s parser = <distutils.fancy_getopt.FancyGetopt object at 0x7f578325b280> 144s self = <setuptools.dist.Distribution object at 0x7f57833d9e50> 144s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:634: in _parse_command_opts
144s     (args, opts) = parser.getopt(args[1:])
144s                    ^^^^^^^^^^^^^^^^^^^^^^^
144s         Command    = <class 'distutils.cmd.Command'>
144s         args       = ['clean', '--dry-run']
144s         cmd_class  = <class 'skbuild.command.clean.clean'>
144s         command    = 'clean'
144s         help_options = []
144s         negative_opt = {'quiet': 'verbose'}
144s parser = <distutils.fancy_getopt.FancyGetopt object at 0x7f578325b280> 144s self = <setuptools.dist.Distribution object at 0x7f57833d9e50> 144s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
144s
144s self = <distutils.fancy_getopt.FancyGetopt object at 0x7f578325b280>
144s args = ['--dry-run']
144s object = <distutils.fancy_getopt.OptionDummy object at 0x7f5783282940>
144s
144s def getopt(self, args: Sequence[str] | None = None, object=None): # noqa: C901 144s """Parse command-line options in args. Store as attributes on object.
144s
144s         If 'args' is None or not supplied, uses 'sys.argv[1:]'.  If
144s         'object' is None or not supplied, creates a new OptionDummy
144s         object, stores option values there, and returns a tuple (args,
144s         object).  If 'object' is supplied, it is modified in place and
144s         'getopt()' just returns 'args'; in both cases, the returned
144s         'args' is a modified copy of the passed-in 'args' list, which
144s         is left untouched.
144s         """
144s         if args is None:
144s             args = sys.argv[1:]
144s         if object is None:
144s             object = OptionDummy()
144s             created_object = True
144s         else:
144s             created_object = False
144s
144s         self._grok_option_table()
144s
144s         short_opts = ' '.join(self.short_opts)
144s         try:
144s opts, args = getopt.getopt(args, short_opts, self.long_opts)
144s         except getopt.error as msg:
144s >           raise DistutilsArgError(msg)
144s E distutils.errors.DistutilsArgError: option --dry-run not recognized
144s
144s args       = ['--dry-run']
144s created_object = True
144s object = <distutils.fancy_getopt.OptionDummy object at 0x7f5783282940> 144s self = <distutils.fancy_getopt.FancyGetopt object at 0x7f578325b280>
144s short_opts = 'v q h b: t: a'
144s
144s /usr/lib/python3/dist-packages/setuptools/_distutils/fancy_getopt.py:251: DistutilsArgError
144s
144s During handling of the above exception, another exception occurred:
144s
144s dry_run = True
144s capfd = <_pytest.capture.CaptureFixture object at 0x7f5783348e50>
144s
144s @pytest.mark.parametrize("dry_run", ["with-dry-run", "without-dry-run"])
144s     def test_hello_clean(dry_run, capfd):
144s         with push_dir():
144s             dry_run = dry_run == "with-dry-run"
144s
144s             @project_setup_py_test("hello-cpp", ["build"], ret=True)
144s             def run_build():
144s                 pass
144s
144s             tmp_dir = run_build()[0]
144s
144s             assert tmp_dir.join(SKBUILD_DIR()).exists()
144s
144s             # XXX Since using capfd.disabled() context manager prevents
144s             # the output from being captured atfer it exits, we display
144s # a separator allowing to differentiate the build and clean output.
144s             print("<<-->>")
144s
144s             clean_args = ["clean"]
144s             if dry_run:
144s                 clean_args.append("--dry-run")
144s
144s @project_setup_py_test("hello-cpp", clean_args, tmp_dir=tmp_dir)
144s             def run_clean():
144s                 pass
144s
144s >           run_clean()
144s
144s capfd      = <_pytest.capture.CaptureFixture object at 0x7f5783348e50>
144s clean_args = ['clean', '--dry-run']
144s dry_run    = True
144s run_build = <function test_hello_clean.<locals>.run_build at 0x7f57833ae610> 144s run_clean = <function test_hello_clean.<locals>.run_clean at 0x7f5783259430>
144s tmp_dir    = local('/tmp/pytest-of-test/pytest-38/run_build0')
144s
144s tests/test_hello_cpp.py:131:
144s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
144s tests/__init__.py:259: in wrapped
144s with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 144s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
144s         disable_languages_test = False
144s fun = <function test_hello_clean.<locals>.run_clean at 0x7f5783339d20>
144s         iargs      = ()
144s         ikwargs    = {}
144s         ret        = False
144s wrapped = <function test_hello_clean.<locals>.run_clean at 0x7f5783259430>
144s /usr/lib/python3.14/contextlib.py:141: in __enter__
144s     return next(self.gen)
144s            ^^^^^^^^^^^^^^
144s self = <contextlib._GeneratorContextManager object at 0x7f578361b070>
144s tests/__init__.py:245: in execute_setup_py
144s     exec(setup_code)
144s         disable_languages_test = False
144s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'>
144s         project_dir = local('/tmp/pytest-of-test/pytest-38/run_build0')
144s         setup_args = ['clean', '--dry-run']
144s setup_code = <code object <module> at 0x7f57859132d0, file "setup.py", line 1> 144s to_clear = <class 'distutils.dir_util.SkipRepeatAbsolutePaths'>
144s setup.py:5: in <module>
144s     ???
144s         annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216)
144s         disable_languages_test = False
144s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'>
144s         project_dir = local('/tmp/pytest-of-test/pytest-38/run_build0')
144s         setup      = <function setup at 0x7f5783c207d0>
144s         setup_args = ['clean', '--dry-run']
144s setup_code = <code object <module> at 0x7f57859132d0, file "setup.py", line 1> 144s to_clear = <class 'distutils.dir_util.SkipRepeatAbsolutePaths'>
144s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:507: in setup
144s     return setuptools.setup(**kw)
144s            ^^^^^^^^^^^^^^^^^^^^^^
144s         cmake_args = ()
144s         cmake_args_from_args = []
144s         cmake_executable = None
144s         cmake_install_dir = ''
144s         cmake_install_target = 'install'
144s         cmake_languages = ('C', 'CXX')
144s         cmake_minimum_required_version = None
144s         cmake_process_manifest_hook = None
144s         cmake_source_dir = ''
144s         cmake_with_sdist = False
144s cmdclass = {'build': <class 'skbuild.command.build.build'>, 'build_py': <class 'skbuild.command.build_py.build_py'>, 'build_ext': <class 'skbuild.command.build_ext.build_ext'>, 'install': <class 'skbuild.command.install.install'>, ...}
144s         commands   = []
144s         display_only = False
144s         force_cmake = False
144s         has_cmakelists = True
144s         has_invalid_arguments = True
144s         help_commands = False
144s         hide_listing = False
144s kw = {'name': 'hello', 'version': '1.2.3', 'description': 'a minimal example package', 'author': 'The scikit-build team', ...}
144s         make_args  = []
144s         plat_name  = None
144s         skip_cmake = False
144s         skip_generator_test = False
144s         skip_skbuild = True
144s /usr/lib/python3/dist-packages/setuptools/__init__.py:117: in setup
144s     return distutils.core.setup(**attrs)  # type: ignore[return-value]
144s            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
144s attrs = {'name': 'hello', 'version': '1.2.3', 'description': 'a minimal example package', 'author': 'The scikit-build team', ...} 144s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
144s
144s attrs = {'name': 'hello', 'version': '1.2.3', 'description': 'a minimal example package', 'author': 'The scikit-build team', ...}
144s
144s     def setup(**attrs):  # noqa: C901
144s """The gateway to the Distutils: do everything your setup script needs 144s to do, in a highly flexible and user-driven way. Briefly: create a 144s Distribution instance; find and parse config files; parse the command 144s line; run each Distutils command found there, customized by the options 144s supplied to 'setup()' (as keyword arguments), in config files, and on
144s         the command line.
144s
144s The Distribution instance might be an instance of a class supplied via 144s the 'distclass' keyword argument to 'setup'; if no such class is 144s supplied, then the Distribution class (in dist.py) is instantiated. 144s All other arguments to 'setup' (except for 'cmdclass') are used to set
144s         attributes of the Distribution instance.
144s
144s The 'cmdclass' argument, if supplied, is a dictionary mapping command 144s names to command classes. Each command encountered on the command line 144s will be turned into a command class, which is in turn instantiated; any 144s class found in 'cmdclass' is used in place of the default, which is
144s         (for command 'foo_bar') class 'foo_bar' in module
144s         'distutils.command.foo_bar'.  The command class must provide a
144s 'user_options' attribute which is a list of option specifiers for 144s 'distutils.fancy_getopt'. Any command-line options between the current 144s and the next command are used to set attributes of the current command
144s         object.
144s
144s When the entire command-line has been successfully parsed, calls the 144s 'run()' method on each command object in turn. This method will be 144s driven entirely by the Distribution object (which each command object
144s         has a reference to, thanks to its constructor), and the
144s         command-specific options that became attributes of each command
144s         object.
144s         """
144s
144s         global _setup_distribution
144s
144s         # Determine the distribution class -- either caller-supplied or
144s         # our Distribution (see below).
144s         klass = attrs.get('distclass')
144s         if klass:
144s             attrs.pop('distclass')
144s         else:
144s             klass = Distribution
144s
144s         if 'script_name' not in attrs:
144s             attrs['script_name'] = os.path.basename(sys.argv[0])
144s         if 'script_args' not in attrs:
144s             attrs['script_args'] = sys.argv[1:]
144s
144s # Create the Distribution instance, using the remaining arguments
144s         # (ie. everything except distclass) to initialize it
144s         try:
144s             _setup_distribution = dist = klass(attrs)
144s         except DistutilsSetupError as msg:
144s             if 'name' not in attrs:
144s                 raise SystemExit(f"error in setup command: {msg}")
144s             else:
144s raise SystemExit("error in {} setup command: {}".format(attrs['name'], msg))
144s
144s         if _setup_stop_after == "init":
144s             return dist
144s
144s # Find and parse the config file(s): they will override options from
144s         # the setup script, but be overridden by the command line.
144s         dist.parse_config_files()
144s
144s         if DEBUG:
144s             print("options (after parsing config files):")
144s             dist.dump_option_dicts()
144s
144s         if _setup_stop_after == "config":
144s             return dist
144s
144s         # Parse the command line and override config files; any
144s # command-line errors are the end user's fault, so turn them into
144s         # SystemExit to suppress tracebacks.
144s         try:
144s             ok = dist.parse_command_line()
144s         except DistutilsArgError as msg:
144s > raise SystemExit(gen_usage(dist.script_name) + f"\nerror: {msg}") 144s E SystemExit: usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
144s E              or: setup.py --help [cmd1 cmd2 ...]
144s E              or: setup.py --help-commands
144s E              or: setup.py cmd --help
144s E
144s E           error: option --dry-run not recognized
144s
144s attrs = {'name': 'hello', 'version': '1.2.3', 'description': 'a minimal example package', 'author': 'The scikit-build team', ...}
144s dist       = <setuptools.dist.Distribution object at 0x7f57833d9e50>
144s klass      = <class 'setuptools.dist.Distribution'>
144s
144s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:157: SystemExit 144s ----------------------------- Captured stdout call ----------------------------- 144s Initialized empty Git repository in /tmp/pytest-of-test/pytest-38/run_build0/.git/
144s [master (root-commit) 6f49a3d] Initial commit
144s  11 files changed, 115 insertions(+)
144s  create mode 100644 CMakeLists.txt
144s  create mode 100644 bonjour/__init__.py
144s  create mode 100644 bonjour/data/ciel.txt
144s  create mode 100644 bonjour/data/soleil.txt
144s  create mode 100644 bonjour/data/terre.txt
144s  create mode 100644 bonjourModule.py
144s  create mode 100644 hello/CMakeLists.txt
144s  create mode 100644 hello/__init__.py
144s  create mode 100644 hello/__main__.py
144s  create mode 100644 hello/_hello.cxx
144s  create mode 100644 setup.py
144s
144s
144s --------------------------------------------------------------------------------
144s -- Trying 'Ninja' generator
144s --------------------------------
144s ---------------------------
144s ----------------------
144s -----------------
144s ------------
144s -------
144s --
144s Not searching for unused variables given on the command line.
144s -- Configuring incomplete, errors occurred!
144s --
144s -------
144s ------------
144s -----------------
144s ----------------------
144s ---------------------------
144s --------------------------------
144s -- Trying 'Ninja' generator - failure
144s --------------------------------------------------------------------------------
144s
144s
144s
144s --------------------------------------------------------------------------------
144s -- Trying 'Unix Makefiles' generator
144s --------------------------------
144s ---------------------------
144s ----------------------
144s -----------------
144s ------------
144s -------
144s --
144s Not searching for unused variables given on the command line.
144s -- The C compiler identification is GNU 16.2.0
144s -- Detecting C compiler ABI info
144s -- Detecting C compiler ABI info - done
144s -- Check for working C compiler: /usr/bin/cc - skipped
144s -- Detecting C compile features
144s -- Detecting C compile features - done
144s -- The CXX compiler identification is GNU 16.2.0
144s -- Detecting CXX compiler ABI info
144s -- Detecting CXX compiler ABI info - done
144s -- Check for working CXX compiler: /usr/bin/c++ - skipped
144s -- Detecting CXX compile features
144s -- Detecting CXX compile features - done
144s -- Configuring done (0.3s)
144s -- Generating done (0.0s)
144s -- Build files have been written to: /tmp/pytest-of-test/pytest-38/run_build0/_cmake_test_compile/build
144s --
144s -------
144s ------------
144s -----------------
144s ----------------------
144s ---------------------------
144s --------------------------------
144s -- Trying 'Unix Makefiles' generator - success
144s --------------------------------------------------------------------------------
144s
144s Configuring Project
144s   Working directory:
144s /tmp/pytest-of-test/pytest-38/run_build0/_skbuild/linux-x86_64-3.14/cmake-build
144s   Command:
144s /usr/bin/cmake /tmp/pytest-of-test/pytest-38/run_build0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-test/pytest-38/run_build0/_skbuild/linux-x86_64-3.14/cmake-install -DPYTHON_VERSION_STRING:STRING=3.14.7 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.14 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.14 -DPYTHON_LIBRARY:PATH=/usr/lib/x86_64-linux-gnu/libpython3.14.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.14 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.14 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.14 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.14 -DCMAKE_BUILD_TYPE:STRING=Release
144s
144s Not searching for unused variables given on the command line.
144s -- The C compiler identification is GNU 16.2.0
144s -- The CXX compiler identification is GNU 16.2.0
144s -- Detecting C compiler ABI info
144s -- Detecting C compiler ABI info - done
144s -- Check for working C compiler: /usr/bin/cc - skipped
144s -- Detecting C compile features
144s -- Detecting C compile features - done
144s -- Detecting CXX compiler ABI info
144s -- Detecting CXX compiler ABI info - done
144s -- Check for working CXX compiler: /usr/bin/c++ - skipped
144s -- Detecting CXX compile features
144s -- Detecting CXX compile features - done
144s -- Found PythonInterp: /usr/bin/python3.14 (found version "3.14.7")
144s -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.14.so (found version "3.14.7")
144s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success
144s -- Configuring done (0.7s)
144s -- Generating done (0.0s)
144s -- Build files have been written to: /tmp/pytest-of-test/pytest-38/run_build0/_skbuild/linux-x86_64-3.14/cmake-build
144s [ 50%] Building CXX object hello/CMakeFiles/_hello.dir/_hello.cxx.o
144s [100%] Linking CXX shared module _hello.cpython-314-x86_64-linux-gnu.so
144s [100%] Built target _hello
144s Install the project...
144s -- Install configuration: "Release"
144s -- Installing: /tmp/pytest-of-test/pytest-38/run_build0/_skbuild/linux-x86_64-3.14/cmake-install/./helloModule.py 144s -- Installing: /tmp/pytest-of-test/pytest-38/run_build0/_skbuild/linux-x86_64-3.14/cmake-install/hello/_hello.cpython-314-x86_64-linux-gnu.so 144s -- Installing: /tmp/pytest-of-test/pytest-38/run_build0/_skbuild/linux-x86_64-3.14/cmake-install/hello/world.py
144s
144s copying bonjourModule.py -> _skbuild/linux-x86_64-3.14/cmake-install/bonjourModule.py
144s creating directory _skbuild/linux-x86_64-3.14/cmake-install/bonjour
144s copying bonjour/__init__.py -> _skbuild/linux-x86_64-3.14/cmake-install/bonjour/__init__.py 144s copying hello/__init__.py -> _skbuild/linux-x86_64-3.14/cmake-install/hello/__init__.py 144s copying hello/__main__.py -> _skbuild/linux-x86_64-3.14/cmake-install/hello/__main__.py 144s creating directory _skbuild/linux-x86_64-3.14/cmake-install/bonjour/data 144s copying /tmp/pytest-of-test/pytest-38/run_build0/bonjour/data/ciel.txt -> _skbuild/linux-x86_64-3.14/cmake-install/bonjour/data/ciel.txt 144s copying /tmp/pytest-of-test/pytest-38/run_build0/bonjour/data/soleil.txt -> _skbuild/linux-x86_64-3.14/cmake-install/bonjour/data/soleil.txt 144s copying /tmp/pytest-of-test/pytest-38/run_build0/bonjour/data/terre.txt -> _skbuild/linux-x86_64-3.14/cmake-install/bonjour/data/terre.txt 144s copying /tmp/pytest-of-test/pytest-38/run_build0/bonjour/data/terre.txt -> _skbuild/linux-x86_64-3.14/cmake-install/bonjour/data/terre.txt
144s
144s <<-->>
144s ----------------------------- Captured stderr call ----------------------------- 144s hint: Using 'master' as the name for the initial branch. This default branch name 144s hint: will change to "main" in Git 3.0. To configure the initial branch name 144s hint: to use in all of your new repositories, which will suppress this warning,
144s hint: call:
144s hint:
144s hint:      git config --global init.defaultBranch <name>
144s hint:
144s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
144s hint: 'development'. The just-created branch can be renamed via this command:
144s hint:
144s hint:      git branch -m <name>
144s hint:
144s hint: Disable this message with "git config set advice.defaultBranchName false"
144s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
144s Compatibility with CMake < 3.10 will be removed from a future version of
144s   CMake.
144s
144s Update the VERSION argument <min> value. Or, use the <min>...<max> syntax 144s to tell CMake that the project requires at least <min> but has been updated
144s   to work with policies introduced by <max> or earlier.
144s
144s
144s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
144s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
144s Compatibility with CMake < 3.10 will be removed from a future version of
144s   CMake.
144s
144s Update the VERSION argument <min> value. Or, use the <min>...<max> syntax 144s to tell CMake that the project requires at least <min> but has been updated
144s   to work with policies introduced by <max> or earlier.
144s
144s
144s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
144s Compatibility with CMake < 3.10 will be removed from a future version of
144s   CMake.
144s
144s Update the VERSION argument <min> value. Or, use the <min>...<max> syntax 144s to tell CMake that the project requires at least <min> but has been updated
144s   to work with policies introduced by <max> or earlier.
144s
144s
144s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 144s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 144s are removed. Run "cmake --help-policy CMP0148" for policy details. Use
144s   the cmake_policy command to set the policy and suppress this warning.
144s
144s Call Stack (most recent call first):
144s   CMakeLists.txt:5 (find_package)
144s This warning is for project developers.  Use -Wno-dev to suppress it.
144s
144s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 144s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 144s are removed. Run "cmake --help-policy CMP0148" for policy details. Use
144s   the cmake_policy command to set the policy and suppress this warning.
144s
144s Call Stack (most recent call first):
144s   CMakeLists.txt:5 (find_package)
144s This warning is for project developers.  Use -Wno-dev to suppress it.
144s
144s _modinit_prefix:PyInit_
144s ------------------------------ Captured log call -------------------------------
144s INFO     root:dist.py:1044 running build
144s INFO     root:dist.py:1044 running build_py
144s INFO root:dir_util.py:58 creating _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314 144s INFO root:file_util.py:128 copying _skbuild/linux-x86_64-3.14/cmake-install/bonjourModule.py -> _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314 144s INFO root:file_util.py:128 copying _skbuild/linux-x86_64-3.14/cmake-install/helloModule.py -> _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314 144s INFO root:dir_util.py:58 creating _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314/bonjour 144s INFO root:file_util.py:128 copying _skbuild/linux-x86_64-3.14/cmake-install/bonjour/__init__.py -> _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314/bonjour 144s INFO root:dir_util.py:58 creating _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314/hello 144s INFO root:file_util.py:128 copying _skbuild/linux-x86_64-3.14/cmake-install/hello/__main__.py -> _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314/hello 144s INFO root:file_util.py:128 copying _skbuild/linux-x86_64-3.14/cmake-install/hello/__init__.py -> _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314/hello 144s INFO root:file_util.py:128 copying _skbuild/linux-x86_64-3.14/cmake-install/hello/world.py -> _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314/hello 144s INFO root:dir_util.py:58 creating _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314/bonjour/data 144s INFO root:file_util.py:128 copying _skbuild/linux-x86_64-3.14/cmake-install/bonjour/data/terre.txt -> _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314/bonjour/data 144s INFO root:file_util.py:128 copying _skbuild/linux-x86_64-3.14/cmake-install/bonjour/data/soleil.txt -> _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314/bonjour/data 144s INFO root:file_util.py:128 copying _skbuild/linux-x86_64-3.14/cmake-install/bonjour/data/ciel.txt -> _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314/bonjour/data 144s INFO root:file_util.py:128 copying _skbuild/linux-x86_64-3.14/cmake-install/hello/_hello.cpython-314-x86_64-linux-gnu.so -> _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314/hello
144s INFO     skbuild:build_py.py:42 copied 6 files
144s INFO     root:dist.py:1044 running build_ext
144s ________________________ test_build_ext_inplace_command ________________________
144s
144s iargs = (), ikwargs = {}
144s
144s     @functools.wraps(fun)
144s     def wrapped(*iargs, **ikwargs):
144s         if wrapped.tmp_dir is None:  # type: ignore[attr-defined]
144s wrapped.tmp_dir = _tmpdir(fun.__name__) # type: ignore[attr-defined] 144s prepare_project(wrapped.project, wrapped.tmp_dir) # type: ignore[attr-defined] 144s initialize_git_repo_and_commit(wrapped.tmp_dir, verbose=wrapped.verbose_git) # type: ignore[attr-defined]
144s
144s > with execute_setup_py(wrapped.tmp_dir, wrapped.setup_args, disable_languages_test=disable_languages_test): # type: ignore[attr-defined] 144s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
144s
144s disable_languages_test = True
144s fun = <function test_build_ext_inplace_command at 0x7f5783440460>
144s iargs      = ()
144s ikwargs    = {}
144s ret        = False
144s wrapped = <function test_build_ext_inplace_command at 0x7f5783440510>
144s
144s tests/__init__.py:259:
144s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
144s /usr/lib/python3.14/contextlib.py:141: in __enter__
144s     return next(self.gen)
144s            ^^^^^^^^^^^^^^
144s self = <contextlib._GeneratorContextManager object at 0x7f57832d4fa0>
144s tests/__init__.py:242: in execute_setup_py
144s     exec(setup_code)
144s         disable_languages_test = True
144s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 144s original_write_test_cmakelist = <function CMakePlatform.write_test_cmakelist at 0x7f57841aa8d0> 144s platform = <skbuild.platform_specifics.linux.LinuxPlatform object at 0x7f5782f9bf50> 144s project_dir = local('/tmp/pytest-of-test/pytest-50/test_build_ext_inplace_command0')
144s         setup_args = ['build_ext', '--inplace']
144s setup_code = <code object <module> at 0x7f57833b9cb0, file "setup.py", line 1> 144s to_clear = <class 'distutils.dir_util.SkipRepeatAbsolutePaths'> 144s write_test_cmakelist_no_languages = <function execute_setup_py.<locals>.write_test_cmakelist_no_languages at 0x7f578339c1a0>
144s setup.py:7: in <module>
144s     ???
144s         Extension  = <class 'setuptools.extension.Extension'>
144s         annotations = _Feature((3, 7, 0, 'beta', 1), None, 16777216)
144s         disable_languages_test = True
144s fp = <_io.TextIOWrapper name='setup.py' mode='r' encoding='UTF-8'> 144s original_write_test_cmakelist = <function CMakePlatform.write_test_cmakelist at 0x7f57841aa8d0> 144s platform = <skbuild.platform_specifics.linux.LinuxPlatform object at 0x7f5782f9bf50> 144s project_dir = local('/tmp/pytest-of-test/pytest-50/test_build_ext_inplace_command0')
144s         setup      = <function setup at 0x7f5783c207d0>
144s         setup_args = ['build_ext', '--inplace']
144s setup_code = <code object <module> at 0x7f57833b9cb0, file "setup.py", line 1> 144s to_clear = <class 'distutils.dir_util.SkipRepeatAbsolutePaths'> 144s write_test_cmakelist_no_languages = <function execute_setup_py.<locals>.write_test_cmakelist_no_languages at 0x7f578339c1a0>
144s /usr/lib/python3/dist-packages/skbuild/setuptools_wrap.py:775: in setup
144s     return setuptools.setup(**kw)
144s            ^^^^^^^^^^^^^^^^^^^^^^
144s BinaryDistribution = <class 'skbuild.setuptools_wrap.setup.<locals>.BinaryDistribution'>
144s         build_ext_inplace = 1
144s         cmake_args = ['-DCMAKE_BUILD_TYPE:STRING=Release']
144s         cmake_args_from_args = []
144s         cmake_executable = '/usr/bin/cmake'
144s cmake_file = '_skbuild/linux-x86_64-3.14/cmake-install/hello/_hello_sk.cpython-314-x86_64-linux-gnu.so'
144s         cmake_install_dir = ''
144s         cmake_install_target = 'install'
144s         cmake_install_target_from_command = ''
144s         cmake_install_target_from_setup = 'install'
144s         cmake_languages = ('C', 'CXX')
144s cmake_manifest = ['_skbuild/linux-x86_64-3.14/cmake-install/hello/_hello_sk.cpython-314-x86_64-linux-gnu.so']
144s         cmake_minimum_required_version = None
144s         cmake_process_manifest_hook = None
144s         cmake_source_dir = ''
144s cmake_spec = {'args': ['/usr/bin/cmake', '-DCMAKE_BUILD_TYPE:STRING=Release'], 'version': '4.3.4', 'environment': {'PYTHONNOUSERSITE': None, 'PYTHONPATH': None}}
144s         cmake_with_sdist = False
144s cmdclass = {'build': <class 'skbuild.command.build.build'>, 'build_py': <class 'skbuild.command.build_py.build_py'>, 'build_ext': <class 'skbuild.command.build_ext.build_ext'>, 'install': <class 'skbuild.command.install.install'>, ...}
144s         cmkr       = <skbuild.cmaker.CMaker object at 0x7f5782fbc830>
144s         commands   = ['build_ext']
144s         config_type = 'Release'
144s         data_files = {}
144s         developer_mode = 1
144s         display_only = False
144s env = {'MAIL': '/var/mail/test', 'USER': 'test', 'AUTOPKGTEST_TEST_ARCH': 'amd64', 'SHLVL': '1', ...}
144s         env_cmake_args = []
144s         force_cmake = False
144s         has_cmakelists = True
144s         has_invalid_arguments = False
144s         help_commands = False
144s         hide_listing = False
144s kw = {'name': 'hello', 'version': '1.2.3', 'description': 'a minimal example package', 'author': 'The scikit-build team', ...}
144s         make_args  = ['--config', 'Release']
144s         new_py_modules = {}
144s         new_scripts = {}
144s         original_manifestin_data_files = []
144s         package    = 'hello'
144s package_data = {'hello': ['_hello_sk.cpython-314-x86_64-linux-gnu.so']}
144s         package_dir = {'hello': 'hello'}
144s         package_file = '_hello_sk.cpython-314-x86_64-linux-gnu.so'
144s package_file_list = ['_hello_sk.cpython-314-x86_64-linux-gnu.so'] 144s package_path = 'hello/_hello_sk.cpython-314-x86_64-linux-gnu.so'
144s         package_prefixes = [('hello', 'hello')]
144s         packages   = ['hello']
144s         plat_name  = None
144s         process_manifest = None
144s         py_modules = []
144s         scripts    = []
144s         skip_cmake = False
144s         skip_generator_test = False
144s         skip_skbuild = False
144s /usr/lib/python3/dist-packages/setuptools/__init__.py:117: in setup
144s     return distutils.core.setup(**attrs)  # type: ignore[return-value]
144s            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
144s attrs = {'name': 'hello', 'version': '1.2.3', 'description': 'a minimal example package', 'author': 'The scikit-build team', ...} 144s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:168: in setup
144s     return run_commands(dist)
144s            ^^^^^^^^^^^^^^^^^^
144s attrs = {'name': 'hello', 'version': '1.2.3', 'description': 'a minimal example package', 'author': 'The scikit-build team', ...} 144s dist = <skbuild.setuptools_wrap.setup.<locals>.BinaryDistribution object at 0x7f5783500ec0> 144s klass = <class 'skbuild.setuptools_wrap.setup.<locals>.BinaryDistribution'>
144s         ok         = True
144s /usr/lib/python3/dist-packages/setuptools/_distutils/core.py:184: in run_commands
144s     dist.run_commands()
144s dist = <skbuild.setuptools_wrap.setup.<locals>.BinaryDistribution object at 0x7f5783500ec0> 144s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:1028: in run_commands
144s     self.run_command(cmd)
144s         cmd        = 'build_ext'
144s self = <skbuild.setuptools_wrap.setup.<locals>.BinaryDistribution object at 0x7f5783500ec0>
144s /usr/lib/python3/dist-packages/setuptools/dist.py:1106: in run_command
144s     super().run_command(command)
144s         __class__  = <class 'setuptools.dist.Distribution'>
144s         command    = 'build_ext'
144s self = <skbuild.setuptools_wrap.setup.<locals>.BinaryDistribution object at 0x7f5783500ec0> 144s /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:1047: in run_command
144s     cmd_obj.run()
144s cmd_obj = <skbuild.command.build_ext.build_ext object at 0x7f57833dae90>
144s         command    = 'build_ext'
144s self = <skbuild.setuptools_wrap.setup.<locals>.BinaryDistribution object at 0x7f5783500ec0> 144s /usr/lib/python3/dist-packages/setuptools/command/build_ext.py:98: in run
144s     self.copy_extensions_to_source()
144s         old_inplace = 1
144s self = <skbuild.command.build_ext.build_ext object at 0x7f57833dae90> 144s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
144s
144s self = <skbuild.command.build_ext.build_ext object at 0x7f57833dae90>
144s
144s     def copy_extensions_to_source(self) -> None:
144s         """This function is only-called when doing inplace build.
144s
144s It is customized to ensure the extensions compiled using distutils 144s are copied back to the source tree instead of the :func:`skbuild.constants.CMAKE_INSTALL_DIR()`.
144s         """
144s         build_py = self.get_finalized_command("build_py")
144s         for ext in self.extensions:
144s             fullname: str = self.get_ext_fullname(ext.name)
144s filename: str = self.get_ext_filename(fullname) # type: ignore[no-untyped-call]
144s             modpath = fullname.split(".")
144s             package = ".".join(modpath[:-1])
144s package_dir = build_py.get_package_dir(package) # type: ignore[attr-defined]
144s             # skbuild: strip install dir for inplace build
144s             package_dir = package_dir[len(CMAKE_INSTALL_DIR()) + 1 :]
144s dest_filename = os.path.join(package_dir, os.path.basename(filename))
144s             src_filename = os.path.join(self.build_lib, filename)
144s
144s # Always copy, even if source is older than destination, to ensure 144s # that the right extensions for the current Python/platform are
144s             # used.
144s > copy_file(src_filename, dest_filename, verbose=self.verbose, dry_run=self.dry_run) # type: ignore[attr-defined] 144s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 144s E TypeError: copy_file() got an unexpected keyword argument 'dry_run'
144s
144s build_py = <skbuild.command.build_py.build_py object at 0x7f578330d050>
144s dest_filename = 'hello/_hello_ext.cpython-314-x86_64-linux-gnu.so'
144s ext = Extension(name='hello._hello_ext', sources=['hello/_hello_ext.cxx'], include_dirs=[], define_macros=[], undef_macros=[...=[], extra_link_args=[], export_symbols=['PyInit__hello_ext'], swig_opts=[], depends=[], language=None, optional=False)
144s filename   = 'hello/_hello_ext.cpython-314-x86_64-linux-gnu.so'
144s fullname   = 'hello._hello_ext'
144s modpath    = ['hello', '_hello_ext']
144s package    = 'hello'
144s package_dir = 'hello'
144s self = <skbuild.command.build_ext.build_ext object at 0x7f57833dae90> 144s src_filename = '_skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314/hello/_hello_ext.cpython-314-x86_64-linux-gnu.so'
144s
144s /usr/lib/python3/dist-packages/skbuild/command/build_ext.py:38: TypeError 144s ----------------------------- Captured stdout call ----------------------------- 144s Initialized empty Git repository in /tmp/pytest-of-test/pytest-50/test_build_ext_inplace_command0/.git/
144s [master (root-commit) e1cef45] Initial commit
144s  5 files changed, 160 insertions(+)
144s  create mode 100644 CMakeLists.txt
144s  create mode 100644 hello/__init__.py
144s  create mode 100644 hello/_hello_ext.cxx
144s  create mode 100644 hello/_hello_sk.cxx
144s  create mode 100644 setup.py
144s
144s
144s --------------------------------------------------------------------------------
144s -- Trying 'Ninja' generator
144s --------------------------------
144s ---------------------------
144s ----------------------
144s -----------------
144s ------------
144s -------
144s --
144s Not searching for unused variables given on the command line.
144s -- Configuring incomplete, errors occurred!
144s --
144s -------
144s ------------
144s -----------------
144s ----------------------
144s ---------------------------
144s --------------------------------
144s -- Trying 'Ninja' generator - failure
144s --------------------------------------------------------------------------------
144s
144s
144s
144s --------------------------------------------------------------------------------
144s -- Trying 'Unix Makefiles' generator
144s --------------------------------
144s ---------------------------
144s ----------------------
144s -----------------
144s ------------
144s -------
144s --
144s Not searching for unused variables given on the command line.
144s -- Configuring done (0.0s)
144s -- Generating done (0.0s)
144s -- Build files have been written to: /tmp/pytest-of-test/pytest-50/test_build_ext_inplace_command0/_cmake_test_compile/build
144s --
144s -------
144s ------------
144s -----------------
144s ----------------------
144s ---------------------------
144s --------------------------------
144s -- Trying 'Unix Makefiles' generator - success
144s --------------------------------------------------------------------------------
144s
144s Configuring Project
144s   Working directory:
144s /tmp/pytest-of-test/pytest-50/test_build_ext_inplace_command0/_skbuild/linux-x86_64-3.14/cmake-build
144s   Command:
144s /usr/bin/cmake /tmp/pytest-of-test/pytest-50/test_build_ext_inplace_command0 -G 'Unix Makefiles' --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pytest-of-test/pytest-50/test_build_ext_inplace_command0/_skbuild/linux-x86_64-3.14/cmake-install -DPYTHON_VERSION_STRING:STRING=3.14.7 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/usr/lib/python3/dist-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3.14 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.14 -DPYTHON_LIBRARY:PATH=/usr/lib/x86_64-linux-gnu/libpython3.14.so -DPython_EXECUTABLE:PATH=/usr/bin/python3.14 -DPython_ROOT_DIR:PATH=/usr -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/usr/include/python3.14 -DPython3_EXECUTABLE:PATH=/usr/bin/python3.14 -DPython3_ROOT_DIR:PATH=/usr -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.14 -DCMAKE_BUILD_TYPE:STRING=Release
144s
144s Not searching for unused variables given on the command line.
144s -- The C compiler identification is GNU 16.2.0
144s -- The CXX compiler identification is GNU 16.2.0
144s -- Detecting C compiler ABI info
144s -- Detecting C compiler ABI info - done
144s -- Check for working C compiler: /usr/bin/cc - skipped
144s -- Detecting C compile features
144s -- Detecting C compile features - done
144s -- Detecting CXX compiler ABI info
144s -- Detecting CXX compiler ABI info - done
144s -- Check for working CXX compiler: /usr/bin/c++ - skipped
144s -- Detecting CXX compile features
144s -- Detecting CXX compile features - done
144s -- Found PythonInterp: /usr/bin/python3.14 (found version "3.14.7")
144s -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.14.so (found version "3.14.7")
144s -- Performing Test Weak Link MODULE -> SHARED (gnu_ld_ignore) - Success
144s -- Configuring done (0.6s)
144s -- Generating done (0.0s)
144s -- Build files have been written to: /tmp/pytest-of-test/pytest-50/test_build_ext_inplace_command0/_skbuild/linux-x86_64-3.14/cmake-build 144s [ 50%] Building CXX object CMakeFiles/_hello_sk.dir/hello/_hello_sk.cxx.o 144s [100%] Linking CXX shared module _hello_sk.cpython-314-x86_64-linux-gnu.so
144s [100%] Built target _hello_sk
144s Install the project...
144s -- Install configuration: "Release"
144s -- Installing: /tmp/pytest-of-test/pytest-50/test_build_ext_inplace_command0/_skbuild/linux-x86_64-3.14/cmake-install/hello/_hello_sk.cpython-314-x86_64-linux-gnu.so 144s copying _skbuild/linux-x86_64-3.14/cmake-install/hello/_hello_sk.cpython-314-x86_64-linux-gnu.so -> hello/_hello_sk.cpython-314-x86_64-linux-gnu.so
144s
144s ----------------------------- Captured stderr call ----------------------------- 144s hint: Using 'master' as the name for the initial branch. This default branch name 144s hint: will change to "main" in Git 3.0. To configure the initial branch name 144s hint: to use in all of your new repositories, which will suppress this warning,
144s hint: call:
144s hint:
144s hint:      git config --global init.defaultBranch <name>
144s hint:
144s hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
144s hint: 'development'. The just-created branch can be renamed via this command:
144s hint:
144s hint:      git branch -m <name>
144s hint:
144s hint: Disable this message with "git config set advice.defaultBranchName false"
144s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
144s Compatibility with CMake < 3.10 will be removed from a future version of
144s   CMake.
144s
144s Update the VERSION argument <min> value. Or, use the <min>...<max> syntax 144s to tell CMake that the project requires at least <min> but has been updated
144s   to work with policies introduced by <max> or earlier.
144s
144s
144s CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
144s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
144s Compatibility with CMake < 3.10 will be removed from a future version of
144s   CMake.
144s
144s Update the VERSION argument <min> value. Or, use the <min>...<max> syntax 144s to tell CMake that the project requires at least <min> but has been updated
144s   to work with policies introduced by <max> or earlier.
144s
144s
144s CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
144s Compatibility with CMake < 3.10 will be removed from a future version of
144s   CMake.
144s
144s Update the VERSION argument <min> value. Or, use the <min>...<max> syntax 144s to tell CMake that the project requires at least <min> but has been updated
144s   to work with policies introduced by <max> or earlier.
144s
144s
144s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:245 (find_package): 144s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 144s are removed. Run "cmake --help-policy CMP0148" for policy details. Use
144s   the cmake_policy command to set the policy and suppress this warning.
144s
144s Call Stack (most recent call first):
144s   CMakeLists.txt:5 (find_package)
144s This warning is for project developers.  Use -Wno-dev to suppress it.
144s
144s CMake Warning (dev) at /usr/lib/python3/dist-packages/skbuild/resources/cmake/FindPythonExtensions.cmake:252 (find_package): 144s Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules 144s are removed. Run "cmake --help-policy CMP0148" for policy details. Use
144s   the cmake_policy command to set the policy and suppress this warning.
144s
144s Call Stack (most recent call first):
144s   CMakeLists.txt:5 (find_package)
144s This warning is for project developers.  Use -Wno-dev to suppress it.
144s
144s _modinit_prefix:PyInit_
144s ------------------------------ Captured log call -------------------------------
144s INFO     root:dist.py:1044 running build_ext
144s INFO     root:build_ext.py:552 building 'hello._hello_ext' extension
144s INFO compilers.C.base:base.py:1176 x86_64-linux-gnu-g++ -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -fPIC -I/usr/include/python3.14 -c hello/_hello_ext.cxx -o _skbuild/linux-x86_64-3.14/setuptools/temp.linux-x86_64-cpython-314/hello/_hello_ext.o 144s INFO compilers.C.base:base.py:1176 x86_64-linux-gnu-g++ -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 _skbuild/linux-x86_64-3.14/setuptools/temp.linux-x86_64-cpython-314/hello/_hello_ext.o -L/usr/lib/x86_64-linux-gnu -o _skbuild/linux-x86_64-3.14/setuptools/lib.linux-x86_64-cpython-314/hello/_hello_ext.cpython-314-x86_64-linux-gnu.so 144s =========================== short test summary info ============================ 144s SKIPPED [1] tests/test_hello_fortran.py:19: could not import 'numpy': No module named 'numpy' 144s SKIPPED [3] tests/test_outside_project_root.py:19: deprecation warning with setuptools 75.x
144s SKIPPED [1] tests/test_platform.py:120: Requires Windows
144s SKIPPED [1] tests/test_setup.py:319: deprecation warning with setuptools 75.x 144s SKIPPED [24] tests/test_setup.py:583: unsupported configuration: python package fully generated by CMake does *NOT* work. At least __init__.py should be in the project source tree 144s SKIPPED [1] tests/test_skbuild.py:84: NMake Makefiles generator is not available on Linux
144s SKIPPED [3] tests/test_skbuild.py:130: Requires Windows
144s SKIPPED [1] tests/test_skbuild.py:154: Requires Windows
144s FAILED tests/test_hello_cpp.py::test_hello_clean[with-dry-run] - SystemExit: ... 144s FAILED tests/test_issue284_build_ext_inplace.py::test_build_ext_inplace_command 144s ========== 2 failed, 185 passed, 35 skipped, 17 deselected in 43.27s ===========
--- End Message ---
--- Begin Message ---
Source: scikit-build
Source-Version: 0.19.1-1
Done: Alexandre Detiste <[email protected]>

We believe that the bug you reported is fixed in the latest version of
scikit-build, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Alexandre Detiste <[email protected]> (supplier of updated scikit-build package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Mon, 14 Sep 2026 19:36:49 +0200
Source: scikit-build
Architecture: source
Version: 0.19.1-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Alexandre Detiste <[email protected]>
Closes: 1147358 1147565
Changes:
 scikit-build (0.19.1-1) unstable; urgency=medium
 .
   * Team upload.
   * New upstream version 0.19.1 (Closes: #1147358, #1147565)
Checksums-Sha1:
 4b04a865e7d56ab4a924a605c6eb5a90685b3c31 2897 scikit-build_0.19.1-1.dsc
 eeb28fd7811bf43818a50cb845a52b20dfa10b76 274565 scikit-build_0.19.1.orig.tar.gz
 2531dfd4b951067a9c6176a3c59eacd14a2ca37e 6012 
scikit-build_0.19.1-1.debian.tar.xz
 db57de4dc3401dd28667c7aff7aba716e25b103a 10102 
scikit-build_0.19.1-1_source.buildinfo
Checksums-Sha256:
 9ab22026263f7e4468067ff3b7017f55f8207450fe1d3726daf4a004c8f61e1c 2897 
scikit-build_0.19.1-1.dsc
 8777e70237db5636bf2cd4c8b1b4b08972142d33732630f31e0915e0ebd78922 274565 
scikit-build_0.19.1.orig.tar.gz
 5670ff5c1b2dd26b8538813da1a82e4e1bfe974252a7c9848d9147ac6dde5b55 6012 
scikit-build_0.19.1-1.debian.tar.xz
 54114275cee5cb07a2affbdd384c8bf98906fa8e1058263bbc9b3ae1c48b89ee 10102 
scikit-build_0.19.1-1_source.buildinfo
Files:
 7aae6296a1ce532b868ea260b224eb31 2897 python optional scikit-build_0.19.1-1.dsc
 f4391426e05c91e986833e63af6d1f36 274565 python optional 
scikit-build_0.19.1.orig.tar.gz
 d1f41fe9476aa8a8032b19a7480afcb6 6012 python optional 
scikit-build_0.19.1-1.debian.tar.xz
 48bf8ee772528706294631ab72c0a63d 10102 python optional 
scikit-build_0.19.1-1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEEj23hBDd/OxHnQXSHMfMURUShdBoFAmqoMUsRHHRjaGV0QGRl
Ymlhbi5vcmcACgkQMfMURUShdBqN5A//f1QruFuzHBnKPbY2WNgxIlKCc9ZrvEQ1
dV47RnUtMokdRdwge3011ho6AJYq7ijrR10X0UX+PyMXe/gI+d++1dwrN7WOPBpf
Ff+jJI5bf6KJ5G4OKIGSG24NsoinF/goR7JF5zovc1MeJDvfDG8lqlA5rl/1qaUN
pmnpls8Y2rsZbpihCJSjFelYEXpdB9QCscNQAJ4R5s936PLhCXs7W6ucJbcHcuXi
63+TojBjvH5SZ53iBLPgs+7k5KmEReDAIeYujuq84ybUXaregU7WqobjOW+DCkTR
Olr1YjbTh/OCr6sSZY6TS5f80xT2B6FBw81L6e/R8iAslj+v8I+9ncW37im08RhH
xTLA1RoFoNWoFEmslQW5F7lJWKciKOvVH2JC2OBuOXD7HqBKk6hsQWPmJvnKFPP5
bjIBbH7CNoA+nbYqhTOFQQA9kmbVKrFK05XtFDXf5+2Rh/nkIa2SRbFTUiRfJ857
badfeVkAYjBc8ubLrcOq3ALolu61LFpQ2hau2tG725D6U5uVzNshcWHj52ysYkBI
23HE34N8+p3GvzmptQ2sFHNgdYrrFe87Evm9fC+m5OPormpuAhaDyAAx+sBpeqvU
OFUtXoWp2M8YSomycC8lLGjy3kgumrf9hOziIc891AaonktClU+Gd3eni3o73VVF
RIQmH7jg2Hg=
=EjMM
-----END PGP SIGNATURE-----

Attachment: pgpYsXeWNgx2d.pgp
Description: PGP signature


--- End Message ---

Reply via email to