Bug#943851: inn2 FTCBFS: IOV_MAX check doesn't work for cross
Marco d'Itri
md at Linux.IT
Wed Oct 30 22:24:12 UTC 2019
Can you merge this patch?
----- Forwarded message from Helmut Grohne <helmut at subdivi.de> -----
From: Helmut Grohne <helmut at subdivi.de>
To: Debian Bug Tracking System <submit at bugs.debian.org>
Subject: Bug#943851: inn2 FTCBFS: IOV_MAX check doesn't work for cross
Source: inn2
Version: 2.6.3-3
Tags: patch upstream
User: debian-cross at lists.debian.org
Usertags: ftcbfs
inn2 fails to cross build from source, because its check for IOV_MAX
doesn't work during cross compilation. The check actually tries to do
two things in one check: 1. Figure out whether IOV_MAX is defined. 2.
Figure out a suitable value for IOV_MAX in case it isn't defined. The
second part cannot be easily ported to cross compilation, but luckily
our C library does provide IOV_MAX, so using AC_CHECK_DECL avoids the
need for our cause. The attached patch adapts the check. Please consider
applying it.
Helmut
--- inn2-2.6.3.orig/m4/iov-max.m4
+++ inn2-2.6.3/m4/iov-max.m4
@@ -38,9 +38,6 @@
FILE *f = fopen ("conftestval", "w");
if (f == NULL)
return 1;
-#ifdef IOV_MAX
- fprintf (f, "set in limits.h\n");
-#else
# ifdef UIO_MAXIOV
fprintf (f, "%d\n", UIO_MAXIOV);
# else
@@ -61,14 +58,14 @@
}
fprintf (f, "1024\n");
# endif /* UIO_MAXIOV */
-#endif /* IOV_MAX */
return 0;
}
]])])
dnl Do the actual check.
AC_DEFUN([INN_MACRO_IOV_MAX],
-[AC_CACHE_CHECK([value of IOV_MAX],
+[AC_CHECK_DECL([IOV_MAX],[],
+ [AC_CACHE_CHECK([value of IOV_MAX],
[inn_cv_macro_iov_max],
[AC_RUN_IFELSE([_INN_MACRO_IOV_MAX_SOURCE],
inn_cv_macro_iov_max=`cat conftestval`,
@@ -78,7 +75,18 @@
AC_MSG_WARN([probe failure, assuming 16])
inn_cv_macro_iov_max=16
fi])
- if test x"$inn_cv_macro_iov_max" != x"set in limits.h" ; then
AC_DEFINE_UNQUOTED(IOV_MAX, $inn_cv_macro_iov_max,
[Define to the max vectors in an iovec.])
- fi])
+ ],[
+#include <sys/types.h>
+#include <stdio.h>
+#include <sys/uio.h>
+#include <errno.h>
+#include <fcntl.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+#ifdef HAVE_LIMITS_H
+# include <limits.h>
+#endif
+])])
----- End forwarded message -----
--
ciao,
Marco
More information about the inn-workers
mailing list