ulogd kompilieren

fanste

Erfahrenes Mitglied
Hi,

Kann mir jemand erklären, wie ich ulogd kompiliert bekomme? Immer wenn ich es versuche, bricht der gcc Kompilier mit massenhaft Fehlern ab.

Ich versuche es so zu kompilieren.

Windows XP mit cygwin und gcc 3.4.4

cd ulogd-1.24
./configure --without-mysql --without-pgsql --without-sqlite3
make install


Oder muss ich es unter Linux kompilieren?
Könnte mir das evt einer machen? Mit den obigen Optionen.

Ich hoffe auf eure Hilfe.
 

Flex

(aka Felix Jacobi)
Also ich habs mir gerad mal geladen und er sagt mir, dass es die 3 ./configure Befehle die du verwenden willst, gar nicht gibt.

./configure --help hat gesagt.:
Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]

Configuration:
--cache-file=FILE cache test results in FILE
--help print this message
--no-create do not create output files
--quiet, --silent do not print `checking...' messages
--version print the version of autoconf that created configure

Directory and file names:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[same as prefix]
--bindir=DIR user executables in DIR [EPREFIX/bin]
--sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
--libexecdir=DIR program executables in DIR [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data in DIR
[PREFIX/share]
--sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data in DIR
[PREFIX/com]
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
--includedir=DIR C header files in DIR [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
--infodir=DIR info documentation in DIR [PREFIX/info]
--mandir=DIR man documentation in DIR [PREFIX/man]
--srcdir=DIR find the sources in DIR [configure dir or ..]
--program-prefix=PREFIX prepend PREFIX to installed program names
--program-suffix=SUFFIX append SUFFIX to installed program names
--program-transform-name=PROGRAM
run sed PROGRAM on installed program names

Host type:
--build=BUILD configure for building on BUILD [BUILD=HOST]
--host=HOST configure for HOST [guessed]
--target=TARGET configure for TARGET [TARGET=HOST]

Features and packages:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--x-includes=DIR X include files are in DIR
--x-libraries=DIR X library files are in DIR
--enable and --with options recognized:
--with-mysql=<directory> mysql installed in <directory>
--with-mysql-log-ip-as-string log IPs as string rather than as
unsigned long-integer.

--with-pgsql=<directory> pgsql installed in <directory>
--with-pgsql-log-ip-as-string log IPs as string rather than as interge r

--with-sqlite3=<directory> sqlite3 installed in <directory>
--with-sqlite3-log-ip-as-string log IPs as string rather than as
unsigned long-integer.

Welche hättens denn gern? ;)
 

fanste

Erfahrenes Mitglied
Laut dieser Zeile:
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)

Und den Zeilen in meinem Code der Version 1.24 in Datei configure
1699# Check whether --with-mysql or --without-mysql was given.
1778# Check whether --with-pgsql or --without-pgsql was given.
1837# Check whether --with-sqlite3 or --without-sqlite3 was given.

Sollte es diese Optionen geben.


Ich brauche dieses Programm eigentlich nur, um mit ihm die Pakete von iptables an ulogd zum loggen zu schicken. Da ich nur sehr wenig Speicherplatz habe, versuche ich das Programm so klein wie möglich zu halten. Mein erster Gedanke dahin zu kommen, war, den DB Support zu deaktivieren, da alles in einer TXT Datei geloggt werden soll.

Kurz: Programm wird nur zum loggen via iptables in einer Textdatei benötigt. Das Programm muss/sollte so klein wie möglich sein.
 

Dennis Wronka

Soulcollector
Ich weiss nicht ob bei Cygwin ueberhaupt irgendwelche Kernel-Header dabei sind, und wenn ja welche. Koennte durchaus sein, dass es auch das ULOG-Target ueberhaupt nicht gibt.
Auf jeden Fall koenntest Du mal die Fehlermeldungen posten, aber nur den Kram der auch Error sagt, und nicht nur Warning.
 

fanste

Erfahrenes Mitglied
Da ich die Ausgabe nicht in eine Datei bekommen habe, habe ichmal einen Screenshot erstellt.

Wie finde ich heraus, welche Kernel-Header dabei sind?
 

Anhänge

  • errors.gif
    errors.gif
    25,5 KB · Aufrufe: 17

Dennis Wronka

Soulcollector
Es scheinen die entsprechenden Kernel-Header zu fehlen.
Gibt es in Cygwin den Befehl uname?
Falls ja poste doch mal bitte die Ausgabe von uname -a.

Ich koennte mir vorstellen, dass die Kernel-Header von Cygwin unvollstaendig sind, oder vielleicht zu alt. Konntest Du IPTables kompilieren?
 

fanste

Erfahrenes Mitglied
uname -a gibt nur
Code:
CYGWIN_NT-5.1 Stefan 1.5.19(0.150/4/2) 2006-01-20 13:28 i686 Cygwin
aus.

iptables habe ich nicht kompiliert. Habe ich so gehabt, bzw eine neuere Version von jmd bekommen.

EDIT:
Habe mal versucht iptables Version 1.3.5 zu kompilieren. Macht er auch nicht.
Ausgabe:
Code:
Making dependencies: please wait...
Something wrong... deleting dependencies

      Pleas try 'make KERNEL_DIR=path-to-correct-kernel'.

make ***[linux/ip.h] Error 1
 
Zuletzt bearbeitet:

deepthroat

Erfahrenes Mitglied
Hi.

Hab ich das jetzt richtig verstanden das du versuchst ulogd unter Cygwin für einen anderen Rechner auf dem Linux läuft zu kompilieren? Also da würde ich doch stark bezweifeln das das möglich ist, immerhin erstellt der Cygwin gcc .exe Dateien - oder wolltest du wine einsetzen?

Am besten wäre es entweder fertige Pakete zu nehmen (was hast du für eine Distribution?) bzw. das ganze wirklich unter Linux zu kompilieren (z.B. in einer virtuellen Maschine => qemu bzw. VMware Player; http://free.oszoo.org/).

Gruß
 

fanste

Erfahrenes Mitglied
Beim kompilieren eines ganzen Programmpacketes (Name: ds-mod), habe ich das wunderbar unter Win mit Cygwin kompilieren können. Mit gcc.
 

Dennis Wronka

Soulcollector
Nicht alle Programme benoetigen die Kernel-Header. IPTables und UlogD benoetigen diese aber. Falls keine oder nur "beschnittene" Kernel-Header bei Cygwin dabei sind wirst Du Programme die diese Header benoetigen nicht kompilieren koennen.
Du koenntest probieren einen aktuellen Kernel runter zu laden und gegen die darin enthaltenen Header zu kompilieren. Ob das funktionieren wird kann ich Dir aber nicht sagen.