Title: Build against uv · Issue #581 · python-ldap/python-ldap · GitHub
Open Graph Title: Build against uv · Issue #581 · python-ldap/python-ldap
X Title: Build against uv · Issue #581 · python-ldap/python-ldap
Description: Issue description: I'm not able to install the python-ldap - the wheel creation fails with an error about not finding Python.h, on Gitlab-CI Steps to reproduce: I'm using Gitlab CI (with a debian 12 docker image) to test an application, ...
Open Graph Description: Issue description: I'm not able to install the python-ldap - the wheel creation fails with an error about not finding Python.h, on Gitlab-CI Steps to reproduce: I'm using Gitlab CI (with a debian 1...
X Description: Issue description: I'm not able to install the python-ldap - the wheel creation fails with an error about not finding Python.h, on Gitlab-CI Steps to reproduce: I'm using Gitlab CI (with a ...
Opengraph URL: https://github.com/python-ldap/python-ldap/issues/581
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Build against uv","articleBody":"## Issue description:\r\n\r\nI'm not able to install the python-ldap - the wheel creation fails with an error about not finding `Python.h`, on Gitlab-CI\r\n\r\n## Steps to reproduce: \r\n\r\nI'm using Gitlab CI (with a debian 12 docker image) to test an application, using [uv](https://github.com/astral-sh/uv).\r\n\r\n```sh\r\n$ apt install libldap-dev \r\n$ uv venv --seed --python 3.11 # Note I'm installing a custom interpreter, provided by uv\r\n$ . .venv/bin/activate\r\n$ uv pip install python-ldap\r\n```\r\n\r\nNote that `uv` provides a `Python.h` in its `Lib` directory for the installed interpreter.\r\n\r\n```\r\n × Failed to download and build `python-ldap==3.4.4`\r\n ├─▶ Build backend failed to build wheel through `build_wheel` (exit status:\r\n │ 1)\r\n │ [stdout]\r\n │ running bdist_wheel\r\n │ running build\r\n │ running build_py\r\n │ creating build/lib.linux-x86_64-cpython-311\r\n │ copying Lib/ldapurl.py -\u003e build/lib.linux-x86_64-cpython-311\r\n │ copying Lib/ldif.py -\u003e build/lib.linux-x86_64-cpython-311\r\n │ creating build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/__init__.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/ldapobject.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/compat.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/dn.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/async.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/resiter.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/filter.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/modlist.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/functions.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/asyncsearch.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/pkginfo.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/syncrepl.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/sasl.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/constants.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/logger.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ copying Lib/ldap/cidict.py -\u003e build/lib.linux-x86_64-cpython-311/ldap\r\n │ creating build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ copying Lib/ldap/controls/ppolicy.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ copying Lib/ldap/controls/__init__.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ copying Lib/ldap/controls/openldap.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ copying Lib/ldap/controls/pwdpolicy.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ copying Lib/ldap/controls/psearch.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ copying Lib/ldap/controls/sss.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ copying Lib/ldap/controls/vlv.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ copying Lib/ldap/controls/simple.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ copying Lib/ldap/controls/pagedresults.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ copying Lib/ldap/controls/deref.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ copying Lib/ldap/controls/readentry.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ copying Lib/ldap/controls/libldap.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ copying Lib/ldap/controls/sessiontrack.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/controls\r\n │ creating build/lib.linux-x86_64-cpython-311/ldap/extop\r\n │ copying Lib/ldap/extop/__init__.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/extop\r\n │ copying Lib/ldap/extop/passwd.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/extop\r\n │ copying Lib/ldap/extop/dds.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/extop\r\n │ creating build/lib.linux-x86_64-cpython-311/ldap/schema\r\n │ copying Lib/ldap/schema/__init__.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/schema\r\n │ copying Lib/ldap/schema/tokenizer.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/schema\r\n │ copying Lib/ldap/schema/subentry.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/schema\r\n │ copying Lib/ldap/schema/models.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/ldap/schema\r\n │ creating build/lib.linux-x86_64-cpython-311/slapdtest\r\n │ copying Lib/slapdtest/__init__.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/slapdtest\r\n │ copying Lib/slapdtest/_slapdtest.py -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/slapdtest\r\n │ running egg_info\r\n │ writing Lib/python_ldap.egg-info/PKG-INFO\r\n │ writing dependency_links to Lib/python_ldap.egg-info/dependency_links.txt\r\n │ writing requirements to Lib/python_ldap.egg-info/requires.txt\r\n │ writing top-level names to Lib/python_ldap.egg-info/top_level.txt\r\n │ reading manifest file 'Lib/python_ldap.egg-info/SOURCES.txt'\r\n │ reading manifest template 'MANIFEST.in'\r\n │ adding license file 'LICENCE'\r\n │ writing manifest file 'Lib/python_ldap.egg-info/SOURCES.txt'\r\n │ creating build/lib.linux-x86_64-cpython-311/slapdtest/certs\r\n │ copying Lib/slapdtest/certs/README -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/slapdtest/certs\r\n │ copying Lib/slapdtest/certs/ca.conf -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/slapdtest/certs\r\n │ copying Lib/slapdtest/certs/ca.pem -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/slapdtest/certs\r\n │ copying Lib/slapdtest/certs/client.conf -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/slapdtest/certs\r\n │ copying Lib/slapdtest/certs/client.key -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/slapdtest/certs\r\n │ copying Lib/slapdtest/certs/client.pem -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/slapdtest/certs\r\n │ copying Lib/slapdtest/certs/gencerts.sh -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/slapdtest/certs\r\n │ copying Lib/slapdtest/certs/gennssdb.sh -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/slapdtest/certs\r\n │ copying Lib/slapdtest/certs/server.conf -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/slapdtest/certs\r\n │ copying Lib/slapdtest/certs/server.key -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/slapdtest/certs\r\n │ copying Lib/slapdtest/certs/server.pem -\u003e\r\n │ build/lib.linux-x86_64-cpython-311/slapdtest/certs\r\n │ running build_ext\r\n │ building '_ldap' extension\r\n │ creating build/temp.linux-x86_64-cpython-311/Modules\r\n │ x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g\r\n │ -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat\r\n │ -Werror=format-security -g -fwrapv -O2 -fPIC -DHAVE_SASL -DHAVE_TLS\r\n │ -DLDAPMODULE_VERSION=3.4.4 \"-DLDAPMODULE_AUTHOR=python-ldap\r\n │ project\" \"-DLDAPMODULE_LICENSE=Python style\" -IModules\r\n │ -I/builds/seniors/seniors/.uv_cache/builds-v0/.tmp9iF5DU/include\r\n │ -I/usr/include/python3.11 -c Modules/LDAPObject.c -o\r\n │ build/temp.linux-x86_64-cpython-311/Modules/LDAPObject.o\r\n │ [stderr]\r\n │ /builds/seniors/seniors/.uv_cache/builds-v0/.tmp9iF5DU/lib/python3.11/site-packages/setuptools/_distutils/dist.py:261:\r\n │ UserWarning: Unknown distribution option: 'test_suite'\r\n │ warnings.warn(msg)\r\n │ no previously-included directories found matching 'Doc/.build'\r\n │ In file included from Modules/LDAPObject.c:3:\r\n │ Modules/common.h:9:10: fatal error: Python.h: No such file or directory\r\n │ 9 | #include \"Python.h\"\r\n │ | ^~~~~~~~~~\r\n │ compilation terminated.\r\n │ error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1\r\n ╰─▶ This error likely indicates that you need to install a library that\r\n provides \"Python.h\" for python-ldap@3.4.4\r\n help: `python-ldap` was included because `django-auth-ldap==4.6.0` depends\r\n on `python-ldap`\r\n```\r\n\r\nOperating system: Docker image: python:3.11-bookworm\r\n\r\nPython version: 3.11\r\n\r\npython-ldap version: 3.4.4 (latest)\r\n\r\n","author":{"url":"https://github.com/frague59","@type":"Person","name":"frague59"},"datePublished":"2024-11-21T07:57:17.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/581/python-ldap/issues/581"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:d8260346-b24f-e308-e30a-e66efa1a9853 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | A16C:3BFB17:7B0135C:9F3035F:6975BF16 |
| html-safe-nonce | e78059367853bfb36cbccaf4611dbadb2f8d7543aa60bf73a836e66d028cb6d3 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBMTZDOjNCRkIxNzo3QjAxMzVDOjlGMzAzNUY6Njk3NUJGMTYiLCJ2aXNpdG9yX2lkIjoiMzQ3MjM5NTk1NTgwODM1NDA3MCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 13670b068e1444d16323403eb4973317603e47d318d72c9ce3c55dc9887ae9a0 |
| hovercard-subject-tag | issue:2678448895 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python-ldap/python-ldap/581/issue_layout |
| twitter:image | https://opengraph.githubassets.com/6a28fa64064bf4e492044b0bb4d98ba948229248e5c6da416365235cd1bf3007/python-ldap/python-ldap/issues/581 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/6a28fa64064bf4e492044b0bb4d98ba948229248e5c6da416365235cd1bf3007/python-ldap/python-ldap/issues/581 |
| og:image:alt | Issue description: I'm not able to install the python-ldap - the wheel creation fails with an error about not finding Python.h, on Gitlab-CI Steps to reproduce: I'm using Gitlab CI (with a debian 1... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | frague59 |
| hostname | github.com |
| expected-hostname | github.com |
| None | 4a4bf5f4e28041a9d2e5c107d7d20b78b4294ba261cab243b28167c16a623a1f |
| turbo-cache-control | no-preview |
| go-import | github.com/python-ldap/python-ldap git https://github.com/python-ldap/python-ldap.git |
| octolytics-dimension-user_id | 33895877 |
| octolytics-dimension-user_login | python-ldap |
| octolytics-dimension-repository_id | 111794776 |
| octolytics-dimension-repository_nwo | python-ldap/python-ldap |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 111794776 |
| octolytics-dimension-repository_network_root_nwo | python-ldap/python-ldap |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 488b30e96dfd057fbbe44c6665ccbc030b729dde |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width