Crosscompiler mit danisahne Mod

Jetzt blick ich nicht mehr durch.....Header-File?? Welches ist das Header-File??? Die spandsp.h???

Und die dann ins Verzeichnis von ivcall, und von ivcall das configure script anpassen???

Sorry, aber Du musst das bitte mal für blöde erklären.... sorry......

Gruß
mastertester

EDIT:

Ich konnte das Problem zum Teil schon lösen.....
 
Zuletzt bearbeitet:
Zitat von olistudent
Ich hab dann das Header-File immer ins Verzeichnis kopiert und den Source angepasst. Und die lib dann noch per Hand in die toolchain...
MfG Oliver

Wo ins toolchain muss den die lib rein?

Gruß
mastertester
 
Hi.
1. libtiff:
Code:
./configure --build=i386 --host=mipsel-linux --disable-largefile -disable-cxx -enable-zlib CFLAGS="-g -O2 -march=4kc"
make install prefix=/home/user/ds-0.2/toolchain/target
2. spandsp:
Code:
./configure --build=i386 --host=mipsel-linux CFLAGS="-g -O2 -march=4kc"
make install prefix=/home/user/ds-0.2/toolchain/target
3. ivcall:
Code:
./configure --host=mipsel-linux --build=i386 CFLAGS="-g -O2 -march=4kc" --with-spandsp LDFLAGS="-static" LIBS="-ltiff -lm -lz" --disable-lynx

MfG Oliver
 
Zuletzt bearbeitet:
Tausend dank Oli!!!! :)

Gruß
mastertester
 
Hallo

Ich hab hier schon sehr viel mitgelesen und bin auch schon sehr weit gekommen.
Ich wollte mir für meine FritzBox 7170 Version 29.04.03-3452, ohne ds-mod, ein einfaches Hello World Programm schreiben.
Ich hab mir den ds-mod runtergeladen und damit den crosscompiler erstellt.
Hat alles ohne Probleme funktioniert unter Fedora Core 5. Dann hab ich nen link erstellt "ln -s /....../mipsel-linux-gcc /bin/gcc" und bei "gcc -v" zeigt er mir auch mipsel an.
Dann hab ich mir die Datei hello.c erstellt:
Code:
#include <stdio.h>  
int main (void) 
{     
	printf("Hallo Welt!\n");     
return 0; 
}

Diese dann kompiliert: gcc hello.c
Die erstellte Datei auf die FritzBox geladen und ausgeführt. Dabei kommt das raus:
Code:
# ./hello
./hello: can't load library 'libgcc_s.so.1'
#

Das compilieren scheint ja funktioniert zu haben. denn ich denke sonst würde es garnicht bis zu dieses Meldung kommen.

Muss ich die lib dateien noch irgendwie mit angeben beim compilieren? Wie mach ich das?

mfg
 
Code:
mipsel-linux-gcc -o hello -static-libgcc hello.c
 
Danke, super Support hier.

Das hat bestens funktioniert, nun wollt ich mal bftpd-1.3 testen, da tritt der selbe Fehler auf. Wie mach ich das dort? Denn ich geb da ja nicht mipsel-linux-gcc sondern ./configure und make ein.

mfg
 
Hi.
Hier ein Ausschnitt aus meinem Makefile:
Code:
# Generated automatically from Makefile.in by configure.
VERSION=1.2.2
CC=mipsel-linux-gcc
INSTALL=/usr/bin/install -c
CFLAGS=-g -Os -DHAVE_CONFIG_H -Wall -I. -DVERSION=\"$(VERSION)\" -pipe -march=4kc -Wa,--trap -static-libgcc
LIBS= -lcrypt -Wl,-Bstatic -lz -Wl,-Bdynamic
prefix=/usr
Seit wann gibt's denn den bftpd-1.3?

MfG Oliver
 
eihentlich gibt es doch nur die 1.2 als stable version, die 1.3 scheint noch im test zu sein, gibt es aber hier: http://bftpd.sourceforge.net/
Compilieren mit make hab ich jetzt auch hinbekommen, einfach bei CFLAGS -static-libgcc mit eintragen, hab es zwar noch nicht mit bftpd getestet, aber mit neinem anderen programm ging es so.
 
Hallo zusammen,

beim Erstellen der Toolchain "make toolchain" bricht der Vorgang nach geraumer Zeit mit folgender Fehlermeldung ab:

Code:
     CONFIG_HEADERS= /bin/sh ./config.status
config.status: creating po/Makefile.in
config.status: executing depfiles commands
config.status: executing default commands
make[4]: Leaving directory `/home/user/Fritz_Box/ds-0.2.4_for_toolchain/source/toolchain/binutils-2.16.91.0.6-build/bfd/po'
make[4]: Entering directory `/home/user/Fritz_Box/ds-0.2.4_for_toolchain/source/toolchain/binutils-2.16.91.0.6-build/bfd/po'
make[4]: Für das Ziel »info« ist nichts zu tun.
make[4]: Leaving directory `/home/user/Fritz_Box/ds-0.2.4_for_toolchain/source/toolchain/binutils-2.16.91.0.6-build/bfd/po'
make[4]: Entering directory `/home/user/Fritz_Box/ds-0.2.4_for_toolchain/source/toolchain/binutils-2.16.91.0.6-build/bfd'
make[4]: Für das Ziel »info-am« ist nichts zu tun.
make[4]: Leaving directory `/home/user/Fritz_Box/ds-0.2.4_for_toolchain/source/toolchain/binutils-2.16.91.0.6-build/bfd'
make[3]: *** [info-recursive] Fehler 1
make[3]: Leaving directory `/home/user/Fritz_Box/ds-0.2.4_for_toolchain/source/toolchain/binutils-2.16.91.0.6-build/bfd'
make[2]: *** [all-bfd] Fehler 2
make[2]: Leaving directory `/home/user/Fritz_Box/ds-0.2.4_for_toolchain/source/toolchain/binutils-2.16.91.0.6-build'
make[1]: *** [all] Fehler 2
make[1]: Leaving directory `/home/user/Fritz_Box/ds-0.2.4_for_toolchain/source/toolchain/binutils-2.16.91.0.6-build'
make: *** [/home/user/Fritz_Box/ds-0.2.4_for_toolchain/source/toolchain/binutils-2.16.91.0.6-build/binutils/objdump] 
Fehler 2
user@linux-mobile:~/Fritz_Box/ds-0.2.4_for_toolchain>

Kann mir von den erfahrenen Codern hier im Forum vielleicht weiterhelfen.

Ich compiliere das Ganze unter SuSE 10.

Grüße und ein Dankeschön im voraus
Kreideholer


Edit: Habe evtl. die Lösung gerade selbst noch gefungen.
[thread=997788]Wieder mal Crosscompiler[/thread]
 
Zuletzt bearbeitet:
Dein Link funktioniert nicht, aber dir fehlt das Paket texinfo. Installiere texinfo und lösche das Verzeichnis /home/user/Fritz_Box/ds-0.2.4_for_toolchain/source/toolchain/binutils-2.16.91.0.6-build. Danach nochmal
Code:
make toolchain
und es sollte weitergehen.
 
Es funzt!

Genau daran lag es.

Hatte die Antwort schon kurz vor dir aus nen anderen Thread erlesen.

Trotzdem vielen Dank

Kreideholer
 
Hallo. Ich habe ein Problem bei der Erstellung des crosscompiler. Mit Fedora Core 5 hat alles perfekt funktioinert, aber jetzt habe ich es mal mit Suse 10.1 probiert.
Nach stundenlangen arbeiten (ich denke er müsste schon fast fertig sein) kommt diese Meldung:

Code:
make -C /home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6 all
make[1]: Entering directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6'
make[2]: Entering directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6'
make[3]: Entering directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/libiberty'
make[4]: Entering directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/libiberty/testsuite'
make[4]: Für das Ziel »all« ist nichts zu tun.
make[4]: Leaving directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/libiberty/testsuite'
make[3]: Leaving directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/libiberty'
make[3]: Entering directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/intl'
make[3]: Für das Ziel »all« ist nichts zu tun.
make[3]: Leaving directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/intl'
make[3]: Entering directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/bfd'
Making info in doc
make[4]: Entering directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/bfd/doc'
restore=: && backupdir=".am$$" && \
am__cwd=`pwd` && cd ../.././bfd/doc && \
rm -rf $backupdir && mkdir $backupdir && \
for f in ../.././bfd/doc/bfd.info ../.././bfd/doc/bfd.info-[0-9] ../.././bfd/doc/bfd.info-[0-9][0-9] ../.././bfd/doc/bfd.i[0-9] ../.././bfd/doc/bfd.i[0-9][0-9]; do \
  if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
done; \
cd "$am__cwd"; \
if /home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/missing makeinfo --split-size=5000000 --split-size=5000000   -I ../.././bfd/doc \
 -o ../.././bfd/doc/bfd.info ../.././bfd/doc/bfd.texinfo; \
then \
  rc=0; \
  cd ../.././bfd/doc; \
else \
  rc=$?; \
  cd ../.././bfd/doc && \
  $restore $backupdir/* `echo "./../.././bfd/doc/bfd.info" | sed 's|[^/]*$||'`; \
fi; \
rm -rf $backupdir; exit $rc
WARNING: `makeinfo' is missing on your system.  You should only need it if
         you modified a `.texi' or `.texinfo' file, or any other file
         indirectly affecting the aspect of the manual.  The spurious
         call might also be the consequence of using a buggy `make' (AIX,
         DU, IRIX).  You might want to install the `Texinfo' package or
         the `GNU make' package.  Grab either from any GNU archive site.
make[4]: *** [../.././bfd/doc/bfd.info] Fehler 1
make[4]: Leaving directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/bfd/doc'
Making info in po
make[4]: Entering directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/bfd/po'
make[4]: Für das Ziel »info« ist nichts zu tun.
make[4]: Leaving directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/bfd/po'
make[4]: Entering directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/bfd'
make[4]: Für das Ziel »info-am« ist nichts zu tun.
make[4]: Leaving directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/bfd'
make[3]: *** [info-recursive] Fehler 1
make[3]: Leaving directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/bfd'
make[2]: *** [all-bfd] Fehler 2
make[2]: Leaving directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6'
make[1]: *** [all] Fehler 2
make[1]: Leaving directory `/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6'
make: *** [/home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/binutils/objdump] Fehler 2

makeinfo oder texinfo hab ich aber installiert.
Warum kommt dieser Fehler???

mfg
 
Lösch mal das Verzeichnis /home/andybochmann/ds-0.2.6/source/toolchain/binutils-2.16.91.0.6/binutils und starte nochmal
Code:
make toolchain
 
Hallo

Danke, aber das hat leider auch nichts geholfen.
Ich hab nochmal alles gelöscht und koplett neu angefangen, jetzt hat es funktioniert.
Keine Ahnung woran es lag.

mgh
 
danisahne schrieb:
Kann mir jemand sagen, warum ich immer wenn ich dynamisch linke trotz -static-libgcc die libgcc_s.so als Abhängigkeit reinbekomme?
olistudent schrieb:
Manchmal muss es unter LDFLAGS und manchmal unter CFLAGS.

ich habe das selbe problem und weiß mir nicht anders zu helfen als try & error.

eigentlich wäre ldd ganz prima zu gebrauchen, aber das gibts für die target-toolchain anscheinend nicht?
 
Ich will auch :)

Hallo zusammen,

seit heute Abend versuche ich mich auch im Cross-Kompilieren. Ich hab ein Debian laufen und die Toolchain wurde auch ohne Probleme erstellt.
Mein erstes Testopfer ist bftpd-1.4. Dabei bin ich strikt nach Anweisung vorgegangen, zunächst der Export (mit dem korrekten Pfad), kurzer Aufzug aus export
Code:
declare -x PATH="/home/jesus/ds-0.2.6/toolchain/target/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"
und anschließend ein

Code:
jesus@nikowitt:~/ds-0.2.6/bftpd-1.4$ ./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
updating cache ./config.cache
creating ./config.status
creating Makefile
creating config.h
config.h is unchanged
Die Tatsache "checking whether the C compiler (gcc ) is a cross-compiler... no" kommt mir schon sehr verdächtig vor und nach dem Make kommt leider auch nur eine Binary raus, die nicht auf der Box läuft sondern nur auf meinem Schleppi.

Was mache ich falsch? :(

Gruß Niko
 
jesus.christ schrieb:
Code:
declare -x PATH="/home/jesus/ds-0.2.6/toolchain/target/bin/:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"
Dein Pfad zeigt IMO auf das falsche Verzeichnis. Es sollte wohl "toolchain/target/mipsel-linux-uclibc/bin/" sein.

MFG pTweety
 
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.