Open Roland2014 opened 8 years ago
I haven't. Can you attach your config.log? This may be a bit difficult to fix, but we will try.
Hello, running ./configure --enable-linuxmodule gives me the following output :
./configure --enable-linuxmodule
checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking for gcc... gcc checking for g++... g++ checking for gcc... (cached) gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for stdint.h... (cached) yes checking for inttypes.h... (cached) yes checking for endian.h... yes checking for machine/endian.h... no checking for byteswap.h... yes checking for strings.h... (cached) yes checking for time.h... yes checking for termio.h... yes checking for netdb.h... yes checking for sys/event.h... no checking for pwd.h... yes checking for grp.h... yes checking for execinfo.h... yes checking for poll.h... yes checking for dlfcn.h... yes checking for sys/mman.h... yes checking for stdlib.h... (cached) yes checking for sys/param.h... yes checking for ifaddrs.h... yes checking for linux/if_tun.h... yes checking for net/if_dl.h... no checking for net/if_tap.h... no checking for net/if_tun.h... no checking for net/if_types.h... no checking for net/bpf.h... no checking for netpacket/packet.h... yes checking whether the C compiler accepts -W -Wall... yes checking whether the C compiler accepts -Werror... yes checking how to run the C preprocessor... gcc -E checking for inline... inline checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking whetherworks... yes checking whether the C++ compiler understands 'auto'... no checking whether the C++ compiler with -std=gnu++0x understands 'auto'... yes checking whether the C++ compiler understands constexpr... yes checking whether the C++ compiler understands rvalue references... yes checking whether the C++ compiler understands static_assert... yes checking whether the C++ compiler understands template alias... yes checking whether the C++ compiler understands #pragma interface... yes checking how to run the C++ preprocessor... g++ -std=gnu++0x -E checking for ar... ar checking for ld... ld checking for nm... nm checking for objcopy... objcopy checking for ranlib... ranlib checking for strip... strip checking whether we are compiling for Linux... yes checking for strerror... yes checking for random... yes checking for snprintf... yes checking for strnlen... yes checking for strtof... yes checking for strtold... yes checking for strtoul... yes checking for tcgetpgrp... yes checking for vsnprintf... yes checking size of int... 4 checking size of long... 8 checking size of size_t... 8 checking size of ptrdiff_t... 8 checking size of void *... 8 checking whether char is unsigned... no checking whether machine is indifferent to alignment... yes checking size of long long... 8 checking for long long... yes checking for int64_t... yes checking for uint64_t... yes checking whether long and int64_t are the same type... yes checking whether long long and int64_t are the same type... no checking whether byte ordering is bigendian... no checking whether signed right shift is arithmetic... yes checking for addressable va_list type... no checking for __builtin_clz... yes checking for __builtin_clzl... yes checking for __builtin_clzll... yes checking for __builtin_ffs... yes checking for __builtin_ffsl... yes checking for __builtin_ffsll... yes checking for __sync_synchronize... yes checking whether __sync_synchronize supports arguments... no checking for __has_trivial_copy... yes checking for __thread storage class support... yes checking for ffs... yes checking for ffsl... yes checking for ffsll... yes checking size of struct timeval... 16 checking for struct timespec... yes checking size of struct timespec... 16 checking whether clock_gettime is declared... yes checking for library containing clock_gettime... none required checking for clock_gettime... yes checking whether is emulated... no checking for pselect... yes checking for sigaction... yes checking for kqueue... no checking for dlopen... no checking for dlopen in -ldl... yes checking whether linker accepts the -rdynamic flag... yes checking compiler flags for building loadable modules... -shared checking for large file support in C library... yes checking size of off_t... 8 checking for getpagesize... yes checking for working mmap... yes checking for madvise... yes checking whether madvise is declared... yes checking for Linux System.map... /boot/System.map-3.13.0-96-generic checking Linux version... 3.13.11 checking for Click Linux kernel extensions... no checking for Click Linux kernel extensions for transmit notification... no checking for read_net_skbcount kernel extension... no checking for strlen kernel symbol... yes checking for tulip_interrupt_hook kernel symbol... no checking for files_lock kernel symbol... no checking for files_lglock kernel symbol... no checking for sb_lock kernel symbol... no checking for dev_ioctl kernel symbol... no checking for devinet_ioctl kernel symbol... no checking for inet_ioctl kernel symbol... yes checking for inet_ctl_sock_create kernel symbol... yes checking for ... yes checking whether struct if_data has ifi_datalen... no checking whether struct sockaddr_in has sin_len... no checking expat.h usability... yes checking for XML_ParserCreateNS in -lexpat... yes checking for Linux kernel compilation flags... -I/usr/src/linux-headers-3.13.0-96-generic/arch/x86/include -Iarch/x86/include/generated -Iinclude -I/usr/src/linux-headers-3.13.0-96-generic/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/usr/src/linux-headers-3.13.0-96-generic/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-headers-3.13.0-96-generic/include/linux/kconfig.h -Iubuntu/include -I/usr/src/linux-headers-3.13.0-96-generic/arch/x86/include -Iarch/x86/include/generated -Iinclude -I/usr/src/linux-headers-3.13.0-96-generic/arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I/usr/src/linux-headers-3.13.0-96-generic/include/uapi -Iinclude/generated/uapi -include /usr/src/linux-headers-3.13.0-96-generic/include/linux/kconfig.h -Iubuntu/include -D__KERNEL__ -D__KERNEL__ -fno-strict-aliasing -fno-delete-null-pointer-checks -O2 -m64 -mno-mmx -mno-sse -mpreferred-stack-boundary=3 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fstack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -mfentry -DCC_USING_FENTRY -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -fno-strict-aliasing -fno-delete-null-pointer-checks -O2 -m64 -mno-mmx -mno-sse -mpreferred-stack-boundary=3 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fstack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -mfentry -DCC_USING_FENTRY -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO configure: making C++-safe versions of Linux kernel headers (may take a while) checking for C++-includable kernel header files... no configure: error: ========================================= Your Linux kernel header files cause errors when included by a C++ program. Click modifies the Linux kernel's header files to make them work with C++, using the program 'linuxmodule/click-linuxtool.pl'. It looks like your kernel header files have features that tool doesn't know how to fix. You can report this error to us on the Click mailing list, or, even better, try to fix the error. See the config.log file for more information on the error. =========================================
Hi, it also occurs in CentOS7.0 64bit(linux kernel 3.10.0-327). "./configure --enable-linuxmodule" says "Your Linux kernel header files cause errors when included by a C++ program.........."
Who soloved this problem,please help me!Thank you!
I also has this problem with recent Ubuntu versions. (linux kernel 4.10).
I have also tried this on 4.10 (xubuntu) and 4.13 (fedora lxde spin). I get the same error:
checking for C++-includable kernel header files... no
configure: error:
=========================================
Your Linux kernel header files cause errors when included by a C++ program.
Click modifies the Linux kernel's header files to make them work with
C++, using the program 'linuxmodule/click-linuxtool.pl'. It looks like
your kernel header files have features that tool doesn't know how to fix.
You can report this error to us on the Click mailing list, or, even better,
try to fix the error. See the config.log file for more information on the
error.
I have tried creating a symbolic link between include/generated/autoconf.h
and include/linux/autoconf.h
per @tbarbette on #104, however I still get the same error. Any help would be greatly appreciated.
You'll have details of the error in one of the config*log. You'll want to see the output of click-linuxtool.pl.
For last versions of the kernel 4.x you may need my pending pull requests also...
From what I could gather from config.log output, I've tried running click-linuxtool.pl on its own with the following arguments:
Which is, near as I can tell given my woefully inadequate shell script experience, should be what configure also ran. I only got Died at linuxmodule/click-linuxtool.pl line 294.
as a result.
The actual error I was able to dig out of config.log is as follows:
This is all under a virtual environment running Fedora 26, kernel 4.13.5.
Click binary (build of linuxmodule, thus kernel mode, and not the user mode) has been successfully built using ubuntu server 14.04.1 with a kernel 3.13.
Since click commit c91fc67e3db it doesn't compile anymore with this distribution and this kernel release.
Is anybody already encountered this issue and has an idea of the solution?