← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2125738] [NEW] tox -e docs fails on Rocky (RHEL) 10 due to missing classical pcre

 

Public bug reported:


Description
===========
tox -e docs execution on Rocky Linux 10.0 fails during the build process of the python-pcre package. This failure is specifically observed when attempting to compile the pcremodule.c source file, which requires pcre.h.

The root cause appears to be a change in the pcre library packaging in
recent Enterprise Linux 10 (EL10) based distributions, including Rocky
Linux 10.

EL9 and earlier: Both pcre and pcre2 libraries were available.
EL10 and later: Only pcre2 and pcre2-devel are provided. The classic pcre library and its development headers (pcre-devel), which provide pcre.h, are no longer available in the default repositories.


Steps to reproduce
==================

* Clone the latest nova repository on Rocky Linux 10.0:

```
$ cat /etc/os-release
NAME="Rocky Linux"
VERSION="10.0 (Red Quartz)"
ID="rocky"
$ git clone  https://github.com/openstack/nova
$ cd nova
```

* Execute `tox -e docs`:

```

$ tox -e docs
```

Actual Result
=============

The tox -e docs command fails during the installation of python-pcre,
specifically when building its wheel. The error indicates that pcre.h (a
header file from the classic pcre-devel package) cannot be found.

```
$ tox -e docs
docs: install_deps> python -I -m pip install -chttps://releases.openstack.org/constraints/upper/master -r /home/rocky/nova/requirements.txt -r /home/rocky/nova/doc/requirements.txt
...
Building wheels for collected packages: python-pcre
  Building wheel for python-pcre (pyproject.toml) ... error
Failed to build python-pcre
  error: subprocess-exited-with-error

  × Building wheel for python-pcre (pyproject.toml) did not run successfully.
  x exit code: 1
  mq> [7 lines of output]
      warning: build_py: byte-compiling is disabled, skipping.

      src/pcremodule.c:32:10: fatal error: pcre.h: No such file or directory
         32 | #include <pcre.h>
            |          ^~~~~~~~
      compilation terminated.
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for python-pcre
error: failed-wheel-build-for-install

× Failed to build installable wheels for some pyproject.toml based projects
mq> python-pcre
docs: exit 1 (18.01 seconds) /home/rocky/nova> python -I -m pip install -chttps://releases.openstack.org/constraints/upper/master -r /home/rocky/nova/requirements.txt -r /home/rocky/nova/doc/requirements.txt pid=238089
  docs: FAIL code 1 (18.06 seconds)
  evaluation failed :( (18.32 seconds)
```

On Rocky Linux 10, only pcre2 pkgs are available.


* rocky linux  9.6

```
$ cat /etc/os-release
NAME="Rocky Linux"
VERSION="9.6 (Blue Onyx)"

$ dnf list | grep pcre
pcre.x86_64                                                                              8.44-4.el9                           
...
pcre2.x86_64                                                                             10.40-6.el9  
...                        
```

* rocky linux 10.0

```
$ cat /etc/os-release
NAME="Rocky Linux"
VERSION="10.0 (Red Quartz)"

$ dnf list | grep pcre
...
pcre2.x86_64                                                                          10.44-1.el10.3
...
```

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/2125738

Title:
  tox -e docs fails on Rocky (RHEL) 10 due to missing classical pcre

Status in OpenStack Compute (nova):
  New

Bug description:
  
  Description
  ===========
  tox -e docs execution on Rocky Linux 10.0 fails during the build process of the python-pcre package. This failure is specifically observed when attempting to compile the pcremodule.c source file, which requires pcre.h.

  The root cause appears to be a change in the pcre library packaging in
  recent Enterprise Linux 10 (EL10) based distributions, including Rocky
  Linux 10.

  EL9 and earlier: Both pcre and pcre2 libraries were available.
  EL10 and later: Only pcre2 and pcre2-devel are provided. The classic pcre library and its development headers (pcre-devel), which provide pcre.h, are no longer available in the default repositories.

  
  Steps to reproduce
  ==================

  * Clone the latest nova repository on Rocky Linux 10.0:

  ```
  $ cat /etc/os-release
  NAME="Rocky Linux"
  VERSION="10.0 (Red Quartz)"
  ID="rocky"
  $ git clone  https://github.com/openstack/nova
  $ cd nova
  ```

  * Execute `tox -e docs`:

  ```

  $ tox -e docs
  ```

  Actual Result
  =============

  The tox -e docs command fails during the installation of python-pcre,
  specifically when building its wheel. The error indicates that pcre.h
  (a header file from the classic pcre-devel package) cannot be found.

  ```
  $ tox -e docs
  docs: install_deps> python -I -m pip install -chttps://releases.openstack.org/constraints/upper/master -r /home/rocky/nova/requirements.txt -r /home/rocky/nova/doc/requirements.txt
  ...
  Building wheels for collected packages: python-pcre
    Building wheel for python-pcre (pyproject.toml) ... error
  Failed to build python-pcre
    error: subprocess-exited-with-error

    × Building wheel for python-pcre (pyproject.toml) did not run successfully.
    x exit code: 1
    mq> [7 lines of output]
        warning: build_py: byte-compiling is disabled, skipping.

        src/pcremodule.c:32:10: fatal error: pcre.h: No such file or directory
           32 | #include <pcre.h>
              |          ^~~~~~~~
        compilation terminated.
        error: command '/usr/bin/gcc' failed with exit code 1
        [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for python-pcre
  error: failed-wheel-build-for-install

  × Failed to build installable wheels for some pyproject.toml based projects
  mq> python-pcre
  docs: exit 1 (18.01 seconds) /home/rocky/nova> python -I -m pip install -chttps://releases.openstack.org/constraints/upper/master -r /home/rocky/nova/requirements.txt -r /home/rocky/nova/doc/requirements.txt pid=238089
    docs: FAIL code 1 (18.06 seconds)
    evaluation failed :( (18.32 seconds)
  ```

  On Rocky Linux 10, only pcre2 pkgs are available.

  
  * rocky linux  9.6

  ```
  $ cat /etc/os-release
  NAME="Rocky Linux"
  VERSION="9.6 (Blue Onyx)"

  $ dnf list | grep pcre
  pcre.x86_64                                                                              8.44-4.el9                           
  ...
  pcre2.x86_64                                                                             10.40-6.el9  
  ...                        
  ```

  * rocky linux 10.0

  ```
  $ cat /etc/os-release
  NAME="Rocky Linux"
  VERSION="10.0 (Red Quartz)"

  $ dnf list | grep pcre
  ...
  pcre2.x86_64                                                                          10.44-1.el10.3
  ...
  ```

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/2125738/+subscriptions