Skip to content

Installation fail on Fedora 43 #3604

@lesar

Description

@lesar

Short Notice from the maintainer

After 6 years of more or less intensive programming on Calibre-Web, I need a break.
The last few months, maintaining Calibre-Web has felt more like work than a hobby. I felt pressured and teased by people to solve "their" problems and merge PRs for "their" Calibre-Web.
I have turned off all notifications from GitHub/Discord and will now concentrate undisturbed on the development of “my” Calibre-Web over the next few weeks/months.
I will look into the issues and maybe also the PRs from time to time, but don't expect a quick response from me.

Please also have a look at our Contributing Guidelines

Describe the bug/problem

A clear and concise description of what the bug is. If you are asking for support, please check our Wiki if your question is already answered there.

To Reproduce

Steps to reproduce the behavior:
After fail pip install I try Man install:

$  sudo -i
root@orion:~# cd opt
-bash: cd: opt: File o directory non esistente
root@orion:~# cd /opt
root@orion:/opt# git clone https://github.com/janeczku/calibre-web
Clone in 'calibre-web' in corso...
remote: Enumerating objects: 48362, done.
remote: Counting objects: 100% (1013/1013), done.
remote: Compressing objects: 100% (232/232), done.
remote: Total 48362 (delta 929), reused 781 (delta 781), pack-reused 47349 (from 3)
Ricezione degli oggetti: 100% (48362/48362), 112.14 MiB | 721.00 KiB/s, fatto.
Risoluzione dei delta: 100% (30354/30354), fatto.
root@orion:/opt# cd calibre-web
root@orion:/opt/calibre-web# python3 -m venv venv
root@orion:/opt/calibre-web# /opt/calibre-web/venv/bin/python3 -m pip install --upgrade pip
Requirement already satisfied: pip in ./venv/lib64/python3.14/site-packages (25.1.1)
Collecting pip
  Using cached pip-26.0.1-py3-none-any.whl.metadata (4.7 kB)
Using cached pip-26.0.1-py3-none-any.whl (1.8 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 25.1.1
    Uninstalling pip-25.1.1:
      Successfully uninstalled pip-25.1.1
Successfully installed pip-26.0.1
root@orion:/opt/calibre-web# ./venv/bin/python3 -m pip install -r requirements.txt
Ignoring iso-639: markers 'python_version < "3.12"' don't match your environment
Ignoring python-magic-bin: markers 'sys_platform == "win32"' don't match your environment
Collecting APScheduler<3.12.0,>=3.6.3 (from -r requirements.txt (line 1))
  Using cached apscheduler-3.11.2-py3-none-any.whl.metadata (6.4 kB)
Collecting Babel<3.0,>=1.3 (from -r requirements.txt (line 2))
  Using cached babel-2.18.0-py3-none-any.whl.metadata (2.2 kB)
Collecting Flask-Babel<4.1.0,>=3.0.0 (from -r requirements.txt (line 3))
  Using cached flask_babel-4.0.0-py3-none-any.whl.metadata (1.9 kB)
Collecting Flask-Principal<0.5.1,>=0.3.2 (from -r requirements.txt (line 4))
  Using cached Flask-Principal-0.4.0.tar.gz (5.5 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting Flask<3.2.0,>=1.0.2 (from -r requirements.txt (line 5))
  Using cached flask-3.1.3-py3-none-any.whl.metadata (3.2 kB)
Collecting pycountry<27.0.0,>=20.0.0 (from -r requirements.txt (line 7))
  Using cached pycountry-26.2.16-py3-none-any.whl.metadata (12 kB)
Collecting PyPDF<6.8.0,>=6.1.3 (from -r requirements.txt (line 8))
  Using cached pypdf-6.7.5-py3-none-any.whl.metadata (7.1 kB)
Collecting pytz>=2016.10 (from -r requirements.txt (line 9))
  Using cached pytz-2026.1.post1-py2.py3-none-any.whl.metadata (22 kB)
Collecting requests<2.33.0,>=2.32.0 (from -r requirements.txt (line 10))
  Using cached requests-2.32.5-py3-none-any.whl.metadata (4.9 kB)
Collecting SQLAlchemy<2.1.0,>=1.3.0 (from -r requirements.txt (line 11))
  Using cached sqlalchemy-2.0.48-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (9.5 kB)
Collecting tornado<6.6,>=6.4.2 (from -r requirements.txt (line 12))
  Using cached tornado-6.5.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.8 kB)
Collecting Wand<0.7.0,>=0.4.4 (from -r requirements.txt (line 13))
  Using cached Wand-0.6.13-py2.py3-none-any.whl.metadata (4.0 kB)
Collecting unidecode<1.5.0,>=0.04.19 (from -r requirements.txt (line 14))
  Using cached Unidecode-1.4.0-py3-none-any.whl.metadata (13 kB)
Collecting lxml<5.4.0,>=4.9.1 (from -r requirements.txt (line 15))
  Using cached lxml-5.3.2.tar.gz (3.7 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
  
  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [3 lines of output]
      Building lxml version 5.3.2.
      Building without Cython.
      Error: Please make sure the libxml2 and libxslt development packages are installed.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed to build 'lxml' when getting requirements to build wheel

Expected behavior
If I try pip install and manual install I get the same error as you can see above.

Environment (please complete the following information):

  • OS: Fedora desktop 43
  • Python version: python 3.14.3
  • Calibre-Web version: 00686ec by (git rev-parse --short HEAD)]:
  • Docker container: [None]:
  • Special Hardware:
  • Browser: fail on installation ... no browser used

I think that the problem is that libxml2 and libxslt is too version hight to make lxml version 5.3.2

$ sudo dnf info libxml2
Nome : libxml2
Epoca : 0
Versione : 2.12.10
Release : 5.fc43
Architettura : x86_64

$ sudo dnf info libxslt
Nome : libxslt
Epoca : 0
Versione : 1.1.43
Release : 5.fc43
Architettura : x86_64

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions