.titleBar { margin-bottom: 5px!important; }

compiler probleme,

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von Mahon, 14 Feb. 2007.

  1. Mahon

    Mahon Neuer User

    Registriert seit:
    6 Nov. 2006
    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi zusammen,

    bin noch im Lernprozess beim Compilieren also nicht gleich schimpfen mit mir ;) folgenden Code wollte ich unter Friboli im Toolchain vom ds-mod Compilieren. Nur zum Testen....
    Code:
    #include <stdio.h> 
    #include <stdlib.h>
    #include <mysql.h> 
    
    int main ()  { 
       MYSQL *my;
    	my = mysql_init(NULL);
    	if(my == NULL) {
    	   fprintf(stderr, "Fehler beim Initialisieren \n");
    	   exit (EXIT_FAILURE);
    	} else {
    		printf("Initialisierung gelungen...");
    	}
    }
    > mygcc (mipsel-linux-uclibc-gcc) connectTest.c
    Code:
    connectTest.c:9:20: error: mysql.h: No such file or directory
    connectTest.c: In function 'main':
    connectTest.c:12: error: 'MYSQL' undeclared (first use in this function)
    connectTest.c:12: error: (Each undeclared identifier is reported only once
    connectTest.c:12: error: for each function it appears in.)
    connectTest.c:12: error: 'my' undeclared (first use in this function)
    
    > mygcc -I /usr/include/mysql/ connectTest.c
    Code:
    /tmp/ccavceBz.o: In function `main':connectTest.c:(.text+0x24): undefined reference to `mysql_init'
    collect2: ld returned 1 exit status
    
    > mygcc -I /usr/include/mysql/ -L /usr/lib/ connectTest.c
    Code:
    /home/bofh/ds-0.2.9/toolchain/build/gcc-4.1.0-uClibc-0.9.26/mipsel-linux-uclibc/bin-ccache/../lib/gcc/mipsel-linux-ucli                       bc/4.1.0/../../../../mipsel-linux-uclibc/bin/ld: skipping incompatible /usr/lib//libc.so when searching for -lc
    /home/bofh/ds-0.2.9/toolchain/build/gcc-4.1.0-uClibc-0.9.26/mipsel-linux-uclibc/bin-ccache/../lib/gcc/mipsel-linux-ucli                       bc/4.1.0/../../../../mipsel-linux-uclibc/bin/ld: skipping incompatible /usr/lib//libc.a when searching for -lc
    /tmp/ccMsn7cn.o: In function `main':connectTest.c:(.text+0x24): undefined reference to `mysql_init'
    collect2: ld returned 1 exit status
    


    Mein Lib Verzeichniss...
    Code:
    bofh@bofh-debian:/usr/lib$ ls *mysql*
    -rw-r--r--  1 root root 1219282 2006-08-28 21:15 libmysqlclient.a
    -rw-r--r--  1 root root     859 2006-08-28 21:15 libmysqlclient.la
    -rw-r--r--  1 root root 1228328 2006-08-28 21:15 libmysqlclient_r.a
    -rw-r--r--  1 root root     893 2006-08-28 21:15 libmysqlclient_r.la
    lrwxrwxrwx  1 root root      22 2007-02-14 04:14 libmysqlclient_r.so -> libmysqlclient_r.so.14
    lrwxrwxrwx  1 root root      26 2007-02-14 04:14 libmysqlclient_r.so.14 -> libmysqlclient_r.so.14.0.0
    -rw-r--r--  1 root root 1073864 2006-08-28 21:15 libmysqlclient_r.so.14.0.0
    lrwxrwxrwx  1 root root      20 2007-02-14 04:14 libmysqlclient.so -> libmysqlclient.so.14
    lrwxrwxrwx  1 root root      24 2007-02-14 04:14 libmysqlclient.so.14 -> libmysqlclient.so.14.0.0
    -rw-r--r--  1 root root 1066632 2006-08-28 21:15 libmysqlclient.so.14.0.0
    -rw-r--r--  1 root root 8844442 2006-08-28 21:15 libmysqld.a
    
    Was mache ich falsch?
     
  2. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Du musst dir die Libs natürlich für Mipsel gegen uClibc-0.9.26 bauen. Und in deine Toolchain installieren.

    MfG Oliver
     
  3. Mahon

    Mahon Neuer User

    Registriert seit:
    6 Nov. 2006
    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Erstmal Danke Oli, aber ich verstehe trotzdem nur Bahnhof!
    Kannst du das einmal bitte etwas erläutern?
     
  4. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Du darfst nicht die Header und Libs aus /usr/... nehmen. Du musst die für die Toolchain extra kompilieren.
    libmysql runterladen, configure für mipsel, make (mit Crosscompiler) und make install (in dsmod-Toolchain).

    MfG Oliver
     
  5. Mahon

    Mahon Neuer User

    Registriert seit:
    6 Nov. 2006
    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #5 Mahon, 14 Feb. 2007
    Zuletzt bearbeitet: 14 Feb. 2007
    Achso, jetzt versteh ich das Problem....

    Aber da gehts schon los!
    libmysql hab ich per apt-get install mit installiert, wie soll ich das einfach downloaden?
    configure für Mipsel?... aha
    make mit Crosscompiler?...aha
    make install in ds-mod Toolchain... Ja das sagt mir was, nen Toolchain hab ich gebastelt und der läuft ja auch schon mal, Jetzt muss der also neu gemacht werden mit den mysql Lib's.....

    Mfg Mahon
     
  6. danisahne

    danisahne Aktives Mitglied

    Registriert seit:
    30 Juli 2005
    Beiträge:
    1,493
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    Informatik Studium
    Ort:
    Marktoberdorf
    Die mit apt-get installierte für x86 vorkompilierte Library kannst du getrost wieder deinstallieren, die bringt dir hier nichts. Du mußt dir den Source Code besorgen und diesen mit dem mipsel-linux-uclibc-gcc übersetzen.

    Die Toolchain muss nicht neu gebaut werden.

    Mfg
    danisahne
     
  7. fischefr

    fischefr Mitglied

    Registriert seit:
    30 Okt. 2004
    Beiträge:
    202
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    grob (!!) dürfte der Ablauf so aussehen:

    falls du die uclibc statisch linken möchtest:
    Pfad setzen, wo sich der crosscompiler befindet:
    configure für Mipsel - bei dem Beispiel hier hab ich auch für die Fritz kompiliert
    das gute alte make:
    jetzt das Ergebnis in ein Verzeichnis schieben lassen (natürlich ohne <> schreiben):
    Viel Glück!
     
  8. pixelpeter

    pixelpeter Neuer User

    Registriert seit:
    24 Aug. 2004
    Beiträge:
    59
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    Ich benötige ebenfalls eine libmysql für die Fritzbox. leider geht ein:
    "./configure --host=mipsel-linux" nicht, da mysql folgendes sagt

    checking "return type of sprintf"... configure: error: cannot run test program while cross compiling

    Kann mir hier bitte jemand von den Experten eine Tip geben?


    Vielen Dank
    Peter
     
  9. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Schau mal bei openwrt. Da gibts einen Patch. Allerdings musst du dann wohl 5.0.18 nehmen... (Link)

    MfG Oliver
     
  10. pixelpeter

    pixelpeter Neuer User

    Registriert seit:
    24 Aug. 2004
    Beiträge:
    59
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Danke Oliver,

    Wie kann man den Patch runterladen? Ist bei mir immer eine HTML Datei!


    Peter
     
  11. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    2
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    runter scrollen und auf Original Format drücken ;-)
     
  12. pixelpeter

    pixelpeter Neuer User

    Registriert seit:
    24 Aug. 2004
    Beiträge:
    59
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Vielen Dank.


    Peter
     
  13. pixelpeter

    pixelpeter Neuer User

    Registriert seit:
    24 Aug. 2004
    Beiträge:
    59
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo Oliver,

    Noch mal ich. Habe mysql 5.0.18 gesaugt. Pacth passt scheinbar bestens, jedoch kommt jetzt diese Fehlermeldung:

    checking for restartable system calls... configure: error: cannot run test program while cross compiling


    Hat vielleicht irgendjemand schon eine libmysql erstellt?


    Peter
     
  14. knox

    knox Mitglied

    Registriert seit:
    20 Mai 2006
    Beiträge:
    577
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @offtopic: es würde helfen, wenn der titel des ersten beitrags etwas besser zum problem passen würde, zb "mysql libraries für die fritzbox compilieren?" oder so...