Bftpd 1.6 compilieren

buergernb

Neuer User
Mitglied seit
21 Feb 2006
Beiträge
116
Punkte für Reaktionen
0
Punkte
0
Hallo,

wollte heute mal aus Neugier selbst ein Programm für Fritz!Box compilieren. Da es eine neuere Version von Bftpd gibt, war ist diese mein Opfer. ;)
Für das Erstellen der neuren FW+DSMOD ist ja ein precompiled nötig, als existiert die toolchain schon. Den Compiler-Pfad habe ich in der PATH-Umgebungsvariable angepasst. Hab mir unter der bftpd homepage den sourcecode besorgt, entpackt und dann im Verzeichnis
Code:
./configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux
aus dem wiki ausgeführt (BTW: Kann es sein, dass dort das Label für diesen Eintrag fehlt? In der übergeordneten Seite wird dieser Punkt nicht angezeigt. Mußte etwas suchen.). Die Konsole gibt dann das aus:
Code:
nils@Bert:~/sources/bftpd-1.6$ ./configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux
loading cache ./config.cache
checking for gcc... (cached) gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking how to run the C preprocessor... (cached) gcc -E
checking for AIX... no
checking for a BSD compatible install... (cached) /usr/bin/install -c
checking for getusershell in -lc... (cached) yes
checking for inet_ntoa in -lc... (cached) yes
checking for socket in -lsocket... (cached) no
checking for connect in -lsocket... (cached) no
checking for crypt in -lcrypt... (cached) yes
checking for dirent.h that defines DIR... (cached) yes
checking for opendir in -ldir... (cached) no
checking for paths.h... (cached) yes
checking for netinet/in.h... (cached) yes
checking for sys/time.h... (cached) yes
checking for time.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking for asm/socket.h... (cached) yes
checking for wait.h... (cached) yes
checking for sys/wait.h... (cached) yes
checking for shadow.h... (cached) yes
checking for arpa/inet.h... (cached) yes
checking for syslog.h... (cached) yes
checking for crypt.h... (cached) yes
checking for utmp.h... (cached) yes
checking for sys/sendfile.h... (cached) yes
checking whether to enable pam... no
checking whether to enable libz... no
checking whether to enable debug... no
creating ./config.status
creating Makefile
creating config.h
config.h is unchanged

Wenn das so korrekt ist: Was muß ich nun tun? Ein make scheint nicht den erhofften Erfolg zu bringen. :confused:
Wenn ich es ausführe erstellte mir der System einige '.o'-Dateien (intermediate files).
Ich weiß, dass ich irgendwie ein Verzeichnis root brauche, in dem das Programm dann liegt, sonst kann ich es nicht als addon einbinden. Wie mache ich das?

Nils

Achso: Ich nutze Ubuntu 6.10.

EDIT:
Hab die Verlinkung des Beitrags "Eigene Programme kompilieren" schon gesetzt.
 
Zuletzt bearbeitet:
Am einfachsten änderst du in make/bftpd/bftpd.make die Version. Dann nimmst du das Package aus dem dl/-Verzeichnis und entpackst es.
Jetzt bennenst du das Verzeichnis aus dem Package in bftpd-1.6 um und packst es mit "tar cjf bftpd-1.6-dsmod-0.5.tar.bz2 bftpd-1.6/" wieder ein. Das Archiv kopierst du nach dl/. Jetzt noch ein "make bftpd-precompiled" und wenn du Glück hast läuft alles ohne Fehler durch.

MfG Oliver
 
läuft ohne fehler so durch. hab ich auch so gemacht.
 
Bei mir gibt es ein Fehler... :-(

Hi olistudent, hi supermicha,

1.
olistudent schrieb:
Am einfachsten änderst du in make/bftpd/bftpd.make die Version.
Okay, hab ich in make/bftpd/bftpd.mk auf "1.6" gesetzt.
2.
olistudent schrieb:
Dann nimmst du das Package aus dem dl/-Verzeichnis und entpackst es.
Jepp.
3.
olistudent schrieb:
Jetzt bennenst du das Verzeichnis aus dem Package in bftpd-1.6 um und packst es mit "tar cjf bftpd-1.6-dsmod-0.5.tar.bz2 bftpd-1.6/" wieder ein.
Ja, auch das ist erledigt.
4.
olistudent schrieb:
Das Archiv kopierst du nach dl/.
Das kann ich schon richtig super. :p
5.
olistudent schrieb:
Jetzt noch ein "make bftpd-precompiled" und wenn du Glück hast läuft alles ohne Fehler durch.
Hab ich scheinbar nicht.:(
Code:
tar: dl/bftpd-1.6-dsmod-0.5-with-zlib.tar.bz2: Kann open nicht ausführen.: No such file or directory
tar: Nicht behebbarer Fehler: Programmabbruch.
tar: Child returned status 2
tar: Fehler beim Beenden, verursacht durch vorhergehende Fehler.
make: *** [packages/.bftpd-zlib-1.6] Fehler 2

Nils

EDIT:

Ah, ich weiß woran es liegt. Der von dir (olistudent) beschriebene Weg ist bftpd ohne With on-the-fly compression. Wenn ich die aber in make menuconfig mit aktiviert habe, brauche ich irgendwelche zlibs . :)
Hab jetzt also den fertigen Patch bftpd-1.6-dsmod-0.5-with-zlib.tar.bz2 von supermicha genommen und siehe da: ES GEHT!!! ;)

Danke an euch beide,
Nils
 
Zuletzt bearbeitet:
@buergernb

Hattest du das Paket mit oder ohne zlib bearbeitet?
Lt Punkt 3 hast du es mit Namen bftpd-1.6-dsmod-0.5.tar.bz2 gepackt.
Gesucht wird aber nach dl/bftpd-1.6-dsmod-0.5-with-zlib.tar.bz2

Wenn du das Paket mit zlib bearbeitet hast, dann benenne die Datei einfach um.

mfg
Wonderdoc
 
Hm, dann ist wohl irgendwas beim einpacken schief gelaufen. Du kannst ja mal mit Michas Package verlgleichen... (Link)

MfG Oliver
 
Ui Jungs,

ihr seid aber schnell. Hab grad mein EDIT in meinem obigen Artikel fertig gestellt. Aber noch mal Danke.

Nils
 
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.