Opened 7 years ago
Last modified 5 years ago
#947 assigned Bug / Defect
Solaris 11 and "error: no tap header could be found"
| Reported by: | noloader | Owned by: | Gert Döring |
|---|---|---|---|
| Priority: | minor | Milestone: | |
| Component: | Building / Compiling | Version: | OpenVPN git master branch (Community Ed) |
| Severity: | Not set (select this one, unless your'e a OpenVPN developer) | Keywords: | opensolaris , openindiana , solaris |
| Cc: |
Description
I'm working on an i86 based Solaris 11.3 machine. Running configure results in:
configure:15687: error: no tap header could be found
Inspecting config.log, it appears a Windows test or Linux test is triggering the failure (see below).
If I am parsing things properly, like bug reports and patches, Solaris patches were added several years ago around the 2.2 days. Confer,
http://www.whiteboard.ne.jp/~admin2/tuntap/
.
If Solaris is not supported, then please forgive my ignorance.
configure:15653: checking tap-windows.h presence
configure:15653: gcc -E -I/usr/local/include -DNDEBUG -D_XPG4_2 conftest.c
conftest.c:156:25: fatal error: tap-windows.h: No such file or directory
#include <tap-windows.h>
^
compilation terminated.
configure:15653: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "OpenVPN"
| #define PACKAGE_TARNAME "openvpn"
| #define PACKAGE_VERSION "2.4.4"
| #define PACKAGE_STRING "OpenVPN 2.4.4"
| #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net"
| #define PACKAGE_URL ""
| #define OPENVPN_VERSION_RESOURCE 2,4,4,0
| #define OPENVPN_VERSION_MAJOR 2
| #define OPENVPN_VERSION_MINOR 4
| #define OPENVPN_VERSION_PATCH ".4"
| #define PACKAGE "openvpn"
| #define VERSION "2.4.4"
| #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 __EXTENSIONS__ 1
| #define _ALL_SOURCE 1
| #define _GNU_SOURCE 1
| #define _POSIX_PTHREAD_SEMANTICS 1
| #define _TANDEM_SOURCE 1
| #define TARGET_ALIAS "i386-pc-solaris2.11"
| #define TARGET_SOLARIS 1
| #define TARGET_PREFIX "S"
| #define IFCONFIG_PATH "/sbin/ifconfig"
| #define IPROUTE_PATH ""
| #define ROUTE_PATH "/sbin/route"
| #define SYSTEMD_ASK_PASSWORD_PATH ""
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define RETSIGTYPE void
| #define HAVE_CPP_VARARG_MACRO_ISO 1
| #define HAVE_CPP_VARARG_MACRO_GCC 1
| #define EMPTY_ARRAY_SIZE 0
| #define SIZEOF_UNSIGNED_INT 4
| #define SIZEOF_UNSIGNED_LONG 8
| #define HAVE_STDIO_H 1
| #define HAVE_STDARG_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_TIME_H 1
| #define HAVE_ERRNO_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_CTYPE_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SIGNAL_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_NETINET_IN_SYSTM_H 1
| #define HAVE_NETINET_TCP_H 1
| #define HAVE_ARPA_INET_H 1
| #define HAVE_NETDB_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_MMAN_H 1
| #define HAVE_SYS_FILE_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SIGNAL_H 1
| #define HAVE_LIBGEN_H 1
| #define HAVE_STROPTS_H 1
| #define HAVE_SYSLOG_H 1
| #define HAVE_PWD_H 1
| #define HAVE_GRP_H 1
| #define HAVE_SYS_SOCKIO_H 1
| #define HAVE_SYS_UIO_H 1
| #define HAVE_SYS_POLL_H 1
| #define HAVE_ERR_H 1
| #define HAVE_NET_IF_H 1
| #define HAVE_NETINET_IP_H 1
| #define HAVE_RESOLV_H 1
| #define HAVE_SYS_UN_H 1
| #define HAVE_IN_ADDR_T 1
| #define HAVE_IN_PORT_T 1
| #define HAVE_MSGHDR 1
| #define HAVE_CMSGHDR 1
| #define HAVE_IN_PKTINFO 1
| #define HAVE_SA_FAMILY_T 1
| #define HAVE_IPI_SPEC_DST 1
| #define HAVE_DECL_SO_MARK 0
| #define HAVE_ANONYMOUS_UNION_SUPPORT /**/
| #define HAVE_DECL_SIGHUP 1
| #define HAVE_DECL_SIGINT 1
| #define HAVE_DECL_SIGUSR1 1
| #define HAVE_DECL_SIGUSR2 1
| #define HAVE_DECL_SIGTERM 1
| #define HAVE_FORK 1
| #define HAVE_VFORK 1
| #define HAVE_WORKING_VFORK 1
| #define HAVE_WORKING_FORK 1
| #define HAVE_DAEMON 1
| #define HAVE_CHROOT 1
| #define HAVE_GETPWNAM 1
| #define HAVE_SETUID 1
| #define HAVE_NICE 1
| #define HAVE_SYSTEM 1
| #define HAVE_GETPID 1
| #define HAVE_DUP 1
| #define HAVE_DUP2 1
| #define HAVE_GETPASS 1
| #define HAVE_SYSLOG 1
| #define HAVE_OPENLOG 1
| #define HAVE_MLOCKALL 1
| #define HAVE_GETGRNAM 1
| #define HAVE_SETGID 1
| #define HAVE_SETGROUPS 1
| #define HAVE_STAT 1
| #define HAVE_READV 1
| #define HAVE_WRITEV 1
| #define HAVE_TIME 1
| #define HAVE_GETTIMEOFDAY 1
| #define HAVE_CTIME 1
| #define HAVE_MEMSET 1
| #define HAVE_VSNPRINTF 1
| #define HAVE_STRDUP 1
| #define HAVE_SETSID 1
| #define HAVE_CHDIR 1
| #define HAVE_PUTENV 1
| #define HAVE_UNLINK 1
| #define HAVE_FTRUNCATE 1
| #define HAVE_EXECVE 1
| #define HAVE_UMASK 1
| #define HAVE_BASENAME 1
| #define HAVE_DIRNAME 1
| #define HAVE_ACCESS 1
| #define HAVE_SENDMSG 1
| #define HAVE_RECVMSG 1
| #define HAVE_INET_NTOP 1
| #define HAVE_INET_PTON 1
| #define HAVE_SOCKET 1
| #define HAVE_RECV 1
| #define HAVE_RECVFROM 1
| #define HAVE_SEND 1
| #define HAVE_SENDTO 1
| #define HAVE_LISTEN 1
| #define HAVE_ACCEPT 1
| #define HAVE_CONNECT 1
| #define HAVE_BIND 1
| #define HAVE_SELECT 1
| #define HAVE_GETHOSTBYNAME 1
| #define HAVE_INET_NTOA 1
| #define HAVE_SETSOCKOPT 1
| #define HAVE_GETSOCKOPT 1
| #define HAVE_GETSOCKNAME 1
| #define HAVE_POLL 1
| /* end confdefs.h. */
| #include <tap-windows.h>
configure:15653: result: no
configure:15653: checking for tap-windows.h
configure:15653: result: no
configure:15664: checking whether TUNSETPERSIST is declared
configure:15664: gcc -c -m64 -std=c99 -I/usr/local/include -DNDEBUG -D_XPG4_2 conftest.c >&5
conftest.c: In function 'main':
conftest.c:170:10: error: 'TUNSETPERSIST' undeclared (first use in this function)
(void) TUNSETPERSIST;
^
conftest.c:170:10: note: each undeclared identifier is reported only once for each function it appears in
configure:15664: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "OpenVPN"
| #define PACKAGE_TARNAME "openvpn"
| #define PACKAGE_VERSION "2.4.4"
| #define PACKAGE_STRING "OpenVPN 2.4.4"
| #define PACKAGE_BUGREPORT "openvpn-users@lists.sourceforge.net"
| #define PACKAGE_URL ""
| #define OPENVPN_VERSION_RESOURCE 2,4,4,0
| #define OPENVPN_VERSION_MAJOR 2
| #define OPENVPN_VERSION_MINOR 4
| #define OPENVPN_VERSION_PATCH ".4"
| #define PACKAGE "openvpn"
| #define VERSION "2.4.4"
| #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 __EXTENSIONS__ 1
| #define _ALL_SOURCE 1
| #define _GNU_SOURCE 1
| #define _POSIX_PTHREAD_SEMANTICS 1
| #define _TANDEM_SOURCE 1
| #define TARGET_ALIAS "i386-pc-solaris2.11"
| #define TARGET_SOLARIS 1
| #define TARGET_PREFIX "S"
| #define IFCONFIG_PATH "/sbin/ifconfig"
| #define IPROUTE_PATH ""
| #define ROUTE_PATH "/sbin/route"
| #define SYSTEMD_ASK_PASSWORD_PATH ""
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define RETSIGTYPE void
| #define HAVE_CPP_VARARG_MACRO_ISO 1
| #define HAVE_CPP_VARARG_MACRO_GCC 1
| #define EMPTY_ARRAY_SIZE 0
| #define SIZEOF_UNSIGNED_INT 4
| #define SIZEOF_UNSIGNED_LONG 8
| #define HAVE_STDIO_H 1
| #define HAVE_STDARG_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_TIME_H 1
| #define HAVE_ERRNO_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_CTYPE_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SIGNAL_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_NETINET_IN_SYSTM_H 1
| #define HAVE_NETINET_TCP_H 1
| #define HAVE_ARPA_INET_H 1
| #define HAVE_NETDB_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_MMAN_H 1
| #define HAVE_SYS_FILE_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SIGNAL_H 1
| #define HAVE_LIBGEN_H 1
| #define HAVE_STROPTS_H 1
| #define HAVE_SYSLOG_H 1
| #define HAVE_PWD_H 1
| #define HAVE_GRP_H 1
| #define HAVE_SYS_SOCKIO_H 1
| #define HAVE_SYS_UIO_H 1
| #define HAVE_SYS_POLL_H 1
| #define HAVE_ERR_H 1
| #define HAVE_NET_IF_H 1
| #define HAVE_NETINET_IP_H 1
| #define HAVE_RESOLV_H 1
| #define HAVE_SYS_UN_H 1
| #define HAVE_IN_ADDR_T 1
| #define HAVE_IN_PORT_T 1
| #define HAVE_MSGHDR 1
| #define HAVE_CMSGHDR 1
| #define HAVE_IN_PKTINFO 1
| #define HAVE_SA_FAMILY_T 1
| #define HAVE_IPI_SPEC_DST 1
| #define HAVE_DECL_SO_MARK 0
| #define HAVE_ANONYMOUS_UNION_SUPPORT /**/
| #define HAVE_DECL_SIGHUP 1
| #define HAVE_DECL_SIGINT 1
| #define HAVE_DECL_SIGUSR1 1
| #define HAVE_DECL_SIGUSR2 1
| #define HAVE_DECL_SIGTERM 1
| #define HAVE_FORK 1
| #define HAVE_VFORK 1
| #define HAVE_WORKING_VFORK 1
| #define HAVE_WORKING_FORK 1
| #define HAVE_DAEMON 1
| #define HAVE_CHROOT 1
| #define HAVE_GETPWNAM 1
| #define HAVE_SETUID 1
| #define HAVE_NICE 1
| #define HAVE_SYSTEM 1
| #define HAVE_GETPID 1
| #define HAVE_DUP 1
| #define HAVE_DUP2 1
| #define HAVE_GETPASS 1
| #define HAVE_SYSLOG 1
| #define HAVE_OPENLOG 1
| #define HAVE_MLOCKALL 1
| #define HAVE_GETGRNAM 1
| #define HAVE_SETGID 1
| #define HAVE_SETGROUPS 1
| #define HAVE_STAT 1
| #define HAVE_READV 1
| #define HAVE_WRITEV 1
| #define HAVE_TIME 1
| #define HAVE_GETTIMEOFDAY 1
| #define HAVE_CTIME 1
| #define HAVE_MEMSET 1
| #define HAVE_VSNPRINTF 1
| #define HAVE_STRDUP 1
| #define HAVE_SETSID 1
| #define HAVE_CHDIR 1
| #define HAVE_PUTENV 1
| #define HAVE_UNLINK 1
| #define HAVE_FTRUNCATE 1
| #define HAVE_EXECVE 1
| #define HAVE_UMASK 1
| #define HAVE_BASENAME 1
| #define HAVE_DIRNAME 1
| #define HAVE_ACCESS 1
| #define HAVE_SENDMSG 1
| #define HAVE_RECVMSG 1
| #define HAVE_INET_NTOP 1
| #define HAVE_INET_PTON 1
| #define HAVE_SOCKET 1
| #define HAVE_RECV 1
| #define HAVE_RECVFROM 1
| #define HAVE_SEND 1
| #define HAVE_SENDTO 1
| #define HAVE_LISTEN 1
| #define HAVE_ACCEPT 1
| #define HAVE_CONNECT 1
| #define HAVE_BIND 1
| #define HAVE_SELECT 1
| #define HAVE_GETHOSTBYNAME 1
| #define HAVE_INET_NTOA 1
| #define HAVE_SETSOCKOPT 1
| #define HAVE_GETSOCKOPT 1
| #define HAVE_GETSOCKNAME 1
| #define HAVE_POLL 1
| /* end confdefs.h. */
|
| #ifdef HAVE_LINUX_IF_TUN_H
| #include <linux/if_tun.h>
| #endif
|
|
|
| int
| main ()
| {
| #ifndef TUNSETPERSIST
| #ifdef __cplusplus
| (void) TUNSETPERSIST;
| #else
| (void) TUNSETPERSIST;
| #endif
| #endif
|
| ;
| return 0;
| }
configure:15664: result: no
configure:15687: error: no tap header could be found
Change History (5)
comment:1 Changed 7 years ago by
| Owner: | set to Gert Döring |
|---|---|
| Status: | new → assigned |
comment:2 Changed 7 years ago by
comment:3 Changed 5 years ago by
This is still somewhat of an itch. I tried
OpenIndiana?
2019 recently, and while it has a package for the tap driver, that package is missing the header file - which can be copied from the package above. But really should be included.
comment:4 Changed 5 years ago by
| Version: | OpenVPN 2.4.4 (Community Ed) → OpenVPN git master branch (Community Ed) |
|---|
comment:5 Changed 5 years ago by
| Component: | Configuration → Building / Compiling |
|---|---|
| Keywords: | opensolaris openindiana solaris added |
If I remember right, you have to install the tun driver on Solaris first... as per the URL you found, http://www.whiteboard.ne.jp/~admin2/tuntap/ , right at the top, section "TAP driver" .-)
The OpenVPN side of things has been merged, so if there is a tap driver installed , OpenVPN should find and use it without further patching needed. We do not have access to a most recent Solaris version, but from what I hear on the openvpn-devel, it should work nevertheless (we test on a older OpenSolaris? version).