Web lists-archives.com

Re: RPC clnt_create() adress already in use




PAULUS, Raimund, TI-ABN wrote:
Hello Mark,

i downloaded the sources of libtirpc from this url: https://sourceforge.net/projects/libtirpc/files/libtirpc/1.0.1/ and unpacked it in the local subdirectory libtirpc-1.0.1.
I had to make the following changes:

libtirpc-1.0.1/src/clnt_bcast.c (because POLLRDNORM, POLLRDBAND are already defined in /usr/include/sys/poll.h) :

--> #ifndef POLLRDNORM
--> # define POLLRDNORM     0x040           /* Normal data may be read.  */
--> # define POLLRDBAND     0x080           /* Priority data may be read.  */
--> #endif

libtirpc-1.0.1/tirpc/rpc/xdr.h (typedefs where missed):

--> #include <rpc/types.h>

--> typedef __uint64_t      u_quad_t;
--> typedef __int64_t       quad_t;


I linked the necessary source files with my testprogram:

gcc -D__GLIBC__ -D__linux__ -I/c/dh-progs/tstdir/libtirpc-1.0.1/tirpc \
tst_rpc.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/clnt_bcast.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/clnt_dg.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/clnt_generic.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/clnt_perror.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/clnt_vc.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/rpc_callmsg.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/rpc_commondata.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/rpc_generic.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/rpc_prot.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/rpcb_clnt.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/rpcb_prot.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/xdr.c  \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/xdr_array.c  \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/xdr_mem.c  \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/xdr_rec.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/xdr_reference.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/getnetconfig.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/getnetpath.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/auth_none.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/auth_unix.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/authunix_prot.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/mt_misc.c \
/c/dh-progs/tstdir/libtirpc-1.0.1/src/debug.c \
-o tst_rpc-libtirpc-1-0-1

The program works perfectly (no errors is test cases 1 and 2).

I assume, there must be a difference between the downloaded lib-files and the Cygwin-libtirpc.

Thank you Raimund for debugging this to the root cause. Cygwin claims to be providing libtirpc 1.0.1 so I suspect you're correct about the cause. I will figure out what the differences are and take the issue up with the Cygwin libtirpc maintainer. Congrats on solving the problem yourself!
Thanks again,

..mark


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple