Netatalk Paket (TimeMachine): Devs gesucht / Looking for Devs

Resume

Hallo Leute,

so. Der freetz-netatalk server läuft jetzt auf meinem Speedport W920V so wie er soll. Ich schaue mir gerade mit VLC auf meinem MBP unter OS.X 10.5.8 einen MPEG-2 Videostrom an, der sich als Datei auf einer USB-HDD an der FB befindet. Das CNID_DBD-Problem ist gelöst. Das ganze funktioniert wesentlich besser als ich dachte, und zwar ziemlich performant.

Alle relevanten Änderungen sind in mein GitHub Repo (lab) gepusht. Pull-request an Sven ist gesendet.

Letztes Problem ist ein Freetz-Trunk Problem mit der Konfiguration der libdb.
Die POSIX-Mutex-Implementation geht nicht, wenn man MIPS-GCCASM wählt funktionierts. Im freetz-netatalk-README ist die Änderung (sed-Skript) entsprechend beschrieben, die Freetz-Leute sollten sich das ggf. mal ansehen und ins Subversion-Repo einbauen.

Ich würde mich dann jetzt mal vom Acker machen.

Falls noch was ist bin ich zu erreichen unter [email protected] .

Ansonsten danke an alle Beteiligten, insbesondere Sven und er13!

Viel Erfolg
--j
 
Kann man das so verstehen, dass das Problem sich durch eine richtige Linkreihenfolge umgehen lässt?
Sieht so aus.

Nein, nur durch explizites linken gegen pthread. Dieser Teil des Satzes "if libc is linked before libpthread" ist folgendermaßen zu verstehen: das Hauptbinary ist explizit sowohl gegen libc als auch gegen pthread gelinkt, libc kommt aber vor pthread vor. Auf netatalk/libdb trifft der zweite Teil zu "if libpthread is pulled by a dependency library".

Das ist kein Widerspruch dazu. Üblicherweise wird libc nicht explizit angegeben, weil der Compiler es sowieso hinten anhängt. Um libpthread zuerst zu laden, muß sie beim Hauptprogramm vor der (expliziten oder impliziten) libc stehen. Sonst lädt der Linker erst alle vom Hauptprogramm angegebenen Libraries, und da ist libc immer mit dabei. Wenn dann erst eine der Libraries libpthread benötigt, ist libc bereits geladen, und libpthread kommt danach.

Es hört sich trotzdem danach an, als würde der Linker mit der Suche aufhören, sobald er ein Weak-Symbol findet, statt weiter zu suchen, ob noch ein anderes kommt.
 
Und nochmal in aller Deutlichkeit: auf netatalk trifft der "libpthread is pulled by a dependency library"-Fall zu, da hilft keine richtige Linkreihenfolge mehr, das Hauptprogramm muss zusätzlich gegen libpthread gelinkt werden, um die richtige Ladereihenfolge zu erzwingen.
 
Okay, ich habs verstanden. ;-)

Was ist denn mit dem Mutex Problem der libdb? Sollte uClibc nicht Posix mutexes unterstützen?

Gruß
Oliver
 
Offensichtlich nicht: LinuxThreads was a partial implementation of POSIX Threads. Alles uClibc-Versionen bis und inklusive 0.9.31 sind LinuxThreads basiert (i.e. clone), erst 0.9.32 unterstützt NPTL (für die, die es nicht wissen - das ist auch der Grund, warum man alle Threads in ps als Prozesse sieht). s. auch dieses Ticket
 

Anhänge

  • libdb_mips_mutex.patch.txt
    469 Bytes · Aufrufe: 4
"libpthread is pulled by a dependency library"-Fall zu, ... die richtige Ladereihenfolge zu erzwingen.

Genau, die richtige Lade-Reihenfolge beim Programmstart ist entscheidend. Und um die zu erreichen, muß im Hauptprogramm ein NEEDED-Eintrag für libpthread vor dem von libc stehen. Wenn der Eintrag ganz fehlt oder hinter libc steht, wird libc zuerst geladen. Dann kann man allenfalls noch mit PRELOAD erzwingen, daß libpthread vorher geladen wird.

Das Problem hier ist aber nicht, was die Library unterstützt, sondern was der dynamische Linker mit den Weak-Symbolen tut.
 
Okay. Da die Lösung von openwrt in db 4.8 nicht mehr unterstützt wird ist dein Patch wohl die einzige Möglichkeit.

Gruß
Oliver
 
Ich habe den Fix übernommen und Beispiele/README noch etwas erweitert. Insbesondere muss man ein paar Dinge über CNID wissen, bevor man Netatalk installiert. (Die Kurzfassung: Auf AFP-Shares nur mit AFP schreiben. Das Volsizelimit setzen, damit immer Platz für die CNID Db bleibt.)

Netatalk wäre dann jetzt mal beta, bitte testen und Bugs oder Feature Requests hier aufgeben:

https://github.com/svoop/freetz-netatalk/issues

Ich habe ein Ticket mit dem libdb-Patch von dg1kjd erstellt:

http://trac.freetz.org/ticket/1106

Vielen Dank an alle, besonders Jens und er13 fürs C-Wizzen!
 
Freetz-avahi

Mahlzeit,

ich habe mal auf GitHub ein Repo im Stil von Sven's freetz-netatalk für den avahi-daemon eingerichtet. Nachdem ich da mal nen Tag Arbeit investiert habe kann ich glücklich vermelden dass er jetzt vom Brauchbarkeitsgrad in etwa dem des freetz-netatalks entspricht, i.e. läuft. In Kombination gestatten beide Services Shares von der Fritzbox mit OSX Clients zu verwenden. Die Shares sind bei korrekter Konfiguration dann gleich im Finder sichtbar und mountbar.

Links:
* https://github.com/dg1kjd/freetz-avahi
* http://www.ip-phone-forum.de/showthread.php?p=1524730

Viel Spass,
--j
 
Hi,

Ich habe ein Problem mit dem kompalieren des Freetz mit Netatalk-Paket.

Habe gestern abend das aktuelle Trunk-Version(Rev 6301) und netatalk-Paket herrunter geladen und versucht zu kompalieren. Nach der Anleitung von der Projektwebseite (https://github.com/svoop/freetz-netatalk).

Der Make-Prozess gibt folgende Fehlermeldung:
[edit olistudent]: Bild von externem Hoster in Anhang umgewandelt.

Ist warscheinlich nur eine Libary vergessen zu aktivieren. Die nicht auf der Projektwebseite steht.
Nur welche muss ich da zusätzlcih noch aktivieren?

Gruß Marco
 

Anhänge

  • Bildschirmfoto_2010-12-08_um_07_20_14.png
    Bildschirmfoto_2010-12-08_um_07_20_14.png
    89.2 KB · Aufrufe: 5
Zuletzt bearbeitet von einem Moderator:
libdb

Mahlzeit,

anscheinend ist die libdb nicht ausgewählt. Normalerweise sollte dies automatisch passieren wegen dem PKG_DEPENDS_ON im netatalk.mk-File. Irgendwie geht das schief. Vielleicht weil libdb keine "normale" Library ist und noch tools mitbrigt.

Patches welcome.

--j
 
Guten Abend,

Ich habe gerade mal nach geschaut die libdb.so ist ausgewählt.


Gruß Marco

edit: Habe gerade gemerkt das hier eingebunde Bilder nicht erwünscht sind. Habe es abgeänder
 

Anhänge

  • Bildschirmfoto_2010-12-08_um_17_56_26.png
    Bildschirmfoto_2010-12-08_um_17_56_26.png
    70.8 KB · Aufrufe: 6
Zuletzt bearbeitet:
Ich hab das heute Mittag probiert und hatte keine Probleme. Vielleicht hat ein anderes Paket schon einen falschen Wert gecached. Lösch mal bitte die sources/target-...0.9.29/config.cache" und probier nochmal.
Ansonsten häng bitte den Log des Build an. Kein Screenshot bitte!

Gruß
Oliver
 
Guten Abend,

So ich habe jetzt mal die das Log von make angehängt und die passende config-Datei. Hoffe mal dass das Hilft beim Fehler eingrenzen.

Gruß Marco
 

Anhänge

  • config.txt
    23.7 KB · Aufrufe: 0
  • make.log.txt
    23.7 KB · Aufrufe: 1
Wie sieht das bei dir aus?
Code:
freetz/trunk_be$ ls toolchain/target/lib/libdb*
toolchain/target/lib/libdb-4.8.a   toolchain/target/lib/libdb-4.so
toolchain/target/lib/libdb-4.8.la  toolchain/target/lib/libdb.a
toolchain/target/lib/libdb-4.8.so  toolchain/target/lib/libdb.so
So siehts bei mir aus:
Code:
checking /home/oliver/fritzbox/freetz/trunk/toolchain/build/mipsel_gcc-4.4.5_uClibc-0.9.29/mipsel-linux-uclibc/usr/include//db.h version >= 4.6.0... yes
checking Berkeley DB library (-ldb48)... no (cross-compiling)
checking Berkeley DB library (-ldb4.8)... no (cross-compiling)
checking Berkeley DB library (-ldb-48)... no (cross-compiling)
checking Berkeley DB library (-ldb-4.8)... yes (cross-compiling)
checking for crypt.h... (cached) yes

Gruß
Oliver
 
Guten Abend,

Es sieht für mich gleich aus
Code:
freetz@freetz-linux:~/freetz/trunk$ ls toolchain/target/lib/libdb*
toolchain/target/lib/libdb-4.8.a   toolchain/target/lib/libdb-4.so
toolchain/target/lib/libdb-4.8.la  toolchain/target/lib/libdb.a
toolchain/target/lib/libdb-4.8.so  toolchain/target/lib/libdb.so

Das andere Sieht schon schlechter aus finde ich:
Code:
freetz@freetz-linux:~/freetz/trunk$ cat make.log | grep "Berkeley DB library"
checking Berkeley DB library (-ldb48)... no (cross-compiling)
checking Berkeley DB library (-ldb4.8)... no (cross-compiling)
checking Berkeley DB library (-ldb-48)... no (cross-compiling)
checking Berkeley DB library (-ldb-4.8)... no (cross-compiling)
checking Berkeley DB library (-ldb4-4.8)... no (cross-compiling)
checking Berkeley DB library (-ldb)... no (cross-compiling)

Ich bedanke mich schon mal für deine Hilfe und wünsche dir noch ein Schöner Abend.

Gruß Marco
 
Guten Abend,

Habe gerade herrausgefunden, wenn ich die Fritzbox 7270V2 auswähle. Läuft das make ohne fehler durch. Aber wenn ich die Fritzbox 7390 auswähle, beendet er make mit dem bekannten fehler.

Gruß Marco
 
Hallo,

ich bin gerade bei dem Versuch gescheitert Netatalk mit Freetz zu compilieren. Habe wie im Freetz HowTo eine VM gestartet und mit apt-get alles geupdatet. Danach habe ich wie in eurer Anleitung auf Github das Repo geforkt, usw. Während des make Prozesses bekomme ich allerdings immer einen Fehler. Wenn ich alles ohne Netatalk bauen läuft der Build durch. Ich habe mal die letzten Zeilen des Logs bei Pastebin hochgeladen. Ich wäre für eure Hilfe sehr dankbar, da ich es sehr komfortabel fände Timemachine auf der Fritzbox zu fahren.

http://pastebin.com/YRquXrTn

Schon mal vielen Dank,

Daniel
 
... Während des make Prozesses bekomme ich allerdings immer einen Fehler. ...
Ich bekomme keinen Fehler:
Code:
...
chmod 755 source/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/etc/uams/.libs/uams_guest.so; mkdir -p packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/usr/lib/freetz/; cp -a source/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/etc/uams/.libs/uams_guest.so packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/usr/lib/freetz/; /home/gm/myfreetz/freetz7153/freetz-trunk/toolchain/build/mipsel_gcc-4.4.6_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-strip --remove-section={.comment,.note,.pdr} packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/usr/lib/freetz/uams_guest.so;
ln -sf uams_dhx2_passwd.so packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/usr/lib/freetz/uams_dhx2.so
chmod 755 source/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/etc/uams/.libs/uams_dhx2_passwd.so; mkdir -p packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/usr/lib/freetz/; cp -a source/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/etc/uams/.libs/uams_dhx2_passwd.so packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/usr/lib/freetz/; /home/gm/myfreetz/freetz7153/freetz-trunk/toolchain/build/mipsel_gcc-4.4.6_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-strip --remove-section={.comment,.note,.pdr} packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/usr/lib/freetz/uams_dhx2_passwd.so;
ln -sf uams_dhx2_passwd.so packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/usr/lib/freetz/uams_dhx2.so
mkdir -p packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/; cp source/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/etc/afpd/afpd packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/afpd; /home/gm/myfreetz/freetz7153/freetz-trunk/toolchain/build/mipsel_gcc-4.4.6_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-strip --remove-section={.comment,.note,.pdr} packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/afpd;
mkdir -p packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/; cp source/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/etc/afpd/hash packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/hash; /home/gm/myfreetz/freetz7153/freetz-trunk/toolchain/build/mipsel_gcc-4.4.6_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-strip --remove-section={.comment,.note,.pdr} packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/hash;
mkdir -p packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/; cp source/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/etc/cnid_dbd/cnid_dbd packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/cnid_dbd; /home/gm/myfreetz/freetz7153/freetz-trunk/toolchain/build/mipsel_gcc-4.4.6_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-strip --remove-section={.comment,.note,.pdr} packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/cnid_dbd;
mkdir -p packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/; cp source/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/etc/cnid_dbd/cnid_metad packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/cnid_metad; /home/gm/myfreetz/freetz7153/freetz-trunk/toolchain/build/mipsel_gcc-4.4.6_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-strip --remove-section={.comment,.note,.pdr} packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/cnid_metad;
mkdir -p packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/; cp source/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/etc/cnid_dbd/dbd packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/dbd; /home/gm/myfreetz/freetz7153/freetz-trunk/toolchain/build/mipsel_gcc-4.4.6_uClibc-0.9.29/mipsel-linux-uclibc/bin/mipsel-linux-uclibc-strip --remove-section={.comment,.note,.pdr} packages/target-mipsel_uClibc-0.9.29/netatalk-2.1.5/root/sbin/dbd;
[COLOR="red"][B]done[/B][/COLOR].
Siehe Patch im Anhang.
 

Anhänge

  • netatalk.patch.txt
    4 KB · Aufrufe: 6
Vielen Dank für deine Antwort. An was könnte es denn bei mir liegen? Hab leider keine Erfahrung mit dem compilen. Was kann ich mit dem Patch anfangen?

Gruß
Daniel
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,100
Beiträge
2,246,177
Mitglieder
373,582
Neuestes Mitglied
Achim17
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.