Chan Chen Coding...

Unix Network Programming Source Code Configure Issue on Ubuntu 11.04

http://my.chinaunix.net/space.php?uid=25795468&do=blog&id=296771 cd lib # build the basic library that all programs need make # use "gmake" everywhere on BSD/OS systems cd <some-directory-of-your-choosing> gunzip -c unpv12e.tar.gz | tar -xvf - cd unpv12e ./configure # try to figure out all implementation differences cd lib # build the basic library that all programs need make # use "gmake" everywhere on BSD/OS systems cd ../libfree # continue building the basic library make cd ../libgai # the getaddrinfo() and getnameinfo() functions make cd ../libroute # only if your system supports 4.4BSD style routing sockets make # only if your system supports 4.4BSD style routing sockets cd ../libxti # only if your system supports XTI make # only if your system supports XTI cd ../intro # build and test a basic client program make daytimetcpcli ./daytimetcpcli 127.0.0.1"Unix Network Programming" is one of the most classic book in computer science, I plan to read it these days, but there are some issues I encountered when I tried to running the first sample code in this book.

1. The source code can be downloaded from
2. The following is the Read Me / Configure file:
    cd <some-directory-of-your-choosing>
    gunzip -c unpv12e.tar.gz | tar -xvf -

    cd unpv12e
    ./configure    # try to figure out all implementation differences

    cd lib         # build the basic library that all programs need
    make           # use "gmake" everywhere on BSD/OS systems

    cd ../libfree  # continue building the basic library
    make

    cd ../libgai   # the getaddrinfo() and getnameinfo() functions
    make

    cd ../libroute # only if your system supports 4.4BSD style routing sockets
    make           # only if your system supports 4.4BSD style routing sockets

    cd ../libxti   # only if your system supports XTI
    make           # only if your system supports XTI

    cd ../intro    # build and test a basic client program
    make daytimetcpcli
    ./daytimetcpcli 127.0.0.1

3. Execute ./configure
The Terminal will show an error: struct_in_pktinfo is redefined.
The is because the struct in_pktinfo is already defined by system, so we have to comment the struct_in_pktinfo code in unp.h

4.
    cd lib         # build the basic library that all programs need
    make           # use "gmake" everywhere on BSD/OS systems
get_rtaddrs.c: In function ‘get_rtaddrs’:
ref to stack flow article: http://stackoverflow.com/questions/1520649/what-package-do-i-need-to-install-for-using-routing-sockets
copy if_dl.h to /usr/include/net

5.
get_rtaddrs.c:21:18: error: ‘RTAX_MAX’ undeclared (first use in this function)
get_rtaddrs.c:21:18: note: each undeclared identifier is reported only once for each function it appears in
get_rtaddrs.c:24:4: error: ‘struct sockaddr’ has no member named ‘sa_len’
get_rtaddrs.c:24:4: error: ‘struct sockaddr’ has no member named ‘sa_len’
get_rtaddrs.c:24:4: error: ‘struct sockaddr’ has no member named ‘sa_len’
get_rtaddrs.c:24:4: error: ‘struct sockaddr’ has no member named ‘sa_len’

See this document:
http://my.chinaunix.net/space.php?uid=25795468&do=blog&id=296771





-----------------------------------------------------
Silence, the way to avoid many problems;
Smile, the way to solve many problems;

posted on 2011-08-19 02:59 Chan Chen 阅读(692) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: