Search code examples
clibcnanomsg

libc.h: No such file or directory when compiling nanomsg pipeline sample


Trying to get a simple nanomsg file running, starting with the first one here: https://github.com/dysinger/nanomsg-examples

Installed nanomsg to /usr/local/lib/nanomsg-0.2-alpha. Ran sudo ./configure, sudo make check, sudo make install and sudo ldconfig as the instructions said. All tests pass.

When I run it says libc.h is not found:

$ gcc pipeline.c /usr/local/lib/libnanomsg.a -o pipeline
pipeline.c:2:18: fatal error: libc.h: No such file or directory
compilation terminated.

What is libc.h? I haven't done any C programming since college. Is it part of nanomsg or a C library?

$ which gcc
/usr/bin/gcc
Ubuntu 12.04.4 LTS

Solution

  • Libc.h just contains small list of includes. To compile nanomsg sample its enough to (src):

    Replacing:

    #include <libc.h> 
    

    with

    #include <unistd.h>
    #include <string.h>
    #include <pthread.h>
    

    I used this cmd for static compilation:

    gcc -pthread bus.c ../nanomsg/.libs/libnanomsg.a -o test -lanl
    

    Note -pthread and -lanl at the end of line.