Probably, dev-libs/hiredis should be added into DEPEND. I do not attach all logs, just last lines of "emerge" output, I sure you will see the point of issue: ... checking magic.h usability... yes checking magic.h presence... yes checking for magic.h... yes checking for magic_open in -lmagic... yes checking hiredis/hiredis.h usability... no checking hiredis/hiredis.h presence... no checking for hiredis/hiredis.h... no ERROR! libhiredis library not found, go get it from https://github.com/redis/hiredis or your distribution: Ubuntu: apt-get install libhiredis-dev Fedora: yum install libhiredis-devel !!! Please attach the following file when seeking support: !!! /var/tmp/portage/net-analyzer/suricata-3.1/work/suricata-3.1/config.log * ERROR: net-analyzer/suricata-3.1::gentoo failed (configure phase): * econf failed * * Call stack: * ebuild.sh, line 133: Called src_configure * environment, line 3085: Called econf 'LIBS=' '--localstatedir=/var/' '--enable-non-bundled-htp' '--enable-af-packet' '--enable-detection' '--enable-nfqueue' '--disable-hiredis' '--disable-coccinelle' '--disable-unittests' '--disable-unix-socket' '--enable-gccprotect' * phase-helpers.sh, line 662: Called __helpers_die 'econf failed' * isolated-functions.sh, line 117: Called die * The specific snippet of code: * die "$@" * * If you need support, post the output of `emerge --info '=net-analyzer/suricata-3.1::gentoo'`, * the complete build log and the output of `emerge -pqv '=net-analyzer/suricata-3.1::gentoo'`. * The complete build log is located at '/var/tmp/portage/net-analyzer/suricata-3.1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-analyzer/suricata-3.1/temp/environment'. * Working directory: '/var/tmp/portage/net-analyzer/suricata-3.1/work/suricata-3.1' * S: '/var/tmp/portage/net-analyzer/suricata-3.1/work/suricata-3.1' Reproducible: Always
I just highlight from first messate. I have '--disable-hiredis' (don't use USE 'redis') but looks like suricata 3.1 need dev-libs/hiredis anyway.
The way the option is handled by upstream is at best non-standard and at worst broken. The presence of either --enable-hiredis or --disable-hiredis on configure causes it to check for the library and fail if it isn't present. The quickest work-around would be to throw a conditional around the use_enable so it's only added to the configure command if it's in USE.
See upstream issue: https://redmine.openinfosecfoundation.org/issues/1835
Should be fixes now. Let me know if it's working for you.
I can confirm, this issue was fixed.