fatal error: libmemcached/memcached.h: no such file or directory
Asked Answered
M

3

16

I try to setup a development environment for developing on django itself.

Docs: Contributing / Running the test suite for the first time

python -m pip install -r requirements/py3.txt

It fails:

...
    x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE_ZLIB -I/home/guettli/.virtualenvs/djangodev/include -I/usr/include/python3.8 -c src/_pylibmcmodule.c -o build/temp.linux-x86_64-3.8/src/_pylibmcmodule.o -fno-strict-aliasing -std=c99
    In file included from src/_pylibmcmodule.c:34:
    src/_pylibmcmodule.h:42:10: fatal error: libmemcached/memcached.h: no such file or directory
       42 | #include <libmemcached/memcached.h>
          |          ^~~~~~~~~~~~~~~~~~~~~~~~~~
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

What can I do to fix this?

Mannie answered 13/12, 2020 at 6:25 Comment(0)
M
22

You need to install the development header files via your OS package manager:

For example on Ubuntu:

sudo apt install libmemcached-dev

Mannie answered 13/12, 2020 at 6:25 Comment(0)
X
3

Install libmemcached:

brew install libmemcached

now find the path in which libmemcached installed, it'll be something like: /opt/homebrew/Cellar/libmemcached/1.0.18_2

Now run the following command, replacing with your path:

LIBMEMCACHED=/usr/local/Cellar/libmemcached/1.0.18_2 pip install pylibmc
Xiaoximena answered 16/7, 2023 at 15:5 Comment(1)
I used the following command and it worked LIBMEMCACHED=/opt/homebrew/Cellar/libmemcached/1.0.18_2 pip install pylibmcLanctot
O
0

For m1 mac:

Try install/reinstall

brew install libmemcached

and then

pip install pylibmc

If you still face the issue then try:

pip install pylibmc --install-option="--with-libmemcached=/usr/local/Cellar/libmemcached/1.0.18/"

Please note: Change libmemcached path according to your machine and package version for eg in my case path is /opt/homebrew/Cellar/libmemcached/1.0.18_2/

Obovate answered 3/1, 2022 at 8:58 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.