Mon May 14 05:42:00 GMT 2012
I have a problem with RPC libraries. Looks like either there is some
serious inconsistency in Cygwin, or i seriously miss something.
For the start, i tried to recompile NFS server from source code, in
order to hunt for some bugs i've got sick of. And here i got a problem.
First of all, i discovered that i miss include/rpc directory. Well, i
know that newer systems migrate to ti-rpc. After tweaking makefiles i
was able to build nfs server against ti-rpc. But the resuiting binary
failed to run with:
nfsd 05/14/112 10:31 rpcmisc.c 101 : unable to register (nfsd, 2, udp)
which is an error from svc_register()
After digging some more in tirpc sources i discovered that this happens
because ti-rpc libray attempts to talk to port mapper using
/var/run/rpcbind.sock. And nobody is listening there.
This lead me to a conclusion:
1. portmap service we use is original Sun's portmapper, coming from
2. ti-rpc should come with more advanced port mapper (google told me
it's named rpcbind). ti-rpc library can't work with old portmap.
I examined sources for both packages. ti-rpc package contains sources
for rpcbind daemon, as well as sunrpc package contains sources for
librpc, as well as RPC includes missing on my system.
So, questions are:
1. Is this really correct? Why don't we have full ti-rpc package, as
well as full ti-rpc package? They seem to be backward-compatible only in
terms of client-server relationship.
2. Which one should i use to build NFS server?
Expert engineer, Samsung Moscow research center
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin