Hi Peter! Wednesday 24, at 02:01:19 AM you wrote: > В сообщении от Wednesday 24 October 2007 01:16:00 Konstantin A. Lepikhov > написал(а): > > > а что в коде? Помойму просто надо убрать inline декларирование из > > extern'ов, такое даже в ядре не используют. > > сам вызов: > > /* Now we have successfully converted the call into a recvmsg call */ > ret = recvfrom(sock, data, len, flags, > msg->msg_name, &msg->msg_namelen); > > что вызывает (в этом же файле): > > ssize_t > recvfrom(int sock, void *buf, size_t len, int flags, struct sockaddr *from, > socklen_t *fromlen) > { > > как оно прототипировано там же: > > #define DECLARE(name, ret, args) static ret (*libc_##name) args > DECLARE(recvfrom, ssize_t, (int, void *, size_t, int, struct sockaddr *, > socklen_t *)); > > Можешь подсказать, _зачем_ оно так? :) они редефайнят глибцовые функции, но вот зачем непонятно - может, это для совместимости с win32 сделано. Попробуй выкинуть все эти DECLARE, и добавить обычные глибцовые заголовки. -- WBR et al.