Opened 7 years ago
Last modified 4 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 4 years ago by
Version: | OpenVPN 2.4.4 (Community Ed) → OpenVPN git master branch (Community Ed) |
---|
comment:5 Changed 4 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).