Столкнулся с той же проблемой :(Попробовал разобраться глубже.
Определения структур в файле work/mpd-5.5/src/nat.h ссылаются на типы которые в системе не определены. Определения структур должны быть видимо объявлены в #include <netgraph/ng_nat.h> но их там нет.
Сравнил ng_nat.h в FreeBSD7 и FreeBSD8 - действительно файлы отличаются, на 8-ке много чего добавлено.
В итоге обошёл проблему так:
поправил /usr/include/netgraph/ng_nat.h, вставил следующий текст
это закоменировал:
/*enum {
NGM_NAT_SET_IPADDR = 1,
NGM_NAT_SET_MODE,
NGM_NAT_SET_TARGET,
};
*/
это добавил:
#define NG_NAT_DESC_LENGTH 64
struct ng_nat_redirect_port {
struct in_addr local_addr;
struct in_addr alias_addr;
struct in_addr remote_addr;
uint16_t local_port;
uint16_t alias_port;
uint16_t remote_port;
uint8_t proto;
char description[NG_NAT_DESC_LENGTH];
};
struct ng_nat_redirect_addr {
struct in_addr local_addr;
struct in_addr alias_addr;
char description[NG_NAT_DESC_LENGTH];
};
struct ng_nat_redirect_proto {
struct in_addr local_addr;
struct in_addr alias_addr;
struct in_addr remote_addr;
uint8_t proto;
char description[NG_NAT_DESC_LENGTH];
};
enum {
NGM_NAT_SET_IPADDR = 1,
NGM_NAT_SET_MODE,
NGM_NAT_SET_TARGET,
NGM_NAT_REDIRECT_PORT,
NGM_NAT_REDIRECT_ADDR,
NGM_NAT_REDIRECT_PROTO,
NGM_NAT_REDIRECT_DYNAMIC,
NGM_NAT_REDIRECT_DELETE,
NGM_NAT_ADD_SERVER,
NGM_NAT_LIST_REDIRECTS,
NGM_NAT_PROXY_RULE,
};
В результате mpd5 собрался без проблем.