Hello! I have a similar problems. I need to compile my tool without root permissions on Travis CI platform.
And it's useless for my customers because compiling ofring with zc drivers is not a travial task. On Friday, December 19, 2014, Gary Faulkner <[email protected]> wrote: > NM, I figured out that this is an side-effect of not running make install > when installing the pf_ring kernel module. For site-specific reasons I'm > not allowed to put these in the standard location. > > On 12/17/2014 2:45 PM, Gary Faulkner wrote: > >> I'm curious what the resolution was in regards to Pavel Odintsov's post >> regarding compile time errors with a missing pfring.h as I'm running into >> similar errors when compiling Suricata 2.0.4 against PF_RING 6.0.2. Any >> thoughts? Thanks! >> >> Errors below: >> In file included from source-pfring.h:31, >> from runmode-erf-dag.c:25: >> /nsm/pfring/include/pfring.h:60:27: error: linux/pf_ring.h: No such file >> or directory >> /nsm/pfring/include/pfring.h:95:1: warning: "likely" redefined >> In file included from flow.h:31, >> from detect.h:29, >> from detect-engine-alert.h:29, >> from suricata-common.h:321, >> from runmode-erf-dag.c:18: >> util-optimize.h:32:1: warning: this is the location of the previous >> definition >> In file included from source-pfring.h:31, >> from runmode-erf-dag.c:25: >> /nsm/pfring/include/pfring.h:96:1: warning: "unlikely" redefined >> In file included from flow.h:31, >> from detect.h:29, >> from detect-engine-alert.h:29, >> from suricata-common.h:321, >> from runmode-erf-dag.c:18: >> util-optimize.h:35:1: warning: this is the location of the previous >> definition >> In file included from source-pfring.h:31, >> from runmode-erf-dag.c:25: >> /nsm/pfring/include/pfring.h:116: warning: ‘struct pfring_pkthdr’ >> declared inside parameter list >> /nsm/pfring/include/pfring.h:116: warning: its scope is only this >> definition or declaration, which is probably not what you want >> /nsm/pfring/include/pfring.h:172: error: expected >> specifier-qualifier-list before ‘packet_direction’ >> In file included from source-pfring.h:31, >> from runmode-erf-dag.c:25: >> /nsm/pfring/include/pfring.h:389: error: ‘MAX_NUM_RX_CHANNELS’ >> undeclared here (not in a function) >> /nsm/pfring/include/pfring.h:449: warning: ‘struct pfring_pkthdr’ >> declared inside parameter list >> /nsm/pfring/include/pfring.h:465: warning: ‘struct pfring_pkthdr’ >> declared inside parameter list >> /nsm/pfring/include/pfring.h:508: error: expected declaration specifiers >> or ‘...’ before ‘hw_filtering_rule’ >> /nsm/pfring/include/pfring.h:608: warning: ‘struct pfring_pkthdr’ >> declared inside parameter list >> /nsm/pfring/include/pfring.h:652: error: expected declaration specifiers >> or ‘...’ before ‘packet_direction’ >> /nsm/pfring/include/pfring.h:660: error: expected declaration specifiers >> or ‘...’ before ‘socket_mode’ >> /nsm/pfring/include/pfring.h:673: error: expected declaration specifiers >> or ‘...’ before ‘cluster_type’ >> /nsm/pfring/include/pfring.h:742: error: expected declaration specifiers >> or ‘...’ before ‘hash_filtering_rule’ >> /nsm/pfring/include/pfring.h:769: error: expected declaration specifiers >> or ‘...’ before ‘filtering_rule’ >> /nsm/pfring/include/pfring.h:806: error: expected declaration specifiers >> or ‘...’ before ‘hash_filtering_rule’ >> /nsm/pfring/include/pfring.h:925: error: expected declaration specifiers >> or ‘...’ before ‘virtual_filtering_device_info’ >> /nsm/pfring/include/pfring.h:1108: warning: ‘struct pfring_pkthdr’ >> declared inside parameter list >> /nsm/pfring/include/pfring.h:1181: warning: ‘struct pfring_pkthdr’ >> declared inside parameter list >> /nsm/pfring/include/pfring.h:1209: warning: ‘struct pfring_pkthdr’ >> declared inside parameter list >> /nsm/pfring/include/pfring.h:1253: warning: ‘struct pfring_pkthdr’ >> declared inside parameter list >> /nsm/pfring/include/pfring.h:1299: warning: ‘struct pfring_pkthdr’ >> declared inside parameter list >> In file included from runmode-erf-dag.c:25: >> source-pfring.h:39: error: expected specifier-qualifier-list before >> ‘cluster_type’ >> make[3]: *** [runmode-erf-dag.o] Error 1 >> make[3]: Leaving directory `/nsm/src/suricata-2.0.4/src' >> make[2]: *** [all] Error 2 >> make[2]: Leaving directory `/nsm/src/suricata-2.0.4/src' >> make[1]: *** [all-recursive] Error 1 >> make[1]: Leaving directory `/nsm/src/suricata-2.0.4' >> make: *** [all] Error 2 >> >> On 12/8/2014 2:55 AM, Pavel Odintsov wrote: >> >>> Hello! >>> >>> I'm using PF_RING for my project and tried to use dkms for kernel module: >>> >>> I did following: >>> cd /usr/src >>> wget http://sourceforge.net/projects/ntop/files/PF_RING/ >>> PF_RING-6.0.2.tar.gz/download >>> -OPF_RING.6.0.2.tar.gz >>> tar -xf PF_RING.6.0.2.tar.gz >>> cd /usr/src/PF_RING-6.0.2 >>> >>> # compile kernel module >>> cd /usrc/src/PF_RING-6.0.2/kernel >>> apt-get install dpkg-dev dkms debhelper >>> make -f Makefile.dkms deb >>> dpkg -i /var/lib/dkms/pfring/6.0.2/deb/pfring-dkms_6.0.2_all.deb >>> >>> # compile libs >>> cd /usr/src/PF_RING-6.0.2/userland/lib >>> apt-get install -y libnuma-dev >>> ./configure --prefix=/opt/pf_ring_6_0_2 >>> make install >>> >>> After this I created test example: >>> cat test_pf_ring.c >>> #include "pfring.h" >>> >>> int main() { >>> } >>> >>> And tried to compile it but without any success: >>> LANG=C gcc test_pf_ring.c -I/opt/pf_ring_6_0_2/include >>> -L/opt/pf_ring/lib -lpfring >>> >>> And got following: >>> LOCALE=C LANG=C gcc test_pf_ring.c -I/opt/pf_ring_6_0_2/include >>> -L/opt/pf_ring/lib -lpfring >>> In file included from test_pf_ring.c:1: >>> /opt/pf_ring_6_0_2/include/pfring.h:60:27: error: linux/pf_ring.h: No >>> such file or directory >>> In file included from test_pf_ring.c:1: >>> /opt/pf_ring_6_0_2/include/pfring.h:116: warning: ‘struct >>> pfring_pkthdr’ declared inside parameter list >>> /opt/pf_ring_6_0_2/include/pfring.h:116: warning: its scope is only >>> this definition or declaration, which is probably not what you want >>> /opt/pf_ring_6_0_2/include/pfring.h:172: error: expected >>> specifier-qualifier-list before ‘packet_direction’ >>> In file included from test_pf_ring.c:1: >>> /opt/pf_ring_6_0_2/include/pfring.h:389: error: ‘MAX_NUM_RX_CHANNELS’ >>> undeclared here (not in a function) >>> /opt/pf_ring_6_0_2/include/pfring.h:449: warning: ‘struct >>> pfring_pkthdr’ declared inside parameter list >>> /opt/pf_ring_6_0_2/include/pfring.h:465: warning: ‘struct >>> pfring_pkthdr’ declared inside parameter list >>> /opt/pf_ring_6_0_2/include/pfring.h:508: error: expected declaration >>> specifiers or ‘...’ before ‘hw_filtering_rule’ >>> /opt/pf_ring_6_0_2/include/pfring.h:608: warning: ‘struct >>> pfring_pkthdr’ declared inside parameter list >>> /opt/pf_ring_6_0_2/include/pfring.h:652: error: expected declaration >>> specifiers or ‘...’ before ‘packet_direction’ >>> /opt/pf_ring_6_0_2/include/pfring.h:660: error: expected declaration >>> specifiers or ‘...’ before ‘socket_mode’ >>> /opt/pf_ring_6_0_2/include/pfring.h:673: error: expected declaration >>> specifiers or ‘...’ before ‘cluster_type’ >>> /opt/pf_ring_6_0_2/include/pfring.h:742: error: expected declaration >>> specifiers or ‘...’ before ‘hash_filtering_rule’ >>> /opt/pf_ring_6_0_2/include/pfring.h:769: error: expected declaration >>> specifiers or ‘...’ before ‘filtering_rule’ >>> /opt/pf_ring_6_0_2/include/pfring.h:806: error: expected declaration >>> specifiers or ‘...’ before ‘hash_filtering_rule’ >>> /opt/pf_ring_6_0_2/include/pfring.h:925: error: expected declaration >>> specifiers or ‘...’ before ‘virtual_filtering_device_info’ >>> /opt/pf_ring_6_0_2/include/pfring.h:1108: warning: ‘struct >>> pfring_pkthdr’ declared inside parameter list >>> /opt/pf_ring_6_0_2/include/pfring.h:1181: warning: ‘struct >>> pfring_pkthdr’ declared inside parameter list >>> /opt/pf_ring_6_0_2/include/pfring.h:1209: warning: ‘struct >>> pfring_pkthdr’ declared inside parameter list >>> /opt/pf_ring_6_0_2/include/pfring.h:1253: warning: ‘struct >>> pfring_pkthdr’ declared inside parameter list >>> /opt/pf_ring_6_0_2/include/pfring.h:1299: warning: ‘struct >>> pfring_pkthdr’ declared inside parameter list >>> >>> I tried to investigate this issue and didn't found pf_ring.h header >>> anywhere: >>> find /usr|grep -v '/usr/src'|grep pf_ring|wc -l >>> 0 >>> >>> Is it possible to add header files to dkms package? Or maybe you can >>> move this .h file to library? >>> >>> >> > _______________________________________________ > Ntop-misc mailing list > [email protected] > http://listgateway.unipi.it/mailman/listinfo/ntop-misc -- Sincerely yours, Pavel Odintsov
_______________________________________________ Ntop-misc mailing list [email protected] http://listgateway.unipi.it/mailman/listinfo/ntop-misc
