cannot find -lsocket, compiling problem in client-server program?

c, c++, sockets, ubuntu

Solution

Normally the library binary comes with one package and the headers with another one with tha same name and a "-dev" behind.

Maybe you are missing plain happycoders-libsocket.

You are missing this package happycoders-libsocket, assuming you are in ubuntu.

Apparently happycoders-libsocket package in ubuntu is placing the libsocket.so libreary in /usr/lib/happycoders/ and that is not a standard place for libs, it should be directly inside /usr/lib/. Using -L you instruct the compiler, or linker in this case, to search for library files in that extra directory

Problem

I am trying to do some socket programming, writing a simple client-server program. But when I try to compile the program, I get this error. ``` gcc -o showip showip.c -lnsl -lsocket -lresolv showip.cc: In function ‘int main(int, char**)’: /usr/bin/ld.real: cannot find -lsocket collect2: ld returned 1 exit status ``` I try to install lib doing this, ``` sudo apt-get install happycoders-libsocket-dev ``` and when I compile, I still get the same error. How can I get rid of this ? Thanks.

Original source