I am trying to run the available C code at GitHub for bloom filter (https://github.com/jvirkki/libbloom). When I try to compile I get an error: fcntl.h No such file or directory. I am using Ubuntu 16.04. I also check the path to locate fcntl.h, it's already there in the system (/usr/include/x86_64-linux-gnu/bits/fcntl.h). So I do not know what can be the issue. I try to install essential packages too but it's not solving the problem.


You need to install git and build-essential packages

sudo apt-get install git build-essential

Then clone repository and compile software:

cd ~/Downloads
git clone https://github.com/jvirkki/libbloom.git
cd libbloom

Then check that library was compiled:

$ ls ./build/libbloom.so

If steps above does not help install the following packages manually:

sudo apt-get install libc6-dev linux-libc-dev linux-headers-$(uname -r)
| improve this answer | |
  • I try both steps but its not working still. It gives me same error. – user3582228 Sep 18 '18 at 1:36

You could ask the packaging system:

walt@bat:~(0)$ dpkg -S /usr/include/fcntl.h
libc6-dev:amd64: /usr/include/fcntl.h  

or even

$ dpkg -S fcntl.h| wc -l

to find the 45 packages that have an fcntl.h

| improve this answer | |
  • what it will give me? just to locate packages? – user3582228 Sep 18 '18 at 1:51

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.