UNIX Network Programming making files problem


 
Thread Tools Search this Thread
Top Forums Programming UNIX Network Programming making files problem
# 1  
Old 08-01-2014
UNIX Network Programming making files problem

I have started reading the book Unix Network Programming, Volume 1: The Sockets Networking API. I downloaded all the source code and the readme says I must make the files.

Code:
zuro@zuro:~/book/unpv12e$ cd lib

zuro@zuro:~/book/unpv12e/lib$ make

gcc -g -O2 -D_REENTRANT -Wall   -c -o connect_nonb.o 
connect_nonb.c

In file included from connect_nonb.c:1:0:
unp.h:114:8: error: redefinition of ‘struct in_pktinfo'
 struct in_pktinfo {
        ^
In file included from /usr/include/netinet/in.h:37:0,
                 from unp.h:17,
                 from connect_nonb.c:1:
/usr/include/x86_64-linux-gnu/bits/in.h:127:8: note: originally defined here
 struct in_pktinfo
        ^
make: *** [connect_nonb.o] Error 1

zuro@zuro:~/book/unpv12e/lib$

Its like that for all the files. I'm running Kubuntu Linux, not sure if this problem is because of that or not.
I got the source code from ftp . gnu . org / gnu / autoconf
# 2  
Old 08-01-2014
That is the source for autoconf, not whatever's in your book.

We can't possibly help you without seeing the code.

[edit] You can get code for the third edition of your book here. All the examples in 'intro' except byteorder.c build cleanly on my Linux system, and 'byteorder' can be fixed by changing this line
Code:
               printf("sizeof(short) = %d\n", sizeof(short));

into this line

Code:
               printf("sizeof(short) = %ld\n", sizeof(short));

Building 'libfree', etc, etc, is not likely to work since Linux already has all these functions, causing multiple definition / incompatible declaration / etc kind of errors.

Last edited by Corona688; 08-01-2014 at 06:36 PM..
# 3  
Old 08-01-2014
Opps wrong source code. The file with the source is:
http:// www. unpbook .com/src. html

---------- Post updated at 03:46 PM ---------- Previous update was at 03:31 PM ----------

How do you build them?
I tried to just go into the dir and type make, for example with ping. The problem is when I typed make I got errors.

Code:
zuro@zuro:~/book/unpv12e/ping$ make
gcc -g -O2 -D_REENTRANT -Wall   -c -o main.o main.c
In file included from ping.h:1:0,
                 from main.c:1:
unp.h:114:8: error: redefinition of ‘struct in_pktinfo’
 struct in_pktinfo {
        ^
In file included from /usr/include/netinet/in.h:37:0,
                 from unp.h:17,
                 from ping.h:1,
                 from main.c:1:
/usr/include/x86_64-linux-gnu/bits/in.h:127:8: note: originally defined here
 struct in_pktinfo
        ^
make: *** [main.o] Error 1

And with gcc same thing
Code:
zuro@zuro:~/book/unpv12e/intro$ gcc daytimetcpcli1.c -o daytime
In file included from daytimetcpcli1.c:1:0:
unp.h:114:8: error: redefinition of ‘struct in_pktinfo’
 struct in_pktinfo {
        ^
In file included from /usr/include/netinet/in.h:37:0,
                 from unp.h:17,
                 from daytimetcpcli1.c:1:
/usr/include/x86_64-linux-gnu/bits/in.h:127:8: note: originally defined here
 struct in_pktinfo
        ^


Last edited by Don Cragun; 08-01-2014 at 06:53 PM.. Reason: Change ICODE tags to CODE tags for multi-line data.
# 4  
Old 08-01-2014
I don't get that error. Did you run ./configure before trying to build any of this?

I get a different error... The code appears extremely broken anywhere except the system they wrote it on, not to mention quite extremely old. They even admit they didn't bother making it portable on the download page.
# 5  
Old 08-01-2014
Yes I did run ./configure. By "system they wrote it on" you mean Unix right? Should I do this all on Unix?
# 6  
Old 08-01-2014
UNIX is not an operating system. I think they used some sort of BSD, but odds are good BSD has also changed a lot in the 10-to-20 years since these things were updated.

If you wanted to learn modern networking, you'd do better to find modern examples.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Is it possible to understand the subjects of 2nd volume of UNIX Network Programming with APUE

Is it possible to study second volume of Unix Network Programming - Interprocess communication (by Stevense) with Advanced Programming in Unix Environment by the same author? I've got the idea that the topics/subjects in second volume has more to do with non network programming hence it seems... (0 Replies)
Discussion started by: vectrum
0 Replies

2. Programming

UNIX network programming execution problem

I have started reading the book Unix Network Programming, Volume 1: The Sockets Networking API. I downloaded all the source code and performed all the steps present in README file.Now when i compile my first program it give the following error. sainandan@nandan:~/unpv13e/intro$ ./daytimetcpcli... (1 Reply)
Discussion started by: bsainandan
1 Replies

3. IP Networking

Network programming on UNIX env on windows

Hi, I have to start doing network programming in C/Unix but I have windows installed. Could someone please guide me how to set up the environment best suited for the networking programming? Regards Vinayak (1 Reply)
Discussion started by: vinayakj20
1 Replies

4. UNIX for Dummies Questions & Answers

How does unix system administration, unix programming, unix network programming differ?

How does unix system administration, unix programming, unix network programming differ? Please help. (0 Replies)
Discussion started by: thulasidharan2k
0 Replies

5. Programming

Unix Network Programming

I have written a client-server program which does some data from a file in server to the client. In this I don't want the client to wait indefinitely if server is not running. For this I am using SELECT system call, in this system call we can specify timings as an argument, which tells the client... (2 Replies)
Discussion started by: naresh046
2 Replies

6. Programming

Unix network programming

Hi! I am working on fedora.. trying to execute BSD4.4 client-server program which includes "unp.h" header file... While executing make command, I got error like, " expected " , " , " ; ",or ")" in connect_nonb file...ERROR 1 " I tried to change mode of makefile but I can't get... (4 Replies)
Discussion started by: nisha_vaghela
4 Replies

7. UNIX for Dummies Questions & Answers

Wireless network programming in Unix (question)

Greetings everyone, I've been using OpenWRT for some time primarly for research in the University. I've also started with some basic network programming (sending UDP packets for instance). But since most of the available tutorials on unix network programming are more related to ethernet... (4 Replies)
Discussion started by: aztroboy
4 Replies

8. UNIX for Dummies Questions & Answers

Unix and Linux Network Programming

I want to develop a hybrid IM application which will consist of a chat and an offline messaging (BBS) part. Server must support Multiple connection (concurrent) Arguments should not be hard coded (code will be checked at different machines) No input at the command line Must run in the... (3 Replies)
Discussion started by: never mind
3 Replies

9. Programming

Network Programming in Unix

Good day everyone, Please help if you are interested in. I need to do a chat client-server program. Does anyone know where I can get references or sample programs? Thank you very much for your time Eric (2 Replies)
Discussion started by: powermind
2 Replies

10. UNIX for Dummies Questions & Answers

Unix Network Programming

I am going to purchase Unix Network Programming by Stevens. The only question I have is which edition to buy. The older (early 90's) edition, or the newer (late 90's) edition. I know conventional thinking would point to the latest ( and greatest?), but I wanted to get some feedback from the forum.... (3 Replies)
Discussion started by: dangral
3 Replies
Login or Register to Ask a Question

Featured Tech Videos