sonnenblen.de - Das unabhängige Sun User Forum

Software => Programmieren, Kompilieren => Thema gestartet von: Brenner am 17. Juni 2008, 17:02:15

Titel: Nagios 3.X unter Solaris 10
Beitrag von: Brenner am 17. Juni 2008, 17:02:15
Ich wollte heute die Nagios 3.0.2 Version unter Solaris 10 U5 X86  installieren, aber bekomme es einfach nicht hin. Spätestens bei "make all" werden Fehler geworfen.


Hat es von Euch schon jemand probiert bzw. kennt ein HowTo? Die HowTos für die Nagios 2.X scheinen nutzlos zu sein.
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: escimo am 17. Juni 2008, 20:12:48
Spätestens bei "make all" werden Fehler geworfen.
Was für Fehler?  ::)

"make all"? Für welche Zielplattformen willst du denn alles übersetzen? Doch bestimmt nur für Solaris 10/x86 (oder x64).

Ohne die Doku, HowTo's oder die README von Nagios gelesen zu haben. Was passiert bei folgenden Kommandos...
  # cd <nagios-src-dir>
  # ./configure --help
  # ./configure <list with options from Brenner>
  # ./make
  # ./make install


Gruß
escimo
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: Brenner am 18. Juni 2008, 08:22:53
Also,

ich habe mich an folgendes HowTo gehalten:
http://ls5-www.cs.uni-dortmund.de/~windmueller/nagios-solaris10.html
inkl. Configure Optionen usw.



bash-3.00# ./configure --help
`configure' configures this package to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local/nagios]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/usr/local/nagios/bin', `/usr/local/nagios/lib' etc.  You can specify
an installation prefix other than `/usr/local/nagios' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR           user executables [EPREFIX/bin]
  --sbindir=DIR          system admin executables [EPREFIX/sbin]
  --libexecdir=DIR       program executables [EPREFIX/libexec]
  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
  --libdir=DIR           object code libraries [EPREFIX/lib]
  --includedir=DIR       C header files [PREFIX/include]
  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
  --infodir=DIR          info documentation [PREFIX/info]
  --mandir=DIR           man documentation [PREFIX/man]

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Optional Features:
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
--disable-statusmap=disables compilation of statusmap CGI
--disable-statuswrl=disables compilation of statuswrl (VRML) CGI
--enable-nanosleep enables use of nanosleep (instead sleep) in event timing
--enable-event-broker enables integration of event broker routines
--enable-embedded-perl will enable embedded Perl interpreter
--enable-cygwin enables building under the CYGWIN environment

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
--with-nagios-user=<user> sets user name to run nagios
--with-nagios-group=<grp> sets group name to run nagios
--with-command-user=<user> sets user name for command access
--with-command-group=<grp> sets group name for command access
--with-mail=<path_to_mail> sets path to equivalent program to mail
--with-httpd-conf=<path_to_conf> sets path to Apache conf.d directory
--with-checkresult-dir=<path> sets path to check results spool directory
--with-temp-dir=<path> sets path to temp directory
--with-init-dir=<path> sets directory to place init script into
--with-lockfile=<path> sets path and file name for lock file
--with-gd-lib=DIR sets location of the gd library
--with-gd-inc=DIR sets location of the gd include files
--with-cgiurl=<local-url> sets URL for cgi programs (do not use a trailing slash)
--with-htmurl=<local-url> sets URL for public html
--with-perlcache turns on cacheing of internally compiled Perl scripts

Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
              headers in a nonstandard directory <include dir>
  CPP         C preprocessor

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

bash-3.00#





./configure --prefix=/opt/local/nagios-3.0.2 --with-nagios-user=nagios --with-nagios-group=nagios --with-gd-lib=/opt/sfw/lib --with-gd-inc=/opt/sfw/include
*** Configuration summary for nagios 3.0.2 05-19-2008 ***:

 General Options:
 -------------------------
        Nagios executable:  nagios
        Nagios user/group:  nagios,nagios
       Command user/group:  nagios,nagios
            Embedded Perl:  no
             Event Broker:  yes
        Install ${prefix}:  /opt/local/nagios-3.0.2
                Lock file:  ${prefix}/var/nagios.lock
   Check result directory:  ${prefix}/var/spool/checkresults
           Init directory:  /etc/init.d
  Apache conf.d directory:  /etc/httpd/conf.d
             Mail program:  /usr/bin/mail
                  Host OS:  solaris2.10

 Web Interface Options:
 ------------------------
                 HTML URL:  http://localhost/nagios/
                  CGI URL:  http://localhost/nagios/cgi-bin/
 Traceroute (used by WAP):  /usr/sbin/traceroute


Review the options above for accuracy.  If they look okay,
type 'make all' to compile the main program and CGIs.




Ausgabe von "make"
bash-3.00# make
Please supply a command line argument (i.e. 'make all').  Other targets are:
   nagios cgis contrib modules
   clean
   install install-base install-cgis install-html install-config install-init install-commandmode fullinstall
bash-3.00#




Ausgabe von "make all"

bash-3.00# make all
cd ./base && make
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE  -c  broker.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE  -c  nebmods.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE  -c  checks.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE  -c  config.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE  -c  commands.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE  -c  events.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE  -c  flapping.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE  -c  logging.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o macros-base.o ../common/macros.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE  -c  notifications.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE  -c  sehandlers.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o skiplist.o ../common/skiplist.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE  -c  utils.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o retention-base.o sretention.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o xretention-base.o ../xdata/xrddefault.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o comments-base.o ../common/comments.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o xcomments-base.o ../xdata/xcddefault.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o objects-base.o ../common/objects.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o xobjects-base.o ../xdata/xodtemplate.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o statusdata-base.o ../common/statusdata.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o xstatusdata-base.o ../xdata/xsddefault.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o perfdata-base.o perfdata.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o xperfdata-base.o ../xdata/xpddefault.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o downtime-base.o ../common/downtime.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -c -o xdowntime-base.o ../xdata/xdddefault.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE  -c  ../common/snprintf.c
gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE -o nagios nagios.c broker.o nebmods.o checks.o config.o commands.o events.o flapping.o logging.o macros-base.o notifications.o sehandlers.o skiplist.o utils.o retention-base.o xretention-base.o comments-base.o xcomments-base.o objects-base.o xobjects-base.o statusdata-base.o xstatusdata-base.o perfdata-base.o xperfdata-base.o downtime-base.o xdowntime-base.o  ../common/snprintf.o   -L/opt/sfw/lib  -lm  -lpthread -ldl -lrt  -lglib-2.0
gcc: ../common/snprintf.o: Datei oder Verzeichnis nicht gefunden
*** Error code 1
make: Fatal error: Command failed for target `nagios'
Current working directory /var/tmp/nagios-3.0.2/base
*** Error code 1
make: Fatal error: Command failed for target `all'
bash-3.00#
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: escimo am 18. Juni 2008, 08:54:33
Ok, du nutzt die GNU-Tools unterhalb von /usr/sfw, um Nagios zu übersetzen.

ich habe mich an folgendes HowTo gehalten:
http://ls5-www.cs.uni-dortmund.de/~windmueller/nagios-solaris10.html
inkl. Configure Optionen usw.
Und hast du dich auch an die Installationsanweisungen, die bei den Quellen meist in Form einer/mehrerer README beiliegt, gehalten?

Sind denn alle Vorbedingungen erfüllt:
[1] Alle benötigten Pfade (PATH, LD_LIBRARY_PATH usw.) sind korrekt gesetzt..
Zitat
Make sure that /usr/ccs/bin is part of your PATH. Then run these commands:
...siehe Howto. Enthält u.a. as, ld, m4, a und mehr die eventuell von Nagios für Solaris zum Build benötigt werden. Sollte /usr/sfw/bin im Pfad an erste Stelle stehen, tauschen. Oder stell bitte mal dem Output von `echo $PATH` zur Verfügung.
[2] Gruppe und Nutzer wurden angelegt?
[3] Das Verzeichnis /opt/local existiert?
[4] Die GD Graphics Library (SFWgd) ist installiert (evtl. von der Solaris Companion CD oder blastwave.org)?

Manchmal hilft auch der Build von einem "Source Code"-externen Verzeichnis aus.
Was passiert, wenn du folgendes machst:
  # mkdir nbuild && cd nbuild
  # ../nagios-src/configure <...>
  # ../nagios-src/make all


Viele Grüße
escimo
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: Brenner am 18. Juni 2008, 09:21:43
Die Readme helfen nicht da es keine offiziellen Installationsanweisungen für Nagios unter Solaris gibt.


zu1)
PATH habe ich erweitert, sie hat folgenden Inhalt:

bash-3.00# echo $PATH
/usr/sbin:/usr/bin:/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:/usr/sfw/bin/gcc
bash-3.00#



Mit "LD_LIBRARY_PATH" kann ich grad nichts anfangen.


zu2) Gruppe und Nutzer habe ich angelegt.


zu3) Verzeichnis /opt/local existiert.


zu4) Habe das Paket von SUN aus der Companion Quelle heruntergeladen und installiert.


zu "waspassiertwenndufolgendesmachst")

Ich habe im / das Verzeichnis angelegt und bin rein gewechselt und habe anschließend configure ausgeführt. "Make all" geht aber auf diese Weise nicht (Datei oder Verzeichnis nicht gefunden). Da muss man wohl doch im Verzeichnis stehen.



Danke für die Bemühungen.
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: escimo am 18. Juni 2008, 10:34:45
bash-3.00# echo $PATH
/usr/sbin:/usr/bin:/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:/usr/sfw/bin/gcc
Das kann nicht sein: hinten sollte /usr/sfw/bin stehen!

Zitat
zu4) Habe das Paket von SUN aus der Companion Quelle heruntergeladen und installiert.
Die GD-Libs sind von der Companion-CD wahrscheinlich nach /opt/sfw installiert worden. Das bedeutet, du müsstes /opt/sfw/bin mit in die PATH-Variable aufnehmen.

Zitat
Mit "LD_LIBRARY_PATH" kann ich grad nichts anfangen.
Setzt den Suchpfad für die zu "linkenden" (System-)Bibliotheken.

  # export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/css/lib:/usr/sfw/lib:/opt/sfw/lib

Zitat
zu "waspassiertwenndufolgendesmachst")

Ich habe im / das Verzeichnis angelegt und bin rein gewechselt und habe anschließend configure ausgeführt. "Make all" geht aber auf diese Weise nicht (Datei oder Verzeichnis nicht gefunden). Da muss man wohl doch im Verzeichnis stehen.
Bedeutet das, der relative (aus Build-Verzeichnis) Aufruf von Make schlägt dann fehl? Also hast du folgendes gemacht...
  # cd /
  # mkdir nbuild && cd nbuild
  # ../pfad/zum/nagios/quellverzeichnis/configure <deine Optionen>
  # ../pfad/zum/nagios/quellverzeichnis/make all

...Wenn das nicht funktioniert, dann eben direkt aus dem Quellverzeichnis. Nicht vergessen, nach jedem fehlerhaften Build ein `make clean` abzusetzen.

Und auf geht's... ;)
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: Brenner am 18. Juni 2008, 10:57:18
bash-3.00# echo $PATH
/usr/sbin:/usr/bin:/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:/usr/sfw/bin/gcc
Das kann nicht sein: hinten sollte /usr/sfw/bin stehen!

Das war nur mittendrin ein verzweifelter Versuch das zu laufen zu bekommen.


Zitat
Zitat
zu4) Habe das Paket von SUN aus der Companion Quelle heruntergeladen und installiert.
Die GD-Libs sind von der Companion-CD wahrscheinlich nach /opt/sfw installiert worden. Das bedeutet, du müsstes /opt/sfw/bin mit in die PATH-Variable aufnehmen.

Zitat
Mit "LD_LIBRARY_PATH" kann ich grad nichts anfangen.
Setzt den Suchpfad für die zu "linkenden" (System-)Bibliotheken.

  # export LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/css/lib:/usr/sfw/lib:/opt/sfw/lib

Wie kann ich abfragen ob der Pfad erfolgreich eingetragen wurde? Beim ausführen von "export" taucht der LD_Library.... nicht auf.

Zitat
Zitat
zu "waspassiertwenndufolgendesmachst")

Ich habe im / das Verzeichnis angelegt und bin rein gewechselt und habe anschließend configure ausgeführt. "Make all" geht aber auf diese Weise nicht (Datei oder Verzeichnis nicht gefunden). Da muss man wohl doch im Verzeichnis stehen.
Bedeutet das, der relative (aus Build-Verzeichnis) Aufruf von Make schlägt dann fehl? Also hast du folgendes gemacht...
  # cd /
  # mkdir nbuild && cd nbuild
  # ../pfad/zum/nagios/quellverzeichnis/configure <deine Optionen>
  # ../pfad/zum/nagios/quellverzeichnis/make all

...Wenn das nicht funktioniert, dann eben direkt aus dem Quellverzeichnis. Nicht vergessen, nach jedem fehlerhaften Build ein `make clean` abzusetzen.
Ja genau so und das "make all" danach nochmal direkt aus dem Sourceverzeiochnis, gleiches Ergebnis wie immer. Ich mache immer mit "make distclean" sauber, ist das auch ok?

Zitat
Und auf geht's... ;)
Ich bin schon fast dabei ´ne CentOS5.1 rauszusuchen. Die Büchsen sollen nur SGD und Nagios machen...
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: escimo am 18. Juni 2008, 11:11:57
Zitat
Wie kann ich abfragen ob der Pfad erfolgreich eingetragen wurde? Beim ausführen von "export" taucht der LD_Library.... nicht auf.

  # echo $LD_LIBRARY_PATH

Du setzt die LD_LIBRARY_PATH Variable einzig für die Laufzeit. Nach Abmeldung oder Schließen der Konsole, sind diese Einstellungen verloren. Dann lohnt der Eintrag in die "~/.profile":

LD_LIBRARY_PATH=<LIBDIR-1>:<LIBDIR-2>:<u.a.>
export LD_LIBRARY_PATH
Speichern, raus und erneut das Profil einlesen mittels

  # . .profile
ja Punkt, Leer, Punkt+"profile" ;)

Zitat
Ich mache immer mit "make distclean" sauber, ist das auch ok?
Nach diesen Angaben von dir wird dieses "Target" nicht aufgeführt...
bash-3.00# make
... Other targets are:
   nagios cgis contrib modules
   clean
   install install-base install-cgis install-html install-config install-init install-commandmode fullinstall

Gib mir mal bitte alle Ausgaben auf folgende Kommandos:
  # echo $PATH
  # echo $LD_LIBRARY_PATH
  # pkginfo | grep gd
  (bringt u.a. in etwa: "system      SFWgd                            gd - GD Graphics Library")
  # pkgparam -v -d /var/sadm/pkg SFWgd BASEDIR VERSION
  (hängt vom Paketnamen z.B. SFWgd ab)


Hier noch eine Alternative: http://www.totkat.org/pages/nagios.shtml (http://www.totkat.org/pages/nagios.shtml)

Gruß
escimo
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: Brenner am 18. Juni 2008, 11:29:15
bash-3.00# clear
bash-3.00# echo $PATH
/usr/sbin:/usr/bin:/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin
bash-3.00# echo $LD_LIBRARY_PATH
/usr/lib:/usr/local/lib:/usr/css/lib:/usr/sfw/lib:/opt/sfw/lib
bash-3.00# pkginfo | grep gd
system      CSWgdbm                          gdbm - GNU dbm
system      SFWgd                            gd - GD Graphics Library
bash-3.00# pkgparam -v -d /var/sadm/pkg SFWgd BASEDIR VERSION
BASEDIR='/opt'
VERSION='2.0.15,REV=2006.10.04.21.08'
bash-3.00#






edit:
Sollte ich die Alternative mal ausprobieren und wenn ja, wann, also dann wenn du auch nicht mehr weiter weißt!? ;)
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: escimo am 18. Juni 2008, 11:36:44
Zitat
bash-3.00# pkgparam -v -d /var/sadm/pkg SFWgd BASEDIR VERSION
BASEDIR='/opt'
Die GD ist also unter /opt/sfw installiert. Sieht gut aus, du könntest aber noch...

bash-3.00# echo $PATH
/usr/sbin:/usr/bin:/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin
"/opt/sfw/bin" ... beim Pfad am Ende hinzufügen. Schadet nicht.

Sofern die GD-Libraries und evtl. Binaries zum Übersetzen benötigt werden...probier es nochmal, bitte.


Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: Brenner am 18. Juni 2008, 11:51:35
Hab´s probiert, keine Änderung, leider.
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: escimo am 18. Juni 2008, 12:21:40
Zitat
gcc: ../common/snprintf.o: Datei oder Verzeichnis nicht gefunden
*** Error code 1
Ich kenne nicht deine Build-Umgebung und bin nicht informiert was du alles installiert hast und vor allem wohin du hast' installieren lassen.  :-\

gcc -g -O2 -I/opt/sfw/include -DHAVE_CONFIG_H -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -DNSCORE  -c  broker.cNochmal...probier jedes Target einzeln, um den Fehlerherd weiter einzugrenzen.

  # make clean
  # make nagios


EDIT: Benötigst du Nagios auf Solaris als Server oder Client?

http://forum.java.sun.com/thread.jspa?threadID=5112366&messageID=9879024 (http://forum.java.sun.com/thread.jspa?threadID=5112366&messageID=9879024)
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: Brenner am 18. Juni 2008, 12:34:02
Naja, es ist ein Standard Solaris 10 U5 x86 32Bit in Vollinstallation.


Oh Gott, oh Gott, Targets einzeln installieren....


Als Server.




Ich könne dem System jetzt erstmal eine Pause (oder besser gesagt mir) und schaue mal ob mit CentOS nicht doch sinnvoller ist. Schließlich soll das nicht die einzige Büchse in dieser Konfiguration bleiben.
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: vab am 19. Juni 2008, 09:46:35
1.  LD_LIBRARY_PATH sollte nie nie nie in einer Shell gesetzt sein.  Wer so was braucht, um etwas ans Laufen zu kriegen, hat etwas gundsätzlich falsch gemacht.

2. Versuch mal Gnu Make:

   export MAKE=/usr/sfw/bin/gmake
   gmake all

   
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: escimo am 19. Juni 2008, 12:45:34
1.  LD_LIBRARY_PATH sollte nie nie nie in einer Shell gesetzt sein.  Wer so was braucht, um etwas ans Laufen zu kriegen, hat etwas gundsätzlich falsch gemacht.
Also, das kommt ganz auf die Anwendung an, die man übersetzen möchte. Es gibt Anwendungen, bei denen es in den README's  ausdrücklich "gefordert" wird. Zudem spricht nichts dagegen den LD-Pfad zu setzen, nur man sollte wissen was man tut.
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: vab am 20. Juni 2008, 12:51:28
1.  LD_LIBRARY_PATH sollte nie nie nie in einer Shell gesetzt sein.  Wer so was braucht, um etwas ans Laufen zu kriegen, hat etwas gundsätzlich falsch gemacht.
Also, das kommt ganz auf die Anwendung an, die man übersetzen möchte.

Leider so nicht richtig.  $LD_LIBRARY_PATH ist zur Laufzeit eines Programms wichtig, nicht zum Übersetzen.  Es bringt im Gegenteil meist den Build-Vorgang durcheinander.  Siehe dazu ld(1), ld.so.1(1), lari(1) und den "Linker and Libraries Guide".

Zitat
Es gibt Anwendungen, bei denen es in den README's  ausdrücklich "gefordert" wird.

Dann sind die READMEs eben von Ahnungslosen oder Linux-Usern geschrieben worden. :-(

Zitat
Zudem spricht nichts dagegen den LD-Pfad zu setzen, nur man sollte wissen was man tut.

Wissen was man tut sollte man immer.  Und wer $LD_LIBRARY_PATH in einer Shell setzt, weiß das nicht.  Das ist dasselbe Problem wie der Verweis auf crle.  Für Details bitte Onkel Google fragen.


Gruß -- Volker
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: escimo am 20. Juni 2008, 23:52:45
Und wer $LD_LIBRARY_PATH in einer Shell setzt, weiß das nicht.
Na dann Volker, erweise uns die Ehre und korrigiere meine Fehlangabe, indem du Brenner und mir kurz erläuterst, wie man den Pfad für OpenSource-Anwendungen richtig setzen kann. ::)

Ich mache das mit der Umgebungsvariable LD_LIBRARY_PATH immer - weil ich es nicht anders kenne, bin offen für Vorschläge - und hatte zu keinem Zeitpunkt je Probleme bei irgendeiner laufenden wie auch zu übersetzenden Anwendung. ;)

Grüße
escimo
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: Ebbi am 21. Juni 2008, 16:33:04
Ich denke die Betonung liegt hier auf "einer" Shell statt auf "in einer Shell".
Also eben nicht nur in einer einzigen Shell setzen, sondern ins Profil eintragen. :)

Bei der Oracle Installation bin ich es gewohnt es immer nur in der Shell zu setzen, von der aus ich Oracle installiere.
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: escimo am 21. Juni 2008, 23:30:32
Dann lohnt der Eintrag in die "~/.profile":

LD_LIBRARY_PATH=<LIBDIR-1>:<LIBDIR-2>:<u.a.>
export LD_LIBRARY_PATH
Speichern, raus und erneut das Profil einlesen mittels

  # . .profile
...
Das habe ich doch schon geschrieben. Vielleicht hat Volker das überlesen... :)

Grüße
Stephan
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: vab am 23. Juni 2008, 11:44:34
Na, hier wird einem ja das Wort im Munde herumgedreht... :-)

Also, nochmal ganz klar formuliert:  LD_LIBRARY_PATH ist böse böse böse!
Es soll grundsätzlich nie nie nie gesetzt sein.  Nicht in irgendeiner Shell, nicht in .cshrc oder .profile oder sonstwo.

Falls es irgendwo mal eine defekte kaputte fehlerhafte problematische Software gibt, die nicht korrekt mit -R gelinkt wurde, dann findet man die für diese defekte kaputte fehlerhafte problematische Software benötigten Library-Verzeichnisse heraus und schreibt diese (und nur diese) in ein Wrapper-Shell-Script, nennt das so wie das aufzurufende Programm und benennt das Programm entsprechend um.

Beispiel:

  # cat /loser/broken/bin/dummtool
  #!/bin/sh

  LD_LIBRARY_PATH=/opt/sfw/lib
  export LD_LIBRARY_PATH

  exec /loser/broken/bin/dummtool.bin "$*"
  #


Das ist der *einzige* sinnvolle Verwendungszweck.  (Na gut, und zum Shared Libraries debuggen...)

Gruß -- Volker
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: escimo am 23. Juni 2008, 17:08:32
Na, hier wird einem ja das Wort im Munde herumgedreht... :-)

Also, nochmal ganz klar formuliert:  LD_LIBRARY_PATH ist böse böse böse!
Böse ist wer böses tut. ;)

Aber wo ist denn da der Unterschied? Wenn du die Variable in einem Skript setzt, bleibt diese während der gesamten Lebensdauer der Konsolen-Session erhalten und gesetzt. Oder verstehe ich das falsch? Soll das bedeuten, dass dieses Wrapper-Skript als Sub-Shell ausgeführt wird ???

Tatsache, die LD_LIBRARY_PATH -Umgebungsvariable wird selten gesetzt. Beim Studio z.B. nicht:
Setting Up Access to the Developer Tools and Man Pages (http://docs.sun.com/app/docs/doc/820-0273/6nc1a9djt?a=view#gemls)
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: vab am 17. Juli 2008, 00:15:58
Wenn man in einem Shell-Script eine Variable definiert, gilt sie nur innerhalb dieses Scripts.  Wenn man sie mit "export" als Environment Variable deklariert, gilt dies für das aktuelle Environment und alle Kindprozesse des aktuellen Prozesses, die dieses Environment erben.

Insbesondere hat das nichts mit dem Aufrufer des Shell-Scripts zu tun.   Der kann die Variable ganz anders oder garnicht setzen, er kriegt nicht mit, wie die im Shell-Script steht.


Gruß -- Volker
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: erisch am 17. Juli 2008, 20:20:03
[...]
Tatsache, die LD_LIBRARY_PATH -Umgebungsvariable wird selten gesetzt. Beim Studio z.B. nicht:
Setting Up Access to the Developer Tools and Man Pages (http://docs.sun.com/app/docs/doc/820-0273/6nc1a9djt?a=view#gemls)


Ja, natuerlich nicht. Ich denke mal die waren so schlau die richtigen -R flags zu setzen.

Ich hab uebrigens auch noch nie einen LD_LIBRARY_PATH gebraucht um irgendwas zum Laufen zu kriegen, demnach stimme ich vab zu, man braucht ihn nur innerhalb von Scripts. Allerdings hat das bei mir auch ne Weile gedauert bis ich das so einigermassen raus hatte.
Probleme kriegt man wenn eigentlich nur mit fremdkompilierter Software die nicht an ihrem vorgesehenen Platz installiert oder von einem "Experten" zusammengewurstelt wurde ;)

Mfg. Erisch
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: escimo am 18. Juli 2008, 10:37:03
Probleme kriegt man wenn eigentlich nur mit fremdkompilierter Software die nicht an ihrem vorgesehenen Platz installiert oder von einem "Experten" zusammengewurstelt wurde ;)
Dann hatte ich wohl bis jetzt immer "zusammengewurstelte Experten-Software". ;D

Danke Euch beiden.

Grüße
escimo
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: Ebbi am 18. Juli 2008, 10:38:56
Dann hatte ich wohl bis jetzt immer "zusammengewurstelte Experten-Software". ;D
Ich auch. Und es steht "Oracle" drauf. ;)
Titel: Re: Nagios 3.X unter Solaris 10
Beitrag von: erisch am 18. Juli 2008, 19:53:50
Dann hatte ich wohl bis jetzt immer "zusammengewurstelte Experten-Software". ;D
Ich auch. Und es steht "Oracle" drauf. ;)

Naja, ich hab von Oracle keine Ahnung. Wie installiert man das? Einfach irgendwo hinschieben und LIBRARY_PATH setzen oder wie? In diesem Falle wuerde sich halt das Script anbieten.

Aber mal anders, es ist ja nicht im Sinne des Erfinders, Bibliotheken im ganzen System zu verstreuen und nachher einfach wieder nen Eintrag zum LD_LIBRARY_PATH hinzuzufuegen.
Das waere genauso, als wenn ihr zuhause eure Buecher im ganzen Haus verteilt: Eins im Schlafzimmer, eins im Keller und eins auf dem Klo und an der Haustuer nen Zettel wo welches Buch zu finden ist ;)

Mfg. Erisch