Bug#517319: ocamlnet: fails to build from source with glibc 2.8
Source: ocamlnet
Version: 2.2.9-5
Severity: minor
ocamlnet fails to build from source with glibc 2.8 and 2.9. I
unfortunately don't have my build log with me, but I remember that it
was similar to that in Gentoo bug <http://bugs.gentoo.org/227653>. The
problem is that glibc hides struct ucred unless _GNU_SOURCE is defined
but does not hide SO_PEERCRED. Thus in src/rpc-auth-local/rpclocal.c
...
#include <sys/socket.h>
...
#ifdef SO_PEERCRED
/* Linux */
{
socklen_t len;
struct ucred credentials;
...
it has cause to complain. Arguably this is a glibc bug (it should be
hiding SO_PEERCRED so that code like yours doesn't break), but even if
glibc gets fixed, it would mean ocamlnet would not be making use of
this useful function.
I would suggest #defining _GNU_SOURCE at the top of rpclocal.c (or in
some Makefile somewhere).
Reply to: