Ad Widget

Collapse

Zabbix 3 + encryption, compilation fails

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • wojtekk
    Junior Member
    • Apr 2016
    • 3

    #1

    Zabbix 3 + encryption, compilation fails

    I'm having problems building version 3 with encryption. I do not use any additional CFLAGS, LDFLAGS. It builds fine without single error without encryption.

    # ./configure --prefix=/usr/local/zabbix --enable-server \
    --enable-proxy --enable-ipv6 --with-libxml2 --with-net-snmp \
    --with-ldap --with-libcurl --with-iconv \
    --with-ssh2 --with-openssl --with-mysql

    Configuration:

    Detected OS: solaris2.11
    Install path: /usr/local/zabbix
    Compilation arch: solaris

    Compiler: gcc
    Compiler flags: -m64 -g -O2 -I/usr/include/libxml2 -I. -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/yes/include

    Enable server: yes
    Server details:
    With database: MySQL
    WEB Monitoring: cURL
    Native Jabber: no
    SNMP: yes
    IPMI: no
    SSH: yes
    TLS: OpenSSL
    ODBC: no
    Linker flags: -rdynamic -L/yes/lib -L/usr/mysql/5.5/lib/amd64 -L/usr/lib -L/usr/lib -L/usr/lib -L/usr/lib
    Libraries: -lkvm -lm -lnsl -lkstat -lsocket -lresolv -lmysqlclient -lxml2 -lnetsnmp -lssh2 -lssl -lcrypto -lldap -llber -lcurl -lidn -lssh2 -lssl -lcrypto -lssl -lcrypto -lgss -llber-2.4 -lldap_r-2.4 -lz -lsocket -lnsl

    Enable proxy: yes
    Proxy details:
    With database: MySQL
    WEB Monitoring: cURL
    SNMP: yes
    IPMI: no
    SSH: yes
    TLS: OpenSSL
    ODBC: no
    Linker flags: -rdynamic -L/yes/lib -L/usr/mysql/5.5/lib/amd64 -L/usr/lib -L/usr/lib -L/usr/lib -L/usr/lib
    Libraries: -lkvm -lm -lnsl -lkstat -lsocket -lresolv -lmysqlclient -lxml2 -lnetsnmp -lssh2 -lssl -lcrypto -lldap -llber -lcurl -lidn -lssh2 -lssl -lcrypto -lssl -lcrypto -lgss -llber-2.4 -lldap_r-2.4 -lz -lsocket -lnsl

    Enable agent: no

    Enable Java gateway: no

    LDAP support: yes
    IPv6 support: yes

    ************************************************** *********
    * Now run 'make install' *
    * *
    * Thank you for using Zabbix! *
    * <http://www.zabbix.com> *
    ************************************************** *********


    # make -j3
    Making all in src
    make[1]: Entering directory `/nas/soft/zabbix/zabbix-3.0.1/src'
    Making all in libs
    make[2]: Entering directory `/nas/soft/zabbix/zabbix-3.0.1/src/libs'
    Making all in zbxcrypto
    make[3]: Entering directory `/nas/soft/zabbix/zabbix-3.0.1/src/libs/zbxcrypto'
    gcc -DHAVE_CONFIG_H -I. -I../../../include -I/usr/mysql/5.5/include -m64 -fPIC -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -m64 -g -O2 -I/usr/include/libxml2 -I. -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/yes/include -MT md5.o -MD -MP -MF .deps/md5.Tpo -c -o md5.o md5.c
    gcc -DHAVE_CONFIG_H -I. -I../../../include -I/usr/mysql/5.5/include -m64 -fPIC -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -m64 -g -O2 -I/usr/include/libxml2 -I. -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/yes/include -MT base64.o -MD -MP -MF .deps/base64.Tpo -c -o base64.o base64.c
    gcc -DHAVE_CONFIG_H -I. -I../../../include -I/usr/mysql/5.5/include -m64 -fPIC -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -m64 -g -O2 -I/usr/include/libxml2 -I. -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/yes/include -MT tls.o -MD -MP -MF .deps/tls.Tpo -c -o tls.o tls.c
    tls.c: In function 'zbx_set_ecdhe_parameters':
    tls.c:3023:2: error: unknown type name 'EC_KEY'
    EC_KEY *ecdh;
    ^
    tls.c:3029:20: warning: assignment makes pointer from integer without a cast [enabled by default]
    if (NULL == (ecdh = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1)))
    ^
    make[3]: *** [tls.o] Error 1
    make[3]: *** Waiting for unfinished jobs....
    mv -f .deps/base64.Tpo .deps/base64.Po
    mv -f .deps/md5.Tpo .deps/md5.Po
    make[3]: Leaving directory `/nas/soft/zabbix/zabbix-3.0.1/src/libs/zbxcrypto'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/nas/soft/zabbix/zabbix-3.0.1/src/libs'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/nas/soft/zabbix/zabbix-3.0.1/src'
    make: *** [all-recursive] Error 1

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


    #openssl version -a
    OpenSSL 1.0.1r 28 Jan 2016
    built on: date not available
    platform: information not available
    options: bn(64,64) md2(int) rc4(16x,int) des(ptr,cisc,16,int) blowfish(ptr)
    compiler: information not available
  • andris
    Zabbix developer
    • Feb 2012
    • 228

    #2
    Hi!

    src/libs/zbxcrypto/tls.c includes "openssl/ssl.h", which includes
    "openssl/x509.h" (if OPENSSL_NO_DEPRECATED and OPENSSL_NO_X509 are not defined),
    which includes "openssl/ec.h" (if OPENSSL_NO_EC is not defined),
    where EC_KEY is defined.
    Do you have all 3 include files and neither OPENSSL_NO_X509 nor OPENSSL_NO_EC, nor OPENSSL_NO_DEPRECATED defined ?

    Andris

    Comment

    • wojtekk
      Junior Member
      • Apr 2016
      • 3

      #3
      Hi andris,

      Thanks for the hint! The ec.h is missing so that would be the case. Looks like solaris 11 openssl package doesn't contain ec.h header but openssl-fips version does. I'll try fips and see how that goes.

      Comment

      Working...