Skip to content

Incorrect platform tag with external dependencies #1490

Open
@jneem

Description

@jneem

Bug Description

I'm creating a python extension module with external library dependencies (specifically, ffmpeg). When I build the library with maturin on certain systems, it tags the resulting package as manylinux_2_28 even though some of the bundled library dependencies have GLIBC_2.29 symbols.

auditwheel correctly identifies the built package as requiring manylinux_2_31.

Your maturin version (maturin --version)

0.14.3

Your Python version (python -V)

Python 3.7.15

Your pip version (pip -V)

pip 23.0

What bindings you're using

pyo3

Does cargo build work?

  • Yes, it works

If on windows, have you checked that you aren't accidentally using unix path (those with the forward slash /)?

  • Yes

Steps to Reproduce

  1. Check out the repository here
  2. Run docker build .

This builds a package in a python:3.7.15-slim-bullseye container and then tries to install it in a python:3.3.3-slim-buster container. The package installs without error, but trying to import the module results in

Traceback (most recent call last):
  File "example.py", line 1, in <module>
    import bug_report
  File "/usr/local/lib/python3.7/site-packages/bug_report/__init__.py", line 1, in <module>
    from .bug_report import *
ImportError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /usr/local/lib/python3.7/site-packages/bug_report/../bug_report.libs/libavcodec-a571829e.so.58)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingwheelWheel

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions