Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: OpenSSH: Dev

warning from configuring openssh-6.0p1

 

 

OpenSSH dev RSS feed   Index | Next | Previous | View Threaded


support at cainetworks

May 9, 2012, 2:21 PM

Post #1 of 3 (414 views)
Permalink
warning from configuring openssh-6.0p1

When running "configure" for openssh-6.0p1 , I got the following output from
"configure":


configure: WARNING: linux/filter.h: present but cannot be compiled
configure: WARNING: linux/filter.h: check for missing prerequisite
headers?
configure: WARNING: linux/filter.h: see the Autoconf documentation
configure: WARNING: linux/filter.h: section "Present But Cannot Be
Compiled"
configure: WARNING: linux/filter.h: proceeding with the compiler's result
configure: WARNING: ## ------------------------------------------- ##
configure: WARNING: ## Report this to openssh-unix-dev [at] mindrot ##
configure: WARNING: ## ------------------------------------------- ##
checking for linux/filter.h... no

I can still successfully make and the "sshd" that is made appears to run
fine.

The build machine is a Red Hat 9 machine running linux 2.4.20-8smp . More
from
"config.log" ....


configure:6925: checking linux/filter.h usability
configure:6925: gcc -c -g -O2 -Wall -Wpointer-arith -Wuninitialized
-Wsign-compare -Wformat-security -fno-strict-aliasing -D_FORTIFY_SOURCE=2
-fno-builtin-memset -std=gnu99 -I /usr/src/ssl/openssl/include conftest.c
>&5
In file included from conftest.c:108:
/usr/include/linux/filter.h:21: error: parse error before "__u16"
/usr/include/linux/filter.h:23: error: parse error before "jf"
/usr/include/linux/filter.h:24: error: parse error before "k"
configure:6925: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "OpenSSH"
| #define PACKAGE_TARNAME "openssh"
| #define PACKAGE_VERSION "Portable"
| #define PACKAGE_STRING "OpenSSH Portable"
| #define PACKAGE_BUGREPORT "openssh-unix-dev [at] mindrot"
| #define PACKAGE_URL ""
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define _FILE_OFFSET_BITS 64
| #define LOGIN_PROGRAM_FALLBACK "/bin/login"
| #define _PATH_PASSWD_PROG "/usr/bin/passwd"
| #define HAVE_RLIMIT_NPROC /**/
| #define HAVE_ATTRIBUTE__NONNULL__ 1
| #define HAVE_CRYPT_H 1
| #define HAVE_DIRENT_H 1
| #define HAVE_ENDIAN_H 1
| #define HAVE_FEATURES_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_GETOPT_H 1
| #define HAVE_GLOB_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_NETDB_H 1
| #define HAVE_PATHS_H 1
| #define HAVE_POLL_H 1
| #define HAVE_PTY_H 1
| #define HAVE_RPC_TYPES_H 1
| #define HAVE_SECURITY_PAM_APPL_H 1
| #define HAVE_SHADOW_H 1
| #define HAVE_STDDEF_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STRING_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_BITYPES_H 1
| #define HAVE_SYS_CDEFS_H 1
| #define HAVE_SYS_DIR_H 1
| #define HAVE_SYS_MMAN_H 1
| #define HAVE_SYS_POLL_H 1
| #define HAVE_SYS_PRCTL_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_STROPTS_H 1
| #define HAVE_SYS_STATVFS_H 1
| #define HAVE_SYS_SYSMACROS_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_UN_H 1
| #define HAVE_TIME_H 1
| #define HAVE_TTYENT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_UTIME_H 1
| #define HAVE_UTMP_H 1
| #define HAVE_UTMPX_H 1
| #define HAVE_LASTLOG_H 1
| #define HAVE_SYS_MOUNT_H 1
| #define PAM_TTY_KLUDGE 1
| #define LOCKED_PASSWD_PREFIX "!"
| #define SPT_TYPE SPT_REUSEARGV
| #define LINK_OPNOTSUPP_ERRNO EPERM
| #define _PATH_BTMP "/var/log/btmp"
| #define USE_BTMP 1
| #define LINUX_OOM_ADJUST 1
| #define HAVE_LINUX_IF_TUN_H 1
| #define SSH_TUN_LINUX 1
| #define SSH_TUN_COMPAT_AF 1
| #define SSH_TUN_PREPEND_AF 1
| /* end confdefs.h. */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # ifdef HAVE_STDLIB_H
| # include <stdlib.h>
| # endif
| #endif
| #ifdef HAVE_STRING_H
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
| # include <memory.h>
| # endif
| # include <string.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <linux/filter.h>
configure:6925: result: no
configure:6925: checking linux/filter.h presence
configure:6925: gcc -E -I /usr/src/ssl/openssl/include conftest.c
configure:6925: $? = 0
configure:6925: result: yes
configure:6925: WARNING: linux/filter.h: present but cannot be compiled
configure:6925: WARNING: linux/filter.h: check for missing prerequisite
headers?
configure:6925: WARNING: linux/filter.h: see the Autoconf documentation
configure:6925: WARNING: linux/filter.h: section "Present But Cannot Be
Compiled"
configure:6925: WARNING: linux/filter.h: proceeding with the compiler's
result
configure:6925: checking for linux/filter.h
configure:6925: result: no
configure:6925: checking linux/audit.h usability

_______________________________________________
openssh-unix-dev mailing list
openssh-unix-dev [at] mindrot
https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev


dwmw2 at infradead

Jul 2, 2012, 5:39 AM

Post #2 of 3 (348 views)
Permalink
Re: warning from configuring openssh-6.0p1 [In reply to]

On Wed, 2012-05-09 at 14:21 -0700, Support Team wrote:
> In file included from conftest.c:108:
> /usr/include/linux/filter.h:21: error: parse error before "__u16"
> /usr/include/linux/filter.h:23: error: parse error before "jf"
> /usr/include/linux/filter.h:24: error: parse error before "k"

Sounds like your <linux/filter.h> isn't including <linux/types.h>.
Including that manually, first, may suffice to fix it if you really need
BPF functionality. If you're just commenting on the *warning*, then what
do you expect? This system has been EOL for about 8 years already.

I don't know when that missing #include was added. It was already there
by the time of the first commit in the kernel repo, over 7 years ago.

--
dwmw2
Attachments: smime.p7s (6.03 KB)


dtucker at zip

Jul 2, 2012, 6:31 PM

Post #3 of 3 (352 views)
Permalink
Re: warning from configuring openssh-6.0p1 [In reply to]

On Mon, Jul 02, 2012 at 01:39:47PM +0100, David Woodhouse wrote:
> On Wed, 2012-05-09 at 14:21 -0700, Support Team wrote:
> > In file included from conftest.c:108:
> > /usr/include/linux/filter.h:21: error: parse error before "__u16"
> > /usr/include/linux/filter.h:23: error: parse error before "jf"
> > /usr/include/linux/filter.h:24: error: parse error before "k"
>
> Sounds like your <linux/filter.h> isn't including <linux/types.h>.
> Including that manually, first, may suffice to fix it if you really need
> BPF functionality. If you're just commenting on the *warning*, then what
> do you expect? This system has been EOL for about 8 years already.

Well, configure *does* emit a warning asking folks to report the warning
in this case. It's the default behaviour on the part of autoconf
(personally, I don't think the present-but-not-compilable behaviour is
all that helpful, but that's what autoconf does).

Anyway, the BPF functionality is only used for the SECCOMP_MODE_FILTER
sandbox, and since that's only in the very newest kernels the warning
is harmless on older systems.

As a general comment on support for older systems: my policy (such as it
is) is that as long as someone is willing to do the work, and it does
not compromise either security or maintainability then I'm happy to
support older and/or esoteric platforms.

> I don't know when that missing #include was added. It was already there
> by the time of the first commit in the kernel repo, over 7 years ago.

Could the OP please try the patch below? You'll need to run "autoreconf"
to rebuild configure, or you can use the prebuilt one against 6.0p1 I
put up here:
http://www.dtucker.net/~dtucker/tmp/linux-filter/configure.gz

Thanks.

Index: configure.ac
===================================================================
RCS file: /var/cvs/openssh/configure.ac,v
retrieving revision 1.492
diff -u -p -r1.492 configure.ac
--- configure.ac 19 May 2012 05:24:37 -0000 1.492
+++ configure.ac 3 Jul 2012 01:10:21 -0000
@@ -686,7 +686,8 @@ main() { if (NSVersionOfRunTimeLibrary("
AC_DEFINE([SSH_TUN_PREPEND_AF], [1],
[Prepend the address family to IP tunnel traffic])
fi
- AC_CHECK_HEADERS([linux/seccomp.h linux/filter.h linux/audit.h])
+ AC_CHECK_HEADERS([linux/seccomp.h linux/filter.h linux/audit.h], [],
+ [], [#include <linux/types.h>])
AC_CHECK_FUNCS([prctl])
have_seccomp_audit_arch=1
case "$host" in

--
Darren Tucker (dtucker at zip.com.au)
GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69
Good judgement comes with experience. Unfortunately, the experience
usually comes from bad judgement.
_______________________________________________
openssh-unix-dev mailing list
openssh-unix-dev [at] mindrot
https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev

OpenSSH dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.