(.venv) indico@indico-test:~$ pip install python-ldap
Collecting python-ldap
Downloading python-ldap-2.4.45.tar.gz (296kB)
100% |████████████████████████████████| 296kB 3.0MB/s
Requirement already satisfied: setuptools in ./.venv/lib/python2.7/site-packages (from python-ldap)
Building wheels for collected packages: python-ldap
Running setup.py bdist_wheel for python-ldap ... error
Complete output from command /opt/indico/.venv/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-8tOxrW/python-ldap/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpg_D7hcpip-wheel- --python-tag cp27:
defines: HAVE_SASL HAVE_TLS HAVE_LIBLDAP_R
extra_compile_args:
extra_objects:
include_dirs: /usr/include /usr/include/sasl /usr/local/include /usr/local/include/sasl
library_dirs: /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64
libs: ldap_r
running bdist_wheel
running build
running build_py
file Lib/ldap.py (for module ldap) not found
file Lib/ldap/controls.py (for module ldap.controls) not found
file Lib/ldap/extop.py (for module ldap.extop) not found
file Lib/ldap/schema.py (for module ldap.schema) not found
creating build
creating build/lib.linux-x86_64-2.7
copying Lib/ldapurl.py -> build/lib.linux-x86_64-2.7
copying Lib/ldif.py -> build/lib.linux-x86_64-2.7
copying Lib/dsml.py -> build/lib.linux-x86_64-2.7
copying Lib/slapdtest.py -> build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/__init__.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/async.py -> build/lib.linux-x86_64-2.7/ldap
creating build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/__init__.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/deref.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/libldap.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/openldap.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/ppolicy.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/psearch.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/pwdpolicy.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/readentry.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/sessiontrack.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/simple.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/sss.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/cidict.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/dn.py -> build/lib.linux-x86_64-2.7/ldap
creating build/lib.linux-x86_64-2.7/ldap/extop
copying Lib/ldap/extop/__init__.py -> build/lib.linux-x86_64-2.7/ldap/extop
copying Lib/ldap/extop/dds.py -> build/lib.linux-x86_64-2.7/ldap/extop
copying Lib/ldap/filter.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/functions.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/ldapobject.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/logger.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/modlist.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/resiter.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/sasl.py -> build/lib.linux-x86_64-2.7/ldap
creating build/lib.linux-x86_64-2.7/ldap/schema
copying Lib/ldap/schema/__init__.py -> build/lib.linux-x86_64-2.7/ldap/schema
copying Lib/ldap/schema/models.py -> build/lib.linux-x86_64-2.7/ldap/schema
copying Lib/ldap/schema/subentry.py -> build/lib.linux-x86_64-2.7/ldap/schema
copying Lib/ldap/schema/tokenizer.py -> build/lib.linux-x86_64-2.7/ldap/schema
copying Lib/ldap/syncrepl.py -> build/lib.linux-x86_64-2.7/ldap
file Lib/ldap.py (for module ldap) not found
file Lib/ldap/controls.py (for module ldap.controls) not found
file Lib/ldap/extop.py (for module ldap.extop) not found
file Lib/ldap/schema.py (for module ldap.schema) not found
running egg_info
writing requirements to Lib/python_ldap.egg-info/requires.txt
writing Lib/python_ldap.egg-info/PKG-INFO
writing top-level names to Lib/python_ldap.egg-info/top_level.txt
writing dependency_links to Lib/python_ldap.egg-info/dependency_links.txt
file Lib/ldap.py (for module ldap) not found
file Lib/ldap/controls.py (for module ldap.controls) not found
file Lib/ldap/extop.py (for module ldap.extop) not found
file Lib/ldap/schema.py (for module ldap.schema) not found
reading manifest file 'Lib/python_ldap.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'Makefile'
warning: no files found matching 'Modules/LICENSE'
writing manifest file 'Lib/python_ldap.egg-info/SOURCES.txt'
running build_ext
building '_ldap' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/Modules
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-HVkOs2/python2.7-2.7.13=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DHAVE_SASL -DHAVE_TLS -DHAVE_LIBLDAP_R -DHAVE_LIBLDAP_R -DLDAPMODULE_VERSION=2.4.45 -IModules -I/usr/include -I/usr/include/sasl -I/usr/local/include -I/usr/local/include/sasl -I/usr/include/python2.7 -c Modules/LDAPObject.c -o build/temp.linux-x86_64-2.7/Modules/LDAPObject.o
In file included from Modules/LDAPObject.c:8:0:
Modules/errors.h:7:18: fatal error: lber.h: No such file or directory
#include "lber.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Failed building wheel for python-ldap
Running setup.py clean for python-ldap
Failed to build python-ldap
Installing collected packages: python-ldap
Running setup.py install for python-ldap ... error
Complete output from command /opt/indico/.venv/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-8tOxrW/python-ldap/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-zVX1rY-record/install-record.txt --single-version-externally-managed --compile --install-headers /opt/indico/.venv/include/site/python2.7/python-ldap:
defines: HAVE_SASL HAVE_TLS HAVE_LIBLDAP_R
extra_compile_args:
extra_objects:
include_dirs: /usr/include /usr/include/sasl /usr/local/include /usr/local/include/sasl
library_dirs: /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64
libs: ldap_r
running install
running build
running build_py
file Lib/ldap.py (for module ldap) not found
file Lib/ldap/controls.py (for module ldap.controls) not found
file Lib/ldap/extop.py (for module ldap.extop) not found
file Lib/ldap/schema.py (for module ldap.schema) not found
creating build
creating build/lib.linux-x86_64-2.7
copying Lib/ldapurl.py -> build/lib.linux-x86_64-2.7
copying Lib/ldif.py -> build/lib.linux-x86_64-2.7
copying Lib/dsml.py -> build/lib.linux-x86_64-2.7
copying Lib/slapdtest.py -> build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/__init__.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/async.py -> build/lib.linux-x86_64-2.7/ldap
creating build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/__init__.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/deref.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/libldap.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/openldap.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/ppolicy.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/psearch.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/pwdpolicy.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/readentry.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/sessiontrack.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/simple.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/controls/sss.py -> build/lib.linux-x86_64-2.7/ldap/controls
copying Lib/ldap/cidict.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/dn.py -> build/lib.linux-x86_64-2.7/ldap
creating build/lib.linux-x86_64-2.7/ldap/extop
copying Lib/ldap/extop/__init__.py -> build/lib.linux-x86_64-2.7/ldap/extop
copying Lib/ldap/extop/dds.py -> build/lib.linux-x86_64-2.7/ldap/extop
copying Lib/ldap/filter.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/functions.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/ldapobject.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/logger.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/modlist.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/resiter.py -> build/lib.linux-x86_64-2.7/ldap
copying Lib/ldap/sasl.py -> build/lib.linux-x86_64-2.7/ldap
creating build/lib.linux-x86_64-2.7/ldap/schema
copying Lib/ldap/schema/__init__.py -> build/lib.linux-x86_64-2.7/ldap/schema
copying Lib/ldap/schema/models.py -> build/lib.linux-x86_64-2.7/ldap/schema
copying Lib/ldap/schema/subentry.py -> build/lib.linux-x86_64-2.7/ldap/schema
copying Lib/ldap/schema/tokenizer.py -> build/lib.linux-x86_64-2.7/ldap/schema
copying Lib/ldap/syncrepl.py -> build/lib.linux-x86_64-2.7/ldap
file Lib/ldap.py (for module ldap) not found
file Lib/ldap/controls.py (for module ldap.controls) not found
file Lib/ldap/extop.py (for module ldap.extop) not found
file Lib/ldap/schema.py (for module ldap.schema) not found
running egg_info
writing requirements to Lib/python_ldap.egg-info/requires.txt
writing Lib/python_ldap.egg-info/PKG-INFO
writing top-level names to Lib/python_ldap.egg-info/top_level.txt
writing dependency_links to Lib/python_ldap.egg-info/dependency_links.txt
file Lib/ldap.py (for module ldap) not found
file Lib/ldap/controls.py (for module ldap.controls) not found
file Lib/ldap/extop.py (for module ldap.extop) not found
file Lib/ldap/schema.py (for module ldap.schema) not found
reading manifest file 'Lib/python_ldap.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'Makefile'
warning: no files found matching 'Modules/LICENSE'
writing manifest file 'Lib/python_ldap.egg-info/SOURCES.txt'
running build_ext
building '_ldap' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/Modules
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-HVkOs2/python2.7-2.7.13=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DHAVE_SASL -DHAVE_TLS -DHAVE_LIBLDAP_R -DHAVE_LIBLDAP_R -DLDAPMODULE_VERSION=2.4.45 -IModules -I/usr/include -I/usr/include/sasl -I/usr/local/include -I/usr/local/include/sasl -I/usr/include/python2.7 -c Modules/LDAPObject.c -o build/temp.linux-x86_64-2.7/Modules/LDAPObject.o
In file included from Modules/LDAPObject.c:8:0:
Modules/errors.h:7:18: fatal error: lber.h: No such file or directory
#include "lber.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Command "/opt/indico/.venv/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-8tOxrW/python-ldap/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-zVX1rY-record/install-record.txt --single-version-externally-managed --compile --install-headers /opt/indico/.venv/include/site/python2.7/python-ldap" failed with error code 1 in /tmp/pip-build-8tOxrW/python-ldap/
You need to install openldap-devel
, openldap-dev
or a similar package using your operating system’s package manager. Then installing python-ldap
should work fine.
Hi!
Thanks a lot, it did work, but where should we put the ldap config and what’s the name of the file?
You add it to your indico.conf
. This should provide a useful example to start with, but of course you will have to adapt it to your LDAP environment: https://gist.github.com/ThiefMaster/565211a992cca464fe0409775af69846
There’s some more documentation on the LDAP-specific setting (_ldap_config
) here: https://gist.github.com/ThiefMaster/7ede38278bf4a3171e21aa4e3cb970e9#ldap-options