Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 664128 - net-analyzer/pmacct-1.7.1 USE=ndpi with =net-libs/nDPI-2.2 - configure: error: ERROR: missing nDPI static library
Summary: net-analyzer/pmacct-1.7.1 USE=ndpi with =net-libs/nDPI-2.2 - configure: error...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Netmon project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-20 17:27 UTC by Toralf Förster
Modified: 2020-07-22 06:02 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,16.80 KB, text/plain)
2018-08-20 17:27 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,311.80 KB, text/plain)
2018-08-20 17:27 UTC, Toralf Förster
Details
environment (environment,88.55 KB, text/plain)
2018-08-20 17:27 UTC, Toralf Förster
Details
etc.portage.tbz2 (etc.portage.tbz2,19.48 KB, application/x-bzip)
2018-08-20 17:27 UTC, Toralf Förster
Details
logs.tbz2 (logs.tbz2,9.68 KB, application/x-bzip)
2018-08-20 17:27 UTC, Toralf Förster
Details
net-analyzer:pmacct-1.7.1:20180820-153156.log (net-analyzer:pmacct-1.7.1:20180820-153156.log,9.73 KB, text/plain)
2018-08-20 17:27 UTC, Toralf Förster
Details
temp.tbz2 (temp.tbz2,23.46 KB, application/x-bzip)
2018-08-20 17:27 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2018-08-20 17:27:01 UTC
configure: WARNING: libndpi/ndpi_main.h: proceeding with the compiler's result
checking for libndpi/ndpi_main.h... yes
configure: error: ERROR: missing nDPI static library

!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/net-analyzer/pmacct-1.7.1/work/pmacct-1.7.1/config.log

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.0_libressl_20180811-095538

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-7.3.0
 [2] x86_64-pc-linux-gnu-7.3.1
 [3] x86_64-pc-linux-gnu-8.2.0 *

Available Python interpreters, in order of preference:
  [1]   python3.7
  [2]   python3.6
  [3]   python2.7 (fallback)
  [4]   pypy3 (fallback)
  [5]   pypy (fallback)
Available Ruby profiles:
  [1]   ruby23 (with Rubygems) *
java-config:
The following VMs are available for generation-2:


emerge -qpv net-analyzer/pmacct
[ebuild  N    ] net-analyzer/pmacct-1.7.1  USE="bgp-bins bmp-bins ipv6 l2 ndpi st-bins traffic-bins -64bit -geoip -geoipv2 -jansson -kafka -mongodb -mysql -nflog -plabel -postgres -rabbitmq -sqlite -zmq"
Comment 1 Toralf Förster gentoo-dev 2018-08-20 17:27:04 UTC
Created attachment 544162 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2018-08-20 17:27:07 UTC
Created attachment 544164 [details]
emerge-history.txt
Comment 3 Toralf Förster gentoo-dev 2018-08-20 17:27:09 UTC
Created attachment 544166 [details]
environment
Comment 4 Toralf Förster gentoo-dev 2018-08-20 17:27:13 UTC
Created attachment 544168 [details]
etc.portage.tbz2
Comment 5 Toralf Förster gentoo-dev 2018-08-20 17:27:15 UTC
Created attachment 544170 [details]
logs.tbz2
Comment 6 Toralf Förster gentoo-dev 2018-08-20 17:27:18 UTC
Created attachment 544172 [details]
net-analyzer:pmacct-1.7.1:20180820-153156.log
Comment 7 Toralf Förster gentoo-dev 2018-08-20 17:27:21 UTC
Created attachment 544174 [details]
temp.tbz2
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2019-04-03 14:07:46 UTC
Even more problems after hacking around the weird static lib check.

ndpi.c: In function ‘pm_ndpi_get_flow_info6’:
ndpi.c:284:24: error: ‘const struct ndpi_ipv6hdr’ has no member named ‘ip6_hdr’; did you mean ‘ip6_src’?
   iph.protocol = iph6->ip6_hdr.ip6_un1_nxt;
                        ^~~~~~~
                        ip6_src
In file included from ../pmacct.h:55,
                 from ndpi.c:30:
ndpi.c:294:20: error: ‘const struct ndpi_ipv6hdr’ has no member named ‘ip6_hdr’; did you mean ‘ip6_src’?
        ntohs(iph6->ip6_hdr.ip6_un1_plen),
                    ^~~~~~~
Comment 9 Jeroen Roovers (RETIRED) gentoo-dev 2019-04-03 15:29:49 UTC
When I experimentally update nDPI to version 2.8, we get more problems:

In file included from /usr/include/ndpi/ndpi_typedefs.h:876,
                 from /usr/include/ndpi/ndpi_main.h:30,
                 from ../pmacct.h:96,
                 from ndpi.c:30:
/usr/include/ndpi/ndpi_config.h:80: warning: "PACKAGE" redefined
 #define PACKAGE "libndpi"

<command-line>: note: this is the location of the previous definition
In file included from /usr/include/ndpi/ndpi_typedefs.h:876,
                 from /usr/include/ndpi/ndpi_main.h:30,
                 from ../pmacct.h:96,
                 from ndpi.c:30:
/usr/include/ndpi/ndpi_config.h:83: warning: "PACKAGE_BUGREPORT" redefined
 #define PACKAGE_BUGREPORT ""

<command-line>: note: this is the location of the previous definition
In file included from /usr/include/ndpi/ndpi_typedefs.h:876,
                 from /usr/include/ndpi/ndpi_main.h:30,
                 from ../pmacct.h:96,
                 from ndpi.c:30:
/usr/include/ndpi/ndpi_config.h:86: warning: "PACKAGE_NAME" redefined
 #define PACKAGE_NAME "libndpi"

<command-line>: note: this is the location of the previous definition
In file included from /usr/include/ndpi/ndpi_typedefs.h:876,
                 from /usr/include/ndpi/ndpi_main.h:30,
                 from ../pmacct.h:96,
                 from ndpi.c:30:
/usr/include/ndpi/ndpi_config.h:89: warning: "PACKAGE_STRING" redefined
 #define PACKAGE_STRING "libndpi 2.8"

That's a warning of things to come. Why does nDPI 2.8 include that in a public header? And this is after creating a 2kB patch for nDPI 2.8's build system.

ndpi.c: In function ‘pm_ndpi_packet_processing’:
ndpi.c:376:33: error: too few arguments to function ‘ndpi_detection_giveup’
       flow->detected_protocol = ndpi_detection_giveup(workflow->ndpi_struct, flow->ndpi_flow);
                                 ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/ndpi/ndpi_main.h:31,
                 from ../pmacct.h:96,
                 from ndpi.c:30:
/usr/include/ndpi/ndpi_api.h:220:17: note: declared here
   ndpi_protocol ndpi_detection_giveup(struct ndpi_detection_module_struct *ndpi_struct,
                 ^~~~~~~~~~~~~~~~~~~~~
ndpi.c: In function ‘pm_ndpi_node_guess_undetected_protocol’:
ndpi.c:443:64: warning: passing argument 2 of ‘ndpi_guess_undetected_protocol’ makes pointer from integer without a cast [-Wint-conversion]
                                                            flow->protocol,
                                                            ~~~~^~~~~~~~~~
In file included from /usr/include/ndpi/ndpi_main.h:31,
                 from ../pmacct.h:96,
                 from ndpi.c:30:
/usr/include/ndpi/ndpi_api.h:341:38: note: expected ‘struct ndpi_flow_struct *’ but argument is of type ‘u_int8_t’ {aka ‘unsigned char’}
             struct ndpi_flow_struct *flow,
             ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
ndpi.c:442:29: error: too few arguments to function ‘ndpi_guess_undetected_protocol’
   flow->detected_protocol = ndpi_guess_undetected_protocol(workflow->ndpi_struct,
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

So they changed the API (and ABI) but pmacct has not caught up yet, even when it already uses pkg-config to detect nDPI >= 2.2. :-\
Comment 10 Jeroen Roovers (RETIRED) gentoo-dev 2020-07-22 06:02:29 UTC
commit 01f8d5c1ec0f78289f397703f6e480217d243b6b
Author: Jeroen Roovers <jer@gentoo.org>
Date:   Tue Jan 28 11:30:58 2020 +0100

    net-analyzer/pmacct: Depend on >=net-libs/nDPI-3.0:=

    Package-Manager: Portage-2.3.85, Repoman-2.3.20
    Signed-off-by: Jeroen Roovers <jer@gentoo.org>