Problem beim kompilieren von iftop-0.17

freddy4711

Neuer User
Mitglied seit
7 Jul 2007
Beiträge
155
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe gerade versucht iftop-0.17 zu installieren. Leider bricht die Installation ab. Dieses Problem habe ich auch schon in einem Uralt-Thread gefunden. Leider hat es mit den Hinweisen nicht geklappt.

Meine Schritte im einzelnen:

1. Download der Sourcen von http://www.ex-parrot.com/pdw/iftop/
Code:
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
2. Entpacken der Sourcen nach source
Code:
tar xzvf iftop-0.17.tar.gz
3. Anschließend das config-Skript aufgerufen.
Code:
./configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux
Leider bricht das Skript ab:
Code:
checking build system type... i386-pc-linux-gnu
checking host system type... mipsel-unknown-linux-gnu
checking target system type... mipsel-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking for mipsel-linux-strip... no
checking for strip... strip
checking for mipsel-linux-gcc... no
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/sockio.h usability... no
checking sys/sockio.h presence... no
checking for sys/sockio.h... no
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking sys/dlpi.h usability... no
checking sys/dlpi.h presence... no
checking for sys/dlpi.h... no
checking for regcomp... yes
checking for select... yes
checking for strdup... yes
checking for strerror... yes
checking for strspn... yes
checking for library containing socket... none required
checking for library containing log... -lm
checking for gethostbyname... yes
checking for library containing inet_aton... none required
checking for library containing inet_pton... none required
checking for inet_aton... yes
checking for inet_pton... yes
checking size of u_int8_t... can't determine when cross-compiling
checking size of u_int16_t... can't determine when cross-compiling
checking size of u_int32_t... can't determine when cross-compiling
checking for stdint.h... (cached) yes
checking for library containing getnameinfo... none required
checking for library containing gethostbyaddr_r... none required
checking how to call gethostbyaddr_r... 8 args, int return
checking gethostbyaddr_r usability... can't test because we are cross-compiling
checking where to find pcap.h... no idea
configure: error: can't find pcap.h
  You're not going to get very far without libpcap.
Auch habe ich probiert die libpcap neu zu kompilieren mit:
Code:
make libpcap-dirclean && make libpcap-precompiled
und anschließend das Config-Skript erneut auszuführen - leider ohne Erfolg.

Kann mir jemand helfen? Ich habe leider keine Ahnung mehr, wo ich ansetzen soll.

Gruß Andreas
 
und das bedeutet?

Sorry, wenn ich so abgehackt frage, aber leider hab ich noch nie ein eigenes Programm für die Fritzbox kompiliert.

Also blutiger Anfänger, was die Arbeit mit Toolchain, etc angeht.


Gruß Andreas
 
Es bedeutet, daß das Programm von Freetz nicht unterstützt wird.

Im Wiki gibt es eine Seite, die sich damit beschäftigt, neue Pakete in Freetz zu integrieren. Vielleicht hilft das.

Das grundlegende Problem scheint zu sein, daß das installierte pcap nicht gefunden wird.
 
Dieses Programm wurde bereits einmal für die Fritzbox kompiliert. Siehe hier.

Leider kann ich die Schritte dort nicht ganz nachvollziehen.
 
Versuch es mal mit den Dateien: Config.in, Makefile.in und iftop.mk.

Als Beispiel, siehe auch hier , hier, hier und hier.
 

Anscheinend wurde auch dort das Programm von Hand kompiliert, statt ein Freetz Makefile zu erstellen.

Außerdem habe ich in dem Beitrag auch keine Schritte entdeckt, die man nachvollziehen könnte. Vielleicht steht im Rest vom Thread mehr.

Deswegen:
Einmalig ein Programm übersetzen und Binaries einstellen ist für den Moment schön und gut.
Wenn man ein passendes Makefile macht, dann kann das jederzeit auch jemand anders machen, auch mit aktuellen Libraries usw.
 
Schau dir mal die Hilfe vom configure an. Wahrscheinlich musst du den Pfad zur libpcap angeben.

MfG Oliver
 
Guten Morgen...

nach einer langen Nacht und unzähligen Versuchen hab ich's hinbekommen.

Ich hab mir mal die Config-Logs bei den Anderen Packages angeschaut. Und hab dann wie folgt das Programm kompiliert:

Code:
CC="/home/andreas/Programme/freetz/speedport.w701v/freetz-stable-1.1-eigener-kernel/toolchain/target/bin/mipsel-linux-uclibc-gcc" \
CXX="/home/andreas/Programme/freetz/speedport.w701v/freetz-stable-1.1-eigener-kernel/toolchain/target/bin/mipsel-linux-uclibc-g++-uc" \
CFLAGS="-Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" \
CXXFLAGS="-Os -pipe -march=4kc -Wa,--trap -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" \
LDFLAGS="" \
./configure \
--cache-file=/home/andreas/Programme/freetz/speedport.w701v/freetz-stable-1.1-eigener-kernel/make/config.cache \
--target=mipsel-linux \
--host=mipsel-linux \
--build=i386-pc-linux-gnu \
--program-prefix="" \
--program-suffix="" \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--datadir=/usr/share \
--includedir=/usr/include \
--infodir=/usr/share/info \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--localstatedir=/var \
--mandir=/usr/share/man \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
--with-build-cc="gcc"
Damit hat's geklappt. Ok, soweit so gut.

Danach ab damit auf die Box und testen...leider kam beim Start folgender Fehler:
Code:
iftop: can't load library 'libncurses.so.5'
Also die Library auf die Box und den Pfad anpassen:
Code:
export LD_LIBRARY_PATH=/var/tmp/lib:$LD_LIBRARY_PATH
Anschließend noch das Verzeichnis root/usr/share/terminfo auf die Box und die Variable $TERMINFO setzen:
Code:
export TERMINFO=/var/tmp/terminfo

So...ab diesem Moment lief das ganze...


Dankeschön an alle, die mich in die richtige Richtung geleitet haben.


P.S.: Ich werd mich jetzt mal an das Bauen eines eigenen Freetz-Pakets machen.


Gruß Andreas
 
ja...das hab ich gerade eben auch gemerkt... :)

Bin gerade dabei, ein Paket zu schnüren. Es klappt eigentlich auch ganz gut, bis auf die Tatsache, dass ncurses nicht automatisch ausgewählt und dann auch mitinstalliert wird.

Ich hänge Mal meine Paketdateien an.
 

Anhänge

  • Config.in.txt
    450 Bytes · Aufrufe: 6
  • iftop.mk.txt
    740 Bytes · Aufrufe: 2
  • Makefile.in.txt
    64 Bytes · Aufrufe: 3
In dem Config.in fehlt der select für ncurses. Dann sollte das Paket ausgewählt werden.

Code:
select FREETZ_LIB_libncurses
 
Ok...ich werd's mal ausprobieren.

EDIT: Jetzt hat's geklappt. Nun hab ich iftop in eingebaut. Und es läuft... :)


Dankeschön an alle...
 
Zuletzt bearbeitet:
Im Anhang der Patch für das Paket iftop.
 

Anhänge

  • iftop.patch.txt
    5.8 KB · Aufrufe: 5
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.