I'm trying to build omniORB 4.1.6 under Arch Linux. When I type make, here is the message:

../../../../../src/tool/omniidl/cxx/idlpython.cc:188:26: fatal error:  python3.3/Python.h: No such file or directory

I'm sure both python3 and python2 were installed, and I can remember last time I was tring to do the same thing under Linux Mint I met the same problem. That time, I used this command to solve the problem:

sudo apt-get install python-dev

However, it seems Arch doesn't separate python-dev with python. I checked my /usr and found Python.h under /usr/include/python3.3m, so what should I do now?

  • Did you run ./configure before running make? That header file is there on Ubuntu 12.04 as well. You can try to make a link in /usr/include from python3.3 to python3.3m – Anthon Jun 2 '13 at 10:20
  • I did run './configure' before running make. In addition, after making the link from python3.3 to python3.3m, it seems this question was sloved, however I'm facing farther problem thus the building failed again...Thanks to @don_crissti, I decided to download it from repos directly, I just realized this method... – Elderry Jun 2 '13 at 11:07
  • it is python-devel in some distributions, like redhat, fedora, centos etc – easl Jul 28 '13 at 12:32

Normally running


before running make should set up things correctly, but in this fall that seems not to be the case.

Python 3.3.X puts its header files in .../include/Python3.3m, whereas 2.7.x uses .../include/python2.7 (without any suffix), maybe omniORB is not aware (yet) of that suffix m.

You can make a link from python3.3m to python3.3 using:

cd /usr/include
ln -s python3.3m python3.3

and retry the build process ( this assumes python3.3 was configured using --prefix=/usr, adapt the cd as necessary).

  • I had a same problem on Arch. This was really helpfull. – 71GA Jan 5 '15 at 13:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.