Matt
Matt

Reputation: 73

#include <zbar.h> 1 error generated when running pip install zbar

I'm trying to run pip install zbar and for some reason I can't seem to find an answer to solve this dependency issue. Any help would be extremely appreciated. See traceback below:

Downloading/unpacking zbar
  Downloading zbar-0.10.tar.bz2
  Running setup.py 
 egg_info for package zbar

Installing collected packages: zbar
  Running setup.py install for zbar
    building 'zbar' extension
    clang -fno-strict-aliasing -fno-common -dynamic -I/usr/local/include -I/usr/local/opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/Cellar/python/2.7.7_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c zbarmodule.c -o build/temp.macosx-10.9-x86_64-2.7/zbarmodule.o
    In file included from zbarmodule.c:24:
    ./zbarmodule.h:26:10: fatal error: 'zbar.h' file not found
    #include <zbar.h>
             ^
    1 error generated.
    error: command 'clang' failed with exit status 1

   running install

running build

running build_ext

building 'zbar' extension

creating build

creating build/temp.macosx-10.9-x86_64-2.7

clang -fno-strict-aliasing -fno-common -dynamic -I/usr/local/include -I/usr/local/opt/sqlite/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/Cellar/python/2.7.7_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c zbarmodule.c -o build/temp.macosx-10.9-x86_64-2.7/zbarmodule.o

In file included from zbarmodule.c:24:

./zbarmodule.h:26:10: fatal error: 'zbar.h' file not found

include <zbar.h>

^

1 error generated.

error: command 'clang' failed with exit status 1

Upvotes: 6

Views: 11642

Answers (5)

Kevin Smith
Kevin Smith

Reputation: 676

I encountered this issue recently while attempting to launch a service locally from Mac OS in a virtual environment, that imports zbar in the python application. The service was still running python2.7.

Having the service running in a virtual environment I was unwilling to attempt anything that required global system changes.

I solved it by having to install zbar through Homebrew (globally). Then exporting flags or implicit rules used in the C compiling "recipe" to the virtual environment. Finally I installed a similar library to the zbar dependancy in the virtual environment.

$ brew install zbar

Then when sourced in the virtual environment I do the following to change the implicit rules in the c compilation recipe:

$ export LDFLAGS="-L$(brew --prefix zbar)/lib"
$ export CFLAGS="-I$(brew --prefix zbar)/include"

Finally I install a light version of zbar inside the venv:

$ pip install zbarlight

After the above, with the additional dependancy of pyzbar below included in my requirements.txt I am able to import zbar with python2.7 in the virtual environment.

pyzbar==0.1.7

Testing the import in the virtual environment:

$ python
>>> import zbar
>>>

Hope this helps someone in the future. I struggled quite a bit in getting this to work and resources regarding zbar are fairly scarce.

Upvotes: 0

Aleksandr Tukallo
Aleksandr Tukallo

Reputation: 1427

In my case I was running Ubuntu and had to install libzbar-dev package:
sudo apt-get install libzbar-dev

Upvotes: 7

nelsonvarela
nelsonvarela

Reputation: 2370

Encountered this problem again after 2 years... this is what worked for me

LDFLAGS=-L/usr/local/lib/ CPATH=/usr/local/include/ pip install zbar

Upvotes: 5

nelsonvarela
nelsonvarela

Reputation: 2370

$ brew install zbar

and after that

$ pip install zbar

The header files will then be found (zbar.h)

Upvotes: 6

afinit
afinit

Reputation: 1055

In case others run into this issue aren't able to use pip to install zbar for python:

Install zbar: brew install zbar

Install PIL: brew install pillow

Download zbar source: https://pypi.python.org/pypi/zbar

Unzip zbar: tar -xjvf zbar-0.10.tar.bz2

Install: python setup.py install --user

Upvotes: 0

Related Questions