[Problem] psyBNC für MIPSEL-Box (7240)

randallskii

Neuer User
Mitglied seit
30 Aug 2013
Beiträge
24
Punkte für Reaktionen
0
Punkte
0
Hi, ich wollte fragen ob man psyBNC oder nen ähnlichen Bouncer ohne Freetz-Image via neuer (nicht-originaler) Busybox laufen lassen kann...

Habe aus diesem Thread beide Versionen getestet..
also per Telnet auf die Fritzbox, /var/tmp/busybox sh und in der neuen Shell ./psybnc im entsprechenden Verzeichnis auf dem USB Stick

bei psybnc-mips-static kommt: ./psybnc-mips: line 1: syntax error: unexpected "("
bei der anderen Version: ./psybnc: can't resolve symbol '__uClibc_start_main'

Dann hab ich mit Freetz-2.0 ne Toolchain erstellt (bei uClibc alles aktiviert und bei shared-libs alle ncurses) und versucht den psyBNC-Sourcecode via cross-compiling für mispel zu kompilieren.. allerdings passiert da nicht viel, weil ich wahrscheinlich die falschen Angaben mache..

das Programm hat keine configure-Datei (./configure --build=i386-linux-gnu --target=mipsel-linux --host=mipsel-linux o.ä. geht schonmal nicht) also hab ich
make menuconfig, die Einstellungen für den Bouncer gemacht und dann make ..klappt auch, nur leider nicht fürs gewünschte Zielsystem..

mit "export PATH=/../toolchain/target/bin/:$PATH" und
"make CC="mipsel-linux-gcc" CXX=mipsel-linux-g++ AR=mipsel-linux-uclibc-ar AS=mipsel-linux-uclibc-as LD=mipsel-linux-uclibc-ld ARCH=mips" bekomm ich folgenden Fehler

*:
Code:
[*] Running Conversion Tool for older psyBNC Data.
make: mipsel-linux-gcc: Kommando nicht gefunden
make: *** [all] Fehler 127

Wie muss ich das bestehende Makefile editieren damit das klappt? Oder läuft das so oder so nicht mit der Busybox?


Makefile:
Code:
CC	= gcc
CCFLAGS = 

all:	$(OBJS)
	@echo Initializing bouncer compilation
	@echo [*] Running Conversion Tool for older psyBNC Data.
	@$(CC) tools/convconf.c -o tools/convconf
	@tools/convconf
	@echo [*] Running Autoconfig.
	@$(CC) -I. tools/autoconf.c -o tools/autoconf
	@tools/autoconf
	@echo [*] Compiling MakeSalt for Encryption..
	@$(CC) -I. -o makesalt tools/makesalt.c
	@./makesalt
	@echo [*] Compiling Bouncer..
	@make -f makefile.out
	@ls -al psybnc
	@echo done.

menuconfig:
	@echo Initializing Menu-Configuration
	@echo [*] Running Conversion Tool for older psyBNC Data.
	@$(CC) tools/convconf.c -o tools/convconf
	@tools/convconf
	@echo [*] Running Autoconfig.
	@$(CC) -I. tools/autoconf.c -o tools/autoconf
	@tools/autoconf
	@echo [*] Creating Menu, please wait.
	@echo This needs the 'ncurses' library. If it is not available, menuconf wont work. If you are using 'curses', use make menuconfig-curses instead.
	@$(CC) menuconf/menuconf.c menuconf/inputbox.c menuconf/util.c menuconf/checklist.c menuconf/menubox.c menuconf/textbox.c src/snprintf.c -I. -lncurses -lm -o menuconf/menuconf 2>/dev/null
	@menuconf/menuconf
	@clear
	@echo Now compile psyBNC using make, if not yet compiled, or if Options were changed.
	@echo done.

menuconfig-curses:
	@echo Initializing Menu-Configuration using Curses
	@echo [*] Running Conversion Tool for older psyBNC Data.
	@$(CC) tools/convconf.c -o tools/convconf
	@tools/convconf
	@echo [*] Running Autoconfig.
	@$(CC) -I. tools/autoconf.c -o tools/autoconf
	@tools/autoconf
	@echo [*] Creating Menu, please wait.
	@echo This needs the 'curses' library. If it is not available, menuconf wont work.
	@$(CC) menuconf/menuconf.c menuconf/inputbox.c menuconf/util.c menuconf/checklist.c menuconf/menubox.c menuconf/textbox.c src/snprintf.c -DNONCURSES -I. -lcurses -lm -o menuconf/menuconf 2>/dev/null
	@menuconf/menuconf
	@clear
	@echo Now compile psyBNC using make, if not yet compiled, or if Options were changed.
	@echo done.

dist:
	cd ..; tar -cvf psyBNC2.3.2-4.tar psybnc; gzip -c psyBNC2.3.2-4.tar > psyBNC2.3.2-4.tar.gz; rm psyBNC2.3.2-4.tar

clean:
	@echo Cleaning.
	rm -rf src/*.o

Wenn ich in dem Makefile
CC = mipsel-linux-gcc
CCFLAGS = -Os -pipe -march=4kc -Wa,--trap
setzte kommt der selbe Fehler wie bei *:
 
Zuletzt bearbeitet:
Der Pfad passt so nicht: "/../toolchain/target/bin/" geht durch den ersten "/" von der obersten Ebene aus.
Vermutlich meintest du "../toolchain/target/bin/"?
Besser wäre "$(pwd)/../toolchain/target/bin/" oder den "ganzen" Pfad anzugeben.

Für Freetz gibt es im "sf3978-Branch" das Paket.
 
wie meinst du das genau?
ich hab den Pfad jetzt nur im Forum gekürzt.. genau genommen ist es ein absoluter Pfad von /home/user/...bis in/freetz/toolchain/target/bin/

alternativ hab ich auch statt /target/ (ist ein symbolischer link auf build/mipsel_gcc-4.6.4_uClibc-0.9.32.1/mipsel-linux-uclibc)

/home/user/...bis in/freetz/toolchain/build/mipsel_gcc-4.6.4_uClibc-0.9.32.1/mipsel-linux-uclibc/bin/ genommen mit selben ergebnis

gibt es ne möglichkeit aus dem sf3978-Branch das ganze als binarys zu holen?
 
Dann versuche mal "mipsel-linux-uclibc-gcc" als Compiler.
Der Branch stellt nur die Makefiles für zusätzliche Freetz-Pakete bereit, keine Binaries.

Ich hänge mal ein statisch gebautes Binary an.
 

Anhänge

  • psybnc_mipsel_static.gz
    451.4 KB · Aufrufe: 4
also mit
CC = mipsel-linux-uclibc-gcc
gibt es den Fehler
Code:
[*] Running Conversion Tool for older psyBNC Data.
tools/convconf: 1: tools/convconf: Syntax error: "(" unexpected
make: *** [all] Fehler 2

aber deine Binary scheint zu gehen, sogar mit Original Busybox (hat nur wegen fehlender Config/Einstellungen abgebrochen) .. kannst du mir sagen wie du den kompiliert hast? und wo hast du die Source für v.2.9 her? auf der psybnc homepage hab ich nur v.2.3.2 gefunden

Ich versuch jetzt nochmal ne neue Toolchain zu bauen, diesmal ohne "build ccache" in den Toolchain options..
edit: auch ohne ccache selber fehler :(


PS: schonmal vielen Dank für deine Hilfe!
 
Zuletzt bearbeitet:
hast Recht ..hatte nur auf den hinteren Teil von Version DE2.3.2-9 geguckt ^^

aber auf der Homepage find ich trotzdem nur 2.3.2-7 ..frage deshalb, weil vielleicht liegt es ja auch an der Source, denn der Fehler entsteht sofern ich die Fehlermeldung richtig deute ja in tools/convconf
 
Zuletzt bearbeitet:
aber auf der Homepage find ich trotzdem nur 2.3.2-7 ...
Die 2.3.2-9 ist eine beta-Version. Siehe:
Code:
$(call PKG_INIT_BIN, 2.3.2-[color=red]9[/color])
$(PKG)_SOURCE:=psyBNC-$($(PKG)_VERSION).tar.gz
$(PKG)_SITE:=http://www.psybnc.at/download/[color=red]beta[/color]
...
...
 
mmh danke :)

aber das ist es auch nicht.. immer noch selber fehler ..vielleicht ist auch meine toolchain defekt? make toolchain hatte zwischendurch zwar nen paar warnungen aber mit nem fehler abgebrochen ist es nicht und unter .../mipsel_gcc-4.6.4_uClibc-0.9.32.1/mipsel-linux-uclibc/bin/ sind auch zahlreiche mipsel-linux-uclibc-xxx Dateien (ar, as, cc, c++, cpp, g++, gcc usw) und bis auf mipsel-linux-uclibc-g++-wrapper.timestamp alle zwischen 300KB - 2MB groß
 
Also die Toolchain hab ich im Terminal mit

Code:
$ svn checkout http://svn.freetz.org/branches/freetz-stable-2.0
$ cd freetz-stable-2.0
$ make menuconfig
$ make toolchain
$ make libs

unter Kubuntu 12.04 (x86_64) gemacht.


Die Links zu den irc-Bouncern mit Freetz von dir sind sicherlich hilfreich (vielleicht kann ich da was aus nem Sourcefile kompilieren) aber prinzipiell will ich meine Fritzbox eigentlich nicht mit Freetz laufen lassen - würde es gerne hinbekommen was als Binary für die Originale Firmware zu kompilieren, gerade falls ich später noch andere Programme brauche...
 
statisch würde mir auch schon reichen, aber mit den libraries von AVM wäre es quasi mit i-Tüpfelchen :)

MaxMuster hat ja schon nen statisches binary hochgeladen das auch funktioniert, das würde ich erstmal gerne selber hinbekommen
 
sorry aber ich verstehe nicht genau welche toolchain du aus freetz meinst..

wenn ich nen frisches freetz ziehe mit "svn checkout http://svn.freetz.org/branches/freetz-stable-2.0"

ist der ordner toolchain fast leer bis auf nen make ordner und den dateien Config.in.override und Config.in

die eigentliche toolchain muss ich m.M.n. erst mit make toolchain bauen
 
Ja, nach dem Auschecken ist die Toolchain nicht da. Die wird erst beim make geladen (oder u.U. auch gebaut, falls du das so eingestellt hast).

Kurzbeschreibung:
- umask 022
- freetz auschecken
- in freetz Ordner wechseln
- im "make menuconfig" deine Box wählen und von "Beginner" auf "Advanced" wechseln (für nächsten Schritt)
- ggf. (hab ich gemacht) unter "Shared libraries > Crypto & SSL" OpenSSL in Version 0.9.8 wählen
- Verlassen und dabei speichern
- make toolchain
Aus dem Branch was nachladen:
Code:
cd make
svn co http://svn.freetz.org/branches/sf3978_packages/make/psybnc
cd ..
jetzt sollte ein "make psybnc-precompiled" das Paket bauen.
Da kein statisches Bauen vorgesehen ist, hab ich das auf die Schnelle "von Hand" gemacht (im Verzeichnis den Link-Aufruf mit "-static" ergänzt und ein "-ldl" ans Ende gesetzt.
 
sorry aber ich verstehe nicht genau welche toolchain du aus freetz meinst.
Ich meine die download-toolchain.
die eigentliche toolchain muss ich m.M.n. erst mit make toolchain bauen
Nein, das musst Du nicht. Siehe z. B.:
Code:
make psybnc-precompiled
, nach dem richtigen auschecken (svn co http://svn.freetz.org/branches/sf3978_packages/make/psybnc/) von psybnc und ohne "make toolchain".

EDIT:

Im trunk hat (früher) sofort nach dem Auschecken, "make <paket>-precompiled" ohne "make toolchain" und ohne "make", funktioniert. Wie das z. Zt. bei freetz-stable-2.0 ist, weiß ich nicht.
 
Zuletzt bearbeitet:
ok erstmal vielen dank..scheinbar war meine eigene toolchain defekt

@sf3978: kannst du mir noch sagen wie man die Downloaden kann? auf http://freetz.org/wiki/ find ich dazu nichts
 
Sobald du die richtige Box gewählt hast und ein "make" bzw. "make <paket>-precompiled" aufrufst wird die passende Toolchain geladen.
 
@sf3978: kannst du mir noch sagen wie man die Downloaden kann?
Die bekommst Du, wenn Du freetz auscheckst. Z. B.:
Code:
svn co http://svn.freetz.org/trunk freetz-devel
und wird ohne "make toolchain" und ohne "make", nach
Code:
make psybnc-precompiled
, d, h, ohne dein Zutun erstellt und verwendet.
 
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.