Has anyone managed to compile rcdcap-0.7.99 on centos6?
after fixing some apparent small issues related to the sourc/src and include directories
I run make
but this gives me tons of errors like:
[build-make]# make [ 8%] Building CXX object CMakeFiles/rcdcap_core.dir/source.o
In file included from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/global.hh:21,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/source.hh:21,
from /root/tmp/RCDCap-0.7.99-Source/src/source.cc:18:
/root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/config.hh:25:2: error: invalid preprocessing directive #cmakedefine
/root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/config.hh:27:2: error: invalid preprocessing directive #cmakedefine
In file included from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/byte-swap.hh:26,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/pcap.hh:20,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/common-buffer.hh:22,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/sink.hh:24,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/source.hh:22,
from /root/tmp/RCDCap-0.7.99-Source/src/source.cc:18:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/thread:35,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/common-buffer.hh:24,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/sink.hh:24,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/source.hh:22,
from /root/tmp/RCDCap-0.7.99-Source/src/source.cc:18:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/c++0x_warning.h:31:2: error: #error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.
In file included from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/sink.hh:24,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/source.hh:22,
from /root/tmp/RCDCap-0.7.99-Source/src/source.cc:18:
/root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/common-buffer.hh:25:18: error: atomic: No such file or directory
In file included from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/pcap.hh:20,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/common-buffer.hh:22,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/sink.hh:24,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/source.hh:22,
from /root/tmp/RCDCap-0.7.99-Source/src/source.cc:18:
/root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/byte-swap.hh: In static member function 'static long long int vector RCDCap::ByteSwapImpl<16ul>::exec(long long int vector)':
/root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/byte-swap.hh:154: error: '_mm_shuffle_epi8' was not declared in this scope
and it goes on like that...
any idea welcome
thanks,
Eric
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It basically needs -std=c++0x or -std=c++11 and -mssse3 enabled. I will look into it after work and see whether I can provide you with a fix as it seems straightforward.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Well, basically CentOS 6.7 has gcc-4.4 which does not have good support for C++11. In the past I was providing fully static builds for this reason, but they have their own set of issues (they break on different distributions). I might be able to provide this kind of package, but it is not guaranteed. I suggest that you consider CentOS 7 as it has newer compiler within it, but that's a little too much against the usual "don't break what is not broken". Another option is to build separate gcc (4.8) and use it instead of the system provided one. It usually works, but requires more complicated build setup.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I didn't think it was a boost problem, but went back to v 1.54 from 3 years ago, still the same error. Keeps choking on pf-ring-source. I'm using the latest git clone of the kernel module (compiled for 4.4.1) and lib.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Right, the PF_RING source node implementation doesn't follow the burst processing scheme that I introduced in some of the last commits. I have to figure out what prevented me from doing it. You can comment in the main CMakeLists.txt everything related to PF_RING and it is going to compile. I will further investigate it later.
Last edit: Zero effect 2016-02-19
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello,
Has anyone managed to compile rcdcap-0.7.99 on centos6?
after fixing some apparent small issues related to the sourc/src and include directories
I run make
but this gives me tons of errors like:
[build-make]# make
[ 8%] Building CXX object CMakeFiles/rcdcap_core.dir/source.o
In file included from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/global.hh:21,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/source.hh:21,
from /root/tmp/RCDCap-0.7.99-Source/src/source.cc:18:
/root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/config.hh:25:2: error: invalid preprocessing directive #cmakedefine
/root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/config.hh:27:2: error: invalid preprocessing directive #cmakedefine
In file included from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/byte-swap.hh:26,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/pcap.hh:20,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/common-buffer.hh:22,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/sink.hh:24,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/source.hh:22,
from /root/tmp/RCDCap-0.7.99-Source/src/source.cc:18:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/thread:35,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/common-buffer.hh:24,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/sink.hh:24,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/source.hh:22,
from /root/tmp/RCDCap-0.7.99-Source/src/source.cc:18:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/c++0x_warning.h:31:2: error: #error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options.
In file included from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/sink.hh:24,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/source.hh:22,
from /root/tmp/RCDCap-0.7.99-Source/src/source.cc:18:
/root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/common-buffer.hh:25:18: error: atomic: No such file or directory
In file included from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/pcap.hh:20,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/common-buffer.hh:22,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/sink.hh:24,
from /root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/source.hh:22,
from /root/tmp/RCDCap-0.7.99-Source/src/source.cc:18:
/root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/byte-swap.hh: In static member function 'static long long int vector RCDCap::ByteSwapImpl<16ul>::exec(long long int vector)':
/root/tmp/RCDCap-0.7.99-Source/src/include/rcdcap/byte-swap.hh:154: error: '_mm_shuffle_epi8' was not declared in this scope
and it goes on like that...
any idea welcome
thanks,
Eric
It basically needs -std=c++0x or -std=c++11 and -mssse3 enabled. I will look into it after work and see whether I can provide you with a fix as it seems straightforward.
Well, basically CentOS 6.7 has gcc-4.4 which does not have good support for C++11. In the past I was providing fully static builds for this reason, but they have their own set of issues (they break on different distributions). I might be able to provide this kind of package, but it is not guaranteed. I suggest that you consider CentOS 7 as it has newer compiler within it, but that's a little too much against the usual "don't break what is not broken". Another option is to build separate gcc (4.8) and use it instead of the system provided one. It usually works, but requires more complicated build setup.
Using ArchLinux (up-to-date boost, cmake, pfring git), makes it to about 73% and fails on the pfring components. I'll add a ticket.
EDIT:
I guess I cannot add an issue. Refer to pastebin: http://pastebin.com/WahfQTn4
Last edit: JSkier 2016-02-12
I will look into this problem next week.
I didn't think it was a boost problem, but went back to v 1.54 from 3 years ago, still the same error. Keeps choking on pf-ring-source. I'm using the latest git clone of the kernel module (compiled for 4.4.1) and lib.
Right, the PF_RING source node implementation doesn't follow the burst processing scheme that I introduced in some of the last commits. I have to figure out what prevented me from doing it. You can comment in the main CMakeLists.txt everything related to PF_RING and it is going to compile. I will further investigate it later.
Last edit: Zero effect 2016-02-19
Thanks, I got it to compile. Seems to run okay too.
Hello,
I try compile rcdcap-0.7.99 on rhel 6.6 (2.6.32-504.el6.x86_64 GNU/Linux)?
run make, but this gives me 2 errors
[build-make]# make
/usr/bin/cmake -H/RCDCap-0.7.99-Source -B/build-make --check-build-system CMakeF iles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /build-make/CMakeFiles /build-make/CMakeF iles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory
/build-make' make -f src/CMakeFiles/rcdcap_core.dir/build.make src/CMakeFiles/rcdcap_core.dir /depend make[2]: Entering directory
/build-make'cd /build-make && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /RCDCap-0.7.9 9-Source /RCDCap-0.7.99-Source/src /build-make /build-make/src /build-make/src/C MakeFiles/rcdcap_core.dir/DependInfo.cmake --color=
Scanning dependencies of target rcdcap_core
make[2]: Leaving directory
/build-make' make -f src/CMakeFiles/rcdcap_core.dir/build.make src/CMakeFiles/rcdcap_core.dir /build make[2]: Entering directory
/build-make'/usr/bin/cmake -E cmake_progress_report /build-make/CMakeFiles 5
[ 6%] Building CXX object src/CMakeFiles/rcdcap_core.dir/source.cc.o
cd /build-make/src && /usr/bin/c++ -Drcdcap_core_EXPORTS -fPIC -I/usr/local/in clude -I/build-make/include -I/RCDCap-0.7.99-Source/include -pedantic -Wall - Wno-long-long -std=c++0x -mcx16 -msse -msse2 -mssse3 -pthread -o CMakeFiles/rcdc ap_core.dir/source.cc.o -c /RCDCap-0.7.99-Source/src/source.cc
/usr/bin/cmake -E cmake_progress_report /build-make/CMakeFiles 6
[ 13%] Building CXX object src/CMakeFiles/rcdcap_core.dir/sink.cc.o
cd /build-make/src && /usr/bin/c++ -Drcdcap_core_EXPORTS -fPIC -I/usr/local/in clude -I/build-make/include -I/RCDCap-0.7.99-Source/include -pedantic -Wall - Wno-long-long -std=c++0x -mcx16 -msse -msse2 -mssse3 -pthread -o CMakeFiles/rcdc ap_core.dir/sink.cc.o -c /RCDCap-0.7.99-Source/src/sink.cc
/usr/bin/cmake -E cmake_progress_report /build-make/CMakeFiles 7
[ 20%] Building CXX object src/CMakeFiles/rcdcap_core.dir/erspan-processor.cc.o
cd /build-make/src && /usr/bin/c++ -Drcdcap_core_EXPORTS -fPIC -I/usr/local/in clude -I/build-make/include -I/RCDCap-0.7.99-Source/include -pedantic -Wall - Wno-long-long -std=c++0x -mcx16 -msse -msse2 -mssse3 -pthread -o CMakeFiles/rcdc ap_core.dir/erspan-processor.cc.o -c /RCDCap-0.7.99-Source/src/erspan-processor. cc
/usr/bin/cmake -E cmake_progress_report /build-make/CMakeFiles 8
[ 26%] Building CXX object src/CMakeFiles/rcdcap_core.dir/hp-erm-processor.cc.o
cd /build-make/src && /usr/bin/c++ -Drcdcap_core_EXPORTS -fPIC -I/usr/local/in clude -I/build-make/include -I/RCDCap-0.7.99-Source/include -pedantic -Wall - Wno-long-long -std=c++0x -mcx16 -msse -msse2 -mssse3 -pthread -o CMakeFiles/rcdc ap_core.dir/hp-erm-processor.cc.o -c /RCDCap-0.7.99-Source/src/hp-erm-processor. cc
/usr/bin/cmake -E cmake_progress_report /build-make/CMakeFiles 9
[ 33%] Building CXX object src/CMakeFiles/rcdcap_core.dir/decapsulating-processo r.cc.o
cd /build-make/src && /usr/bin/c++ -Drcdcap_core_EXPORTS -fPIC -I/usr/local/in clude -I/build-make/include -I/RCDCap-0.7.99-Source/include -pedantic -Wall - Wno-long-long -std=c++0x -mcx16 -msse -msse2 -mssse3 -pthread -o CMakeFiles/rcdc ap_core.dir/decapsulating-processor.cc.o -c /RCDCap-0.7.99-Source/src/decapsulat ing-processor.cc
/usr/bin/cmake -E cmake_progress_report /build-make/CMakeFiles 10
[ 40%] Building CXX object src/CMakeFiles/rcdcap_core.dir/packet-headers.cc.o
cd /build-make/src && /usr/bin/c++ -Drcdcap_core_EXPORTS -fPIC -I/usr/local/in clude -I/build-make/include -I/RCDCap-0.7.99-Source/include -pedantic -Wall - Wno-long-long -std=c++0x -mcx16 -msse -msse2 -mssse3 -pthread -o CMakeFiles/rcdc ap_core.dir/packet-headers.cc.o -c /RCDCap-0.7.99-Source/src/packet-headers.cc
/RCDCap-0.7.99-Source/src/packet-headers.cc: In function ‘std::istream& std::ope rator>>(std::istream&, RCDCap::ip_t&)’:
/RCDCap-0.7.99-Source/src/packet-headers.cc:707:27: error: aggregate ‘std::strin gstream ss’ has incomplete type and cannot be defined
/RCDCap-0.7.99-Source/src/packet-headers.cc: In function ‘std::istream& std::ope rator>>(std::istream&, RCDCap::mac_t&)’:
/RCDCap-0.7.99-Source/src/packet-headers.cc:810:27: error: aggregate ‘std::strin gstream ss’ has incomplete type and cannot be defined
make[2]: [src/CMakeFiles/rcdcap_core.dir/packet-headers.cc.o] Error 1
make[2]: Leaving directory
/build-make' make[1]: *** [src/CMakeFiles/rcdcap_core.dir/all] Error 2 make[1]: Leaving directory
/build-make'make: [all] Error 2
[root@amdprobe build-make]# rpm -qa | grep gcc
libgcc-4.7.2-8.el6.x86_64
gcc-4.7.2-8.el6.x86_64
gcc-c++-4.7.2-8.el6.x86_64
Could you help?
Thanks,
Sergey