Ad Widget

Collapse

Problems compiling agent (zabbix-1.1beta12) on Solaris 8

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • michaeln
    Junior Member
    • May 2006
    • 1

    #1

    Problems compiling agent (zabbix-1.1beta12) on Solaris 8

    I tried to compile the agent on Solaris 8 but got the following errors:

    ./configure --prefix=/usr/local/zabbix-1.1beta12 --enable-agent

    checking for a BSD-compatible install... ./install-sh -c
    checking whether build environment is sane... yes
    checking for gawk... no
    checking for mawk... no
    checking for nawk... nawk
    checking whether make sets $(MAKE)... yes
    configure: Configuring
    checking whether make sets $(MAKE)... (cached) yes
    checking build system type... sparc-sun-solaris2.8
    checking host system type... sparc-sun-solaris2.8
    checking for gcc... gcc
    checking for C compiler default output file name... a.out
    checking whether the C compiler works... yes
    checking whether we are cross compiling... no
    checking for suffix of executables...
    checking for suffix of object files... o

    .....
    .....

    checking sys/var.h usability... yes
    checking sys/var.h presence... yes
    checking for sys/var.h... yes
    checking resolv.h usability... no
    checking resolv.h presence... yes
    configure: WARNING: resolv.h: present but cannot be compiled
    configure: WARNING: resolv.h: check for missing prerequisite headers?
    configure: WARNING: resolv.h: see the Autoconf documentation
    configure: WARNING: resolv.h: section "Present But Cannot Be Compiled"
    configure: WARNING: resolv.h: proceeding with the preprocessor's result
    configure: WARNING: resolv.h: in the future, the compiler will take precedence
    configure: WARNING: ## ------------------------------------------ ##
    configure: WARNING: ## Report this to the AC_PACKAGE_NAME lists. ##
    configure: WARNING: ## ------------------------------------------ ##
    checking for resolv.h... yes
    checking arpa/nameser.h usability... yes
    checking arpa/nameser.h presence... yes
    checking for arpa/nameser.h... yes
    checking assert.h usability... yes
    checking assert.h presence... yes

    ...
    ...

    checking for nlist.h... yes
    checking net/if.h usability... no
    checking net/if.h presence... yes
    configure: WARNING: net/if.h: present but cannot be compiled
    configure: WARNING: net/if.h: check for missing prerequisite headers?
    configure: WARNING: net/if.h: see the Autoconf documentation
    configure: WARNING: net/if.h: section "Present But Cannot Be Compiled"
    configure: WARNING: net/if.h: proceeding with the preprocessor's result
    configure: WARNING: net/if.h: in the future, the compiler will take precedence
    configure: WARNING: ## ------------------------------------------ ##
    configure: WARNING: ## Report this to the AC_PACKAGE_NAME lists. ##
    configure: WARNING: ## ------------------------------------------ ##
    checking for net/if.h... yes
    checking kvm.h usability... yes
    checking kvm.h presence... yes
    checking for kvm.h... yes
    checking linux/kernel.h usability... no
    checking linux/kernel.h presence... no
    checking for linux/kernel.h... no
    checking ldap.h usability... no
    checking ldap.h presence... yes
    configure: WARNING: ldap.h: present but cannot be compiled
    configure: WARNING: ldap.h: check for missing prerequisite headers?
    configure: WARNING: ldap.h: see the Autoconf documentation
    configure: WARNING: ldap.h: section "Present But Cannot Be Compiled"
    configure: WARNING: ldap.h: proceeding with the preprocessor's result
    configure: WARNING: ldap.h: in the future, the compiler will take precedence
    configure: WARNING: ## ------------------------------------------ ##
    configure: WARNING: ## Report this to the AC_PACKAGE_NAME lists. ##
    configure: WARNING: ## ------------------------------------------ ##
    checking for ldap.h... yes
    checking getopt.h usability... no
    checking getopt.h presence... no
    checking for getopt.h... no
    checking procinfo.h usability... no
    checking procinfo.h presence... no
    checking for procinfo.h... no
    checking sys/dk.h usability... no
    checking sys/dk.h presence... no
    checking for sys/dk.h... no

    ...
    ...

    checking for getopt_long... no
    checking for NET-SNMP support... no
    checking for UCD-SNMP support... no
    checking for LDAP support... no
    checking for architecture... ok (solaris2.8)
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating src/Makefile
    config.status: creating src/libs/Makefile
    config.status: creating src/libs/zbxlog/Makefile
    config.status: creating src/libs/zbxcrypto/Makefile
    config.status: creating src/libs/zbxpid/Makefile
    config.status: creating src/libs/zbxnet/Makefile
    config.status: creating src/libs/zbxconf/Makefile
    config.status: creating src/zabbix_sender/Makefile
    config.status: creating src/libs/zbxdbhigh/Makefile
    config.status: creating src/libs/zbxemail/Makefile
    config.status: creating src/libs/zbxsysinfo/Makefile
    config.status: creating src/libs/zbxsms/Makefile
    config.status: creating src/zabbix_server/pinger/Makefile
    config.status: creating src/zabbix_agent/Makefile
    config.status: creating src/zabbix_server/housekeeper/Makefile
    config.status: creating src/zabbix_server/alerter/Makefile
    config.status: creating src/zabbix_server/Makefile
    config.status: creating src/zabbix_server/trapper/Makefile
    config.status: creating src/zabbix_server/poller/Makefile
    config.status: creating src/zabbix_server/timer/Makefile
    config.status: creating src/zabbix_get/Makefile
    config.status: creating src/libs/zbxcommon/Makefile
    config.status: creating src/libs/zbxsysinfo/linux/Makefile
    config.status: creating src/libs/zbxsysinfo/aix/Makefile
    config.status: creating src/libs/zbxsysinfo/freebsd/Makefile
    config.status: creating src/libs/zbxsysinfo/hpux/Makefile
    config.status: creating src/libs/zbxsysinfo/openbsd/Makefile
    config.status: creating src/libs/zbxsysinfo/osx/Makefile
    config.status: creating src/libs/zbxsysinfo/solaris/Makefile
    config.status: creating src/libs/zbxsysinfo/osf/Makefile
    config.status: creating src/libs/zbxsysinfo/netbsd/Makefile
    config.status: creating src/libs/zbxsysinfo/unknown/Makefile
    config.status: creating include/config.h
    config.status: executing depfiles commands


    Configuration:

    Detected OS: solaris2.8
    Install path: /usr/local/zabbix-1.1beta12
    Compiler: gcc
    Compiler flags: -g -O2
    Linker flags: -lkvm -lresolv -lnsl -lkstat -lsocket
    Compilation arch: solaris

    Enable server: no
    With database: no

    Enable agent: yes

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

    make

    Making all in src
    make[1]: Entering directory `/var/tmp/zabbix-1.1beta12/src'
    Making all in libs
    make[2]: Entering directory `/var/tmp/zabbix-1.1beta12/src/libs'
    Making all in zbxcommon
    make[3]: Entering directory `/var/tmp/zabbix-1.1beta12/src/libs/zbxcommon'
    make[4]: Entering directory `/var/tmp/zabbix-1.1beta12/src/libs/zbxcommon'
    if gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -g -O2 -MT base64.o -MD -MP -MF ".deps/base64.Tpo" -c -o base64.o base64.c; \
    then mv -f ".deps/base64.Tpo" ".deps/base64.Po"; else rm -f ".deps/base64.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I. -I. -I../../../include -g -O2 -MT misc.o -MD -MP -MF ".deps/misc.Tpo" -c -o misc.o misc.c; \
    then mv -f ".deps/misc.Tpo" ".deps/misc.Po"; else rm -f ".deps/misc.Tpo"; exit 1; fi
    In file included from ../../../include/sysinc.h:83,
    from ../../../include/common.h:23,
    from misc.c:1:
    /usr/include/ldap.h:494: error: field `ldctl_value' has incomplete type
    /usr/include/ldap.h:1083: error: syntax error before "BerElement"
    /usr/include/ldap.h:1085: error: syntax error before "BerElement"
    /usr/include/ldap.h:1115: error: syntax error before "BerElement"
    make[4]: *** [misc.o] Error 1
    make[4]: Leaving directory `/var/tmp/zabbix-1.1beta12/src/libs/zbxcommon'
    make[3]: *** [all-recursive] Error 1
    make[3]: Leaving directory `/var/tmp/zabbix-1.1beta12/src/libs/zbxcommon'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/var/tmp/zabbix-1.1beta12/src/libs'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/var/tmp/zabbix-1.1beta12/src'
    make: *** [all-recursive] Error 1

    Has someone a clue howto solve this problem?
    Or could someone provide precompiled versions of the newest zabbix_agentd
    for Solaris 8?

    Regards

    Michael
  • lreger
    Junior Member
    • Jun 2006
    • 4

    #2
    You need net-snmp, openssl and may be openldap for solaris!

    I tried it with the packages from sunfreeware.com but unfortunately
    the precompiled net-snmp has not satisfied the compiler because of a missing
    system header file <getopt.h>. The openldap packages comes with
    a getopt.h but I am not sure if that works because usually the
    getopt functions are implemented in <unistd.h>. So a better solution
    for me was:

    1. Install openssl and openldap packages from sunfreeware.com
    (it may be possible that you need further dependend packages)
    2. Get the actual source tar file of net-snmp from http://net-snmp.sourceforge.net/download.html
    3. compile and install net-snmp
    4. compile and install zabbix --with-net-snmp enabled.

    Comment

    • jfriedman
      Junior Member
      • Jun 2006
      • 9

      #3
      Is LDAP required? What if I do not need it?

      Are Net-SNMP and OpenLDAP required for Solaris? If so why? Can the SNMP that comes with Solaris be used?

      Can the agent be installed on Solaris without LDAP? How?

      Still learning...

      - Jeff

      Comment

      • jfriedman
        Junior Member
        • Jun 2006
        • 9

        #4
        A hack for compiling on Solaris 8

        Well, if you don't need LDAP, you can get to compile be doing the following:

        Edit the /<your_path/zabbix-1.1/include/sysinc.h and remove the following lines:

        #ifdef HAVE_LDAP_H
        #include <ldap.h>
        #endif

        For some reason this will always get included, can't seem to tell configure to ignore.

        - Jeff

        Comment

        Working...