Reputation: 46613
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
Upvotes: 6
Views: 8025
Reputation: 2647
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.
Upvotes: 7
Reputation: 977
try the following:
$ sudo updatedb
$ locate libc.h
find the path where libc.h
located. eg, if your libc.h
is /usr/local/include
gcc -I/usr/local/include pipeline.c /usr/local/lib/libnanomsg.a -o pipeline
Upvotes: 1