Autor Thema: netatalk unter solaris 8 kompilieren  (Gelesen 2997 mal)

vasquesbc

  • Gast
netatalk unter solaris 8 kompilieren
« am: 11. Februar 2005, 16:13:46 »
hallo.

nach etlichen vergeblichen versuchen netatalk auf meiner SPARCstation 4 unter Solaris 8 zu übersetzen möchte ich mich mal an euch wenden.

netatalk benötigt die berkeley DB.

also habe ich nunächst mal den GCCsmall und die binutils von sunfreeware.com installiert.
anschließend habe ich die BDB von sleepycat.com besorgt und diese konfiguriert, kompiliert & installiert. - als konfigurationsoption verwendete ich "--prefix=/usr/local" also /usr/local als standardverzeichnis.

wenn ich nun das ./configure script von netatalk starte, bricht dieses irgendwann mit folgender meldung ab:

-----------------------------------------------------------------------------------
checking for Berkeley DB headers in /usr/local/include/db4.2... no
checking for Berkeley DB headers in /usr/local/include/db42... no
checking for Berkeley DB headers in /usr/local/include/db4.1... no
checking for Berkeley DB headers in /usr/local/include/db41... no
checking for Berkeley DB headers in /usr/local/include/db4... no
checking for Berkeley DB headers in /usr/local/include/... yes
checking /usr/local/include//db.h version >= 4.1.0... 4.1.25, yes
checking for Berkeley DB link (-ldb-4.2)... no
checking for Berkeley DB link (-ldb42)... no
checking for Berkeley DB link (-ldb-42)... no
checking for Berkeley DB link (-ldb-4-2)... no
checking for Berkeley DB link (-ldb-4.1)... yes
checking Berkeley DB library version >= 4.1.0... no
checking for Berkeley DB headers in /usr/local/db4.2... no
checking for Berkeley DB headers in /usr/local/db42... no
checking for Berkeley DB headers in /usr/local/db4.1... no
checking for Berkeley DB headers in /usr/local/db41... no
checking for Berkeley DB headers in /usr/local/db4... no
checking for Berkeley DB headers in /usr/local/... no

Make sure you have the required Berkeley DB libraries AND headers installed.
You can download the latest version from http://www.sleepycat.com.
If you have installed BDB in a non standard location use the
--with-bdb=/path/to/bdb configure option and make sure
your linker is configured to check for libraries there.
configure: error: Berkeley DB library required but not found!
-----------------------------------------------------------------------------------

er scheint die librarys und die headers zu vermissen, obwohl diese offensichtlich installiert sind...
die gleiche meldung kommt auch, wenn ich netatalk mit der option "--with-bdb=/usr/local" konfiguriere.
falls es am nicht konfigurierten linker liegt... wie mache ich das ?
in den dokus zur BDB und zu netatalk finde ich dazu nichts... zumindest nicht, was für solaris 8 relevant wäre...

kann mir da jemand helfen ?

danke.
gruß,
der chris.

sonnenblen.de - Das unabhängige Sun User Forum

netatalk unter solaris 8 kompilieren
« am: 11. Februar 2005, 16:13:46 »

Offline emily

  • Sobl Newbie
  • *
  • Beiträge: 47
Re: netatalk unter solaris 8 kompilieren
« Antwort #1 am: 11. Februar 2005, 21:25:47 »
Hi,
so ganz verstehe ich im Moment nicht, warum configure so gemein zu Dir ist. Immerhin scheint es ja die Header und die Bibliothek zu finden.
Zitat
...
checking for Berkeley DB headers in /usr/local/include/... yes
checking /usr/local/include//db.h version >= 4.1.0... 4.1.25, yes
...
checking for Berkeley DB link (-ldb-4.1)... yes
...


configure sollte in Deinem Arbeitsverzeichnis eine Datei config.log angelegt haben. Wenn Du da reinschaust, kannst Du sehen, was configure noch fehlt.

Gruss
Marcus

Offline erisch

  • Moderatoren
  • Sobl Guru
  • *****
  • Beiträge: 758
  • TurboSPAAAAAG
    • erisch.homeunix.net
Re: netatalk unter solaris 8 kompilieren
« Antwort #2 am: 12. Februar 2005, 17:04:09 »
wie emily schon sagte, config.log ist dein Freund.

Ich hab mich mit dem Problem auch schon rumgestritten, is aber schon ne Weile her.
Das Problem ist, dass Solaris schon ne (ältere) DB Version drauf hat, und er dann durcheinander kommt, weil er zwar die BD4 Header findet aber dann DB3 Libraries linkt.
Du musst im configure explizit angeben, welche Version er nehmen soll und welche nicht. Wie das geht, steht in "./configure --help".
Wenn das alles nicht geht, musst du den Library Suchpfad so ändern, dass /usr/local/lib VOR /usr/lib durchsucht wird.

Wie gesagt, is schon ne Weile her, seit ich das gemacht hab, weiß deshlab nicht mehr genau wie ichs hinbekommen habe.

Mfg. Erisch

PS: Wir ham hier eine Sektion "Programmieren, Komilieren" ...
« Letzte Änderung: 12. Februar 2005, 17:05:07 von erisch »

Offline emily

  • Sobl Newbie
  • *
  • Beiträge: 47
Re: netatalk unter solaris 8 kompilieren
« Antwort #3 am: 13. Februar 2005, 01:30:53 »
Hi,
Du versuchst aber nicht netatalk im 64bit Modus zu übersetzen? Zumindest unter Solaris10 ist BerkeleyDB im 32bit Modus übersetzt und mischen geht nicht gut.

Gruss
Emily

Offline erisch

  • Moderatoren
  • Sobl Guru
  • *****
  • Beiträge: 758
  • TurboSPAAAAAG
    • erisch.homeunix.net
Re: netatalk unter solaris 8 kompilieren
« Antwort #4 am: 13. Februar 2005, 01:59:42 »
Daran sollte es nicht liegen, da käme ein "wrong ELF Class" Fehler. Außerdem ist bei installiertem 64Bit Support jede Library noch mal als 64Bit vorhanden (naja, wahrscheinlich nicht jede, aber die meisten)

Mfg. Erisch

vasquesbc

  • Gast
Re: netatalk unter solaris 8 kompilieren
« Antwort #5 am: 14. Februar 2005, 08:16:41 »
ich übersetze netatalk im 32-bit modus... läuft ja auf ner SPARCstation 4 unter solaris 8...
ich werde mal die config.log checken...
wegen des library-suchpfads... wo genau ist der zu ändern ?
in den umgebungsvariablen finde ich nämlich bis auf $PATH nichts, was pfade enthält...

Offline erisch

  • Moderatoren
  • Sobl Guru
  • *****
  • Beiträge: 758
  • TurboSPAAAAAG
    • erisch.homeunix.net
Re: netatalk unter solaris 8 kompilieren
« Antwort #6 am: 14. Februar 2005, 16:15:10 »
Du kannst beim Kompilieren, den Suchpfad mit LDFLAGS bestimmen. Den Suchpfad für dein System spuckt dir "crle" aus.

Bei manchen Systemen wird noch ein $LD_LIBRARY_PATH benutzt. Würde ich aber nicht benutzen, wenns nicht irgendwie anders geht. Wenn dann nur um dieses eine Programm zu kompilieren und danach wieder unset-ten.

Mfg. Erisch