Fix compilation on Gentoo/FreeBSD, no alloca.h here and PATH_MAX is defined elsewhere. See bug 254795 --- logrotate-3.8.2.orig/config.c +++ logrotate-3.8.2/config.c @@ -1,6 +1,6 @@ #include /* Alloca is defined in stdlib.h in NetBSD */ -#ifndef __NetBSD__ +#if !defined(__NetBSD__) && !defined(__FreeBSD__) #include #endif #include @@ -21,6 +21,9 @@ #include #include +#if !defined(PATH_MAX) && defined(__FreeBSD__) +#include +#endif #include "basenames.h" #include "log.h" #include "logrotate.h" --- logrotate-3.8.2.orig/logrotate.c +++ logrotate-3.8.2/logrotate.c @@ -1,6 +1,6 @@ #include /* alloca() is defined in stdlib.h in NetBSD */ -#ifndef __NetBSD__ +#if !defined(__NetBSD__) && !defined(__FreeBSD__) #include #endif #include @@ -24,6 +24,9 @@ int selinux_enforce = 0; #endif +#if !defined(PATH_MAX) && defined(__FreeBSD__) +#include +#endif #include "basenames.h" #include "log.h" #include "logrotate.h" --- logrotate-3.8.2.orig/Makefile +++ logrotate-3.8.2/Makefile @@ -17,8 +17,10 @@ ifeq ($(WITH_ACL),yes) CFLAGS += -DWITH_ACL +ifneq ($(OS_NAME),FreeBSD) LOADLIBES += -lacl endif +endif # HP-UX using GCC ifeq ($(OS_NAME),HP-UX)