Error: "undefined reference to `_makedev'" occurs when compiling under Windows Services for Unix 3.5. To remedy, simply edit flist.c and change every occurrence of 'makedev' to 'mkdev'. Once you run make again, it compiles fine and runs on Windows with no problems (so far).
What I meant to ask was, can this be automatically determined somehow so other users of Windows Services for Unix don't have to hack flist.c like I did?
The CVS version has this code in rsync.h to try to deal with this: #if !defined makedev && defined mkdev #define makedev mkdev #endif So, under Windows Services for Unix, is mkdev not a define? I suppose we could change the #if to something like this: #if !defined makedev && (defined mkdev || defined WIN32) Does that work? Any better ideas?
I put a fix for this into 2.6.4pre1, so I hope that this is now resolved. If not, reopen the bug.