Skip to content

Djvulibre-python installation problem #38

Description

@Kamil-Herbetko

Hi, there is a problem when installing with poetry with djvulibre-python. Here are the logs:

Installing dependencies from lock file

Package operations: 1 install, 0 updates, 0 removals

  - Installing djvulibre-python (0.9.1): Failed

  ChefBuildError

  Backend subprocess exited when trying to invoke build_wheel

  /tmp/tmpyuso8nmt/.venv/lib/python3.13/site-packages/setuptools/dist.py:761: SetuptoolsDeprecationWarning: License classifiers are deprecated.
  !!

          ********************************************************************************
          Please consider removing the following classifiers in favor of a SPDX license expression:

          License :: OSI Approved :: GNU General Public License (GPL)

          See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
          ********************************************************************************

  !!
    self._finalize_license_expression()
  running bdist_wheel
  running build
  running build_py
  creating build/lib.linux-x86_64-cpython-313/djvu
  copying djvu/__init__.py -> build/lib.linux-x86_64-cpython-313/djvu
  copying djvu/const.py -> build/lib.linux-x86_64-cpython-313/djvu
  running build_ext
  creating 'build/temp.linux-x86_64-cpython-313/src/config.pxi'
  generating build/temp.linux-x86_64-cpython-313/src/decode.c from djvu/decode.pyx, build/temp.linux-x86_64-cpython-313/src/config.pxi, djvu/common.pxi, djvu/decode.pxd, djvu/sexpr.pxd

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
  from cpython.mem cimport PyMem_Malloc as py_malloc  # noqa: F401
  from cpython.mem cimport PyMem_Free as py_free  # noqa: F401

  # Python numbers:

  from cpython cimport (
  ^
  ------------------------------------------------------------

  djvu/common.pxi:29:0: 'cpython/PyInt_Check.pxd' not found

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

  from cpython cimport PyNumber_Long as int  # noqa: F401

  # Python strings:

  from cpython cimport (
  ^
  ------------------------------------------------------------

  djvu/common.pxi:46:0: 'cpython/PyString_Check.pxd' not found

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
      PyInt_Check as is_short_int,
      PyLong_Check as is_long_int,
  )

  cdef int is_int(object o):
      return is_short_int(o) or is_long_int(o)
             ^
  ------------------------------------------------------------

  djvu/common.pxi:35:11: 'is_short_int' is not a constant, variable or function identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
              file_wrapper = _FileWrapper(file, <char*> "wb")
              output = file_wrapper.cfile
          else:
              if file is not None:
                  raise TypeError('file must be None if indirect is specified')
              if not is_string(indirect):
                     ^
  ------------------------------------------------------------

  djvu/decode.pyx:1091:19: 'is_string' is not a constant, variable or function identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          if level is not None:
              if not is_int(level):
                  raise TypeError('level must be an integer')
              list_append(options, f'--level={level}')
          if orientation is not None:
              if not is_string(orientation):
                     ^
  ------------------------------------------------------------

  djvu/decode.pyx:1240:19: 'is_string' is not a constant, variable or function identifier

  Error compiling Cython file:
  ------------------------------------------------------------
  ...
          if crop_marks:
              list_append(options, '--cropmarks')
          if text:
              list_append(options, '--text')
          if booklet is not None:
              if not is_string(booklet):
                     ^
  ------------------------------------------------------------

  djvu/decode.pyx:1274:19: 'is_string' is not a constant, variable or function identifier
  building 'djvu.decode' extension
  creating build/temp.linux-x86_64-cpython-313/build/temp.linux-x86_64-cpython-313/src
  x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -fwrapv -O2 -fPIC -I/tmp/tmpyuso8nmt/.venv/include -I/usr/include/python3.13 -c build/temp.linux-x86_64-cpython-313/src/decode.c -o build/temp.linux-x86_64-cpython-313/build/temp.linux-x86_64-cpython-313/src/decode.o -pthread
  cc1: fatal error: build/temp.linux-x86_64-cpython-313/src/decode.c: No such file or directory
  compilation terminated.
  error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1


  at /usr/lib/python3/dist-packages/poetry/installation/chef.py:164 in _prepare
      160│
      161│                 error = ChefBuildError("\n\n".join(message_parts))
      162│
      163│             if error is not None:
    → 164│                 raise error from None
      165│
      166│             return path
      167│
      168│     def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:

Looks like the files responsible for scoping those functions cannot be found?
I tried python 3.13, 3.12, 3.10 and lib version 0.9 and 0.9.1, cython 3.1, 3.0.9 and 0.29 in all combinations, but without much success. Googling the issue related to missing files also did not result in anything useful. Can You please help?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions