Package Details: python-lineprofiler 4.1.2-1

Git Clone URL: https://aur.archlinux.org/python-lineprofiler.git (read-only, click to copy)
Package Base: python-lineprofiler
Description: Line-by-line profiler
Upstream URL: https://pypi.python.org/pypi/line_profiler
Licenses: BSD
Submitter: richli
Maintainer: thrasibule
Last Packager: thrasibule
Votes: 9
Popularity: 0.000000
First Submitted: 2014-10-17 14:10 (UTC)
Last Updated: 2024-01-04 21:51 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 Next › Last »

lahwaacz commented on 2023-05-08 08:47 (UTC) (edited on 2023-05-08 08:47 (UTC) by lahwaacz)

@Nestor_013 You probably forgot to rebuild cython3 for Python 3.11 first.

But lineprofiler seems to be incompatible with Python 3.11, the build fails with this error:

==> Starting build()...
* Getting build dependencies for wheel...

Error compiling Cython file:
------------------------------------------------------------
...

    def __exit__(self, exc_type, exc_val, exc_tb):
        self.disable_by_count()

    def enable(self):
        PyEval_SetTrace(python_trace_callback, self)
                        ^
------------------------------------------------------------

line_profiler/_line_profiler.pyx:275:24: Cannot assign type 'int (object, PyFrameObject *, int, PyObject *) except? -1' to 'Py_tracefunc'
Compiling line_profiler/_line_profiler.pyx because it changed.
[1/1] Cythonizing line_profiler/_line_profiler.pyx
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
    main()
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
    json_out['return_val'] = hook(**hook_input['kwargs'])
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
    return hook(config_settings)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel
    return self._get_build_requires(config_settings, requirements=['wheel'])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires
    self.run_setup()
  File "/usr/lib/python3.11/site-packages/setuptools/build_meta.py", line 338, in run_setup
    exec(code, locals())
  File "<string>", line 235, in <module>
  File "<string>", line 222, in run_cythonize
  File "/usr/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize
    cythonize_one(*args)
  File "/usr/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
    raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: line_profiler/_line_profiler.pyx

ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel

Nestor_013 commented on 2023-05-08 08:42 (UTC) (edited on 2023-05-08 08:43 (UTC) by Nestor_013)

Hi, packaging complains about ERROR Missing dependencies: Cython>=3.0.0a11

And I've Cython 3.0.0b2 installed. I guess it's a problem in the sources, does a patch exist ?

lahwaacz commented on 2023-01-19 06:13 (UTC)

Great, thanks for clarifying it!

thrasibule commented on 2023-01-19 01:58 (UTC)

right so pydantic cython runtime dependency is wrong. There is nothing I can fix here. Luckily looks like upstream fixed it, so it's just a matter of waiting for a release: https://github.com/pydantic/pydantic/commit/f341049b9e5538a125751d75b4e44c1609b53df6.

lahwaacz commented on 2023-01-18 21:57 (UTC)

The dependency tree looks like this:

$ pactree -r cython
cython
└─python-pydantic
  └─python-inflect
    └─python-jaraco.text
      └─python-setuptools

thrasibule commented on 2023-01-18 21:42 (UTC)

I guess that's the ipython dependencies. I could make it an optdepends.

thrasibule commented on 2023-01-18 21:39 (UTC)

python-setuptools doesn't depend on cython. It must be something else that pulls it. I don't know where all these dependencies come from frankly, that seems strange.

lahwaacz commented on 2023-01-18 21:28 (UTC)

There is a problem because the package depends on python-setuptools which depends on cython which conflicts with cython3, and makepkg -s installs depends first and then makedepends. When building in a clean chroot where makepkg is used non-interactively, this leads to errors:

==> Making package: python-lineprofiler 4.0.2-1.1 (Wed Jan 18 22:23:58 2023)
==> Checking runtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...

Packages (37) cython-0.29.33-1  libnsl-2.0.0-2  python-3.10.9-1  python-appdirs-1.4.4-7  python-asttokens-2.2.1-1  python-autocommand-2.2.2-1  python-backcall-0.2.0-7  python-decorator-5.1.1-2  python-executing-1.2.0-1  python-inflect-6.0.2-1  python-jaraco.context-4.2.0-1  python-jaraco.functools-3.5.2-1
              python-jaraco.text-3.11.0-1  python-jedi-0.18.2-1  python-matplotlib-inline-0.1.6-2  python-more-itertools-9.0.0-1  python-ordered-set-4.1.0-1  python-packaging-21.3-1  python-parso-1:0.8.3-1  python-pexpect-4.8.0-6  python-pickleshare-0.7.5-8  python-prompt_toolkit-3.0.36-1  python-ptyprocess-0.7.0-4
              python-pure-eval-0.2.2-2  python-pydantic-1.10.4-1  python-pygments-2.14.0-1  python-pyparsing-3.0.9-1  python-six-1.16.0-6  python-stack-data-0.6.2-1  python-tomli-2.0.1-1  python-traitlets-5.8.1-1  python-trove-classifiers-2023.1.12-1  python-typing_extensions-4.4.0-1
              python-validate-pyproject-0.10.1-1  python-wcwidth-0.2.5-6  ipython-8.8.0-1  python-setuptools-1:65.6.3-1

Total Installed Size:  108.11 MiB

:: Proceed with installation? [Y/n]
(37/37) checking keys in keyring                                                                                                                                                                 [########################################################################################################################] 100%
(37/37) checking package integrity                                                                                                                                                               [########################################################################################################################] 100%
(37/37) loading package files                                                                                                                                                                    [########################################################################################################################] 100%
(37/37) checking for file conflicts                                                                                                                                                              [########################################################################################################################] 100%
:: Processing package changes...
( 1/37) installing libnsl                                                                                                                                                                        [########################################################################################################################] 100%
( 2/37) installing python                                                                                                                                                                        [########################################################################################################################] 100%
Optional dependencies for python
    python-setuptools [pending]
    python-pip
    sqlite [installed]
    mpdecimal: for decimal
    xz: for lzma [installed]
    tk: for tkinter
( 3/37) installing python-appdirs                                                                                                                                                                [########################################################################################################################] 100%
( 4/37) installing python-more-itertools                                                                                                                                                         [########################################################################################################################] 100%
( 5/37) installing python-jaraco.functools                                                                                                                                                       [########################################################################################################################] 100%
( 6/37) installing python-jaraco.context                                                                                                                                                         [########################################################################################################################] 100%
( 7/37) installing python-autocommand                                                                                                                                                            [########################################################################################################################] 100%
( 8/37) installing cython                                                                                                                                                                        [########################################################################################################################] 100%
( 9/37) installing python-typing_extensions                                                                                                                                                      [########################################################################################################################] 100%
(10/37) installing python-pydantic                                                                                                                                                               [########################################################################################################################] 100%
Optional dependencies for python-pydantic
    python-dotenv: for .env file support
    python-email-validator: for email validation
(11/37) installing python-inflect                                                                                                                                                                [########################################################################################################################] 100%
(12/37) installing python-jaraco.text                                                                                                                                                            [########################################################################################################################] 100%
(13/37) installing python-ordered-set                                                                                                                                                            [########################################################################################################################] 100%
(14/37) installing python-pyparsing                                                                                                                                                              [########################################################################################################################] 100%
Optional dependencies for python-pyparsing
    python-railroad-diagrams: for generating Railroad Diagrams
    python-jinja: for generating Railroad Diagrams
(15/37) installing python-packaging                                                                                                                                                              [########################################################################################################################] 100%
(16/37) installing python-tomli                                                                                                                                                                  [########################################################################################################################] 100%
(17/37) installing python-trove-classifiers                                                                                                                                                      [########################################################################################################################] 100%
(18/37) installing python-validate-pyproject                                                                                                                                                     [########################################################################################################################] 100%
(19/37) installing python-setuptools                                                                                                                                                             [########################################################################################################################] 100%
(20/37) installing python-decorator                                                                                                                                                              [########################################################################################################################] 100%
(21/37) installing python-traitlets                                                                                                                                                              [########################################################################################################################] 100%
(22/37) installing python-ptyprocess                                                                                                                                                             [########################################################################################################################] 100%
(23/37) installing python-pexpect                                                                                                                                                                [########################################################################################################################] 100%
(24/37) installing python-pickleshare                                                                                                                                                            [########################################################################################################################] 100%
(25/37) installing python-pygments                                                                                                                                                               [########################################################################################################################] 100%
(26/37) installing python-wcwidth                                                                                                                                                                [########################################################################################################################] 100%
(27/37) installing python-prompt_toolkit                                                                                                                                                         [########################################################################################################################] 100%
(28/37) installing python-parso                                                                                                                                                                  [########################################################################################################################] 100%
(29/37) installing python-jedi                                                                                                                                                                   [########################################################################################################################] 100%
(30/37) installing python-backcall                                                                                                                                                               [########################################################################################################################] 100%
(31/37) installing python-matplotlib-inline                                                                                                                                                      [########################################################################################################################] 100%
Optional dependencies for python-matplotlib-inline
    python-matplotlib
(32/37) installing python-six                                                                                                                                                                    [########################################################################################################################] 100%
(33/37) installing python-asttokens                                                                                                                                                              [########################################################################################################################] 100%
(34/37) installing python-executing                                                                                                                                                              [########################################################################################################################] 100%
(35/37) installing python-pure-eval                                                                                                                                                              [########################################################################################################################] 100%
(36/37) installing python-stack-data                                                                                                                                                             [########################################################################################################################] 100%
(37/37) installing ipython                                                                                                                                                                       [########################################################################################################################] 100%
Optional dependencies for ipython
    python-black: to auto format with Black
    yapf: to auto format with YAPF
==> Checking buildtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...
:: cython3 and cython are in conflict. Remove cython? [y/N]
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: cython3 and cython are in conflict
==> ERROR: 'pacman' failed to install missing dependencies.
==> Missing dependencies:
  -> cython3
  -> python-build
  -> python-installer
  -> python-wheel
==> ERROR: Could not resolve all dependencies.

thrasibule commented on 2023-01-18 21:07 (UTC)

cython is never used at runtime.

lahwaacz commented on 2023-01-18 21:02 (UTC)

I doubt that the package works with cython instead of cython3 at runtime, so cython3 should be in depends rather than makedepends.