Installation der Quelldistribution von Mysql 5



  • Hallo,

    ich habe lange überlegt, in welchen Thread ich die Frage stelle, bin aber zu der Erkenntnis gekommen, hier bin ich gut aufgehoben.

    Ich möchte auf Unixware 7.1.3. die Mysql-Datenbank installieren, ich habe mit die Quellcode-Daten von Mysql.com runtergeladen und mit einem Tipp von Mysql das ./configure ausgeführt:

    CC="cc" CFLAGS="-I/usr/local/include" \
    CXX="CC" CXXFLAGS="-I/usr/local/include" \
    ./configure --prefix=/usr/local/mysql \
        --enable-thread-safe-client --with-berkeley-db=./bdb \
        --with-innodb --with-openssl --with-extra-charsets=complex
    

    Das ./configure lief durch, in der Log-Datei kam, abgeschlossen mit Return-Code 0.

    Danach habe ich ./make ausgeführt, das lief eine Weile durch dann hat er mit Fehler abgebrochen, ich kann den Fehler aber nicht interpretieren:

    c.c
            source='safemalloc.c' object='safemalloc.o' libtool=no \
            DEPDIR=.deps depmode=none /bin/bash ../depcomp \
            cc -Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK -DDEFAULT_BASEDIR=\"/usr/l
    ocal/mysql\"  -DDATADIR="\"/usr/local/mysql/var\""  -DDEFAULT_CHARSET_HOME="\"/u
    sr/local/mysql\""  -DSHAREDIR="\"/usr/local/mysql/share/mysql\""  -DDEFAULT_HOME
    _ENV=MYSQL_HOME  -DDEFAULT_GROUP_SUFFIX_ENV=MYSQL_GROUP_SUFFIX  -DDEFAULT_SYSCON
    FDIR="\"/usr/local/mysql/etc\""  -DHAVE_CONFIG_H -I. -I. -I.. -I../zlib -I../inc
    lude  -I../include -I.     -DDBUG_OFF -I/usr/local/include   -Kalloca -c safemal
    loc.c
            source='my_new.cc' object='my_new.o' libtool=no \
            DEPDIR=.deps depmode=none /bin/bash ../depcomp \
            CC -Kthread -DUNIXWARE_7 -DHAVE_BROKEN_RWLOCK -DDEFAULT_BASEDIR=\"/usr/l
    ocal/mysql\"  -DDATADIR="\"/usr/local/mysql/var\""  -DDEFAULT_CHARSET_HOME="\"/u
    sr/local/mysql\""  -DSHAREDIR="\"/usr/local/mysql/share/mysql\""  -DDEFAULT_HOME
    _ENV=MYSQL_HOME  -DDEFAULT_GROUP_SUFFIX_ENV=MYSQL_GROUP_SUFFIX  -DDEFAULT_SYSCON
    FDIR="\"/usr/local/mysql/etc\""  -DHAVE_CONFIG_H -I. -I. -I.. -I../zlib -I../inc
    lude  -I../include -I.     -DDBUG_OFF -I/usr/local/include   -DNO_CPLUSPLUS_ALLO
    CA -c -o my_new.o my_new.cc
    ../depcomp: exec: CC: not found
    **** Fehlercode 127 (bu21)
    UX:make: FEHLER: schwerwiegender Fehler.
    **** Fehlercode 1 (bu21)
    UX:make: FEHLER: schwerwiegender Fehler.
    **** Fehlercode 1 (bu21)
    UX:make: FEHLER: schwerwiegender Fehler.
    

    Hat Jemand eine Idee ... ich befürchte ein Problem im Compiler? 😕

    Danke für Eure Hilfe.

    Gruss Alex 👍



  • sicher das CC ein Compiler auf deinem System ist?



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Linux/Unix in das Forum Themen rund um den PC verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • rüdiger schrieb:

    sicher das CC ein Compiler auf deinem System ist?

    Ja, ich habe den "cc" drauf, also wenn ich sage

    cc -O hellow.c -o hellow.bin
    

    ⚠

    compiliert er mir das ohne Probleme, mich wundert bloss das er den "CC" (2 große Buchstaben) nicht findet? Gibts den auch???? 😕

    Gruss Alex



  • facebraker schrieb:

    mich wundert bloss das er den "CC" (2 große Buchstaben) nicht findet? Gibts den auch???? 😕

    Wundert mich überhaupt nicht; Unix ist case-sensitive, "CC" und "cc" sind also nicht das gleiche.

    Du solltest mal versuchen, herauszufinden, wie der C++-Compiler auf Deinem System heißt und für CXX das Richtige einsetzen.

    Also nicht CXX="CC" , sondern CXX="DeinC++Compiler" .



  • ich habe ja das

    ./configure
    

    mit den paramtern gestartet:

    Auszug:
    CC="cc" CFLAGS="-I/usr/local/include" \
    CXX="CC" CXXFLAGS="-I/usr/local/include" \

    der Komplette Aufruf, steht ja in meinem 1. Posting. ⚠

    Da funktioniert es das ./configure gibt mir den Returncode 0 ...

    wenn ich das make aufrufe, dann kommt der Fehler ...

    Was ist das CXX überhaupt? 😕

    Kann mir mal einer einen Aufruf mit den ganzen Parametern zusammenbauen?

    Gruss Alex



  • facebraker schrieb:

    ich habe ja das

    ./configure
    

    mit den paramtern gestartet:

    Auszug:
    CC="cc" CFLAGS="-I/usr/local/include" \
    CXX="CC" CXXFLAGS="-I/usr/local/include" \

    der Komplette Aufruf, steht ja in meinem 1. Posting. ⚠

    Da funktioniert es das ./configure gibt mir den Returncode 0 ...

    Klar, weil das ja nicht überprüft, ob es $CC oder $CXX auch wirklich gibt. Und da es das nicht gibt, setzt Du CXX eben auf Deinen C++-Compiler. (Siehe oben.)



  • nman schrieb:

    Klar, weil das ja nicht überprüft, ob es $CC oder $CXX auch wirklich gibt. Und da es das nicht gibt, setzt Du CXX eben auf Deinen C++-Compiler. (Siehe oben.)

    mhhhm ... ich habe auch schon probiert mit dem aufruf:

    CC="cc" CFLAGS="-I/usr/local/include" \
    CXX="CC" CXXFLAGS="-I/usr/local/include" \
    
    make
    

    Kommt aber der gleiche Fehler?

    Ich habe auch schon einen Link gemacht

    ln -s /usr/bin/cc /usr/bin/CC
    

    aber das mag der cc nicht 😞

    Aber was zum Teufel soll das "CC", ist das nur ein Flop von MysqlAB? ich habe auch bei google keinen "CC" gefunden, ich bezweifel das es das Ding bei Linux gibt?

    Gruss ALex



  • Die Variable $CXX enthält den Namen des C++-Compilers (ganz im Gegensatz zu $CC, welche den Namen des, oh Wunder, C-Compilers enthält).

    Es nützt garnichts, wenn Du cc nach CC verlinkst o.ä., sondern Du musst herausfinden, wie der C++-Compiler dieses Systems heisst, und die Variable $CXX dann auf diesen Namen setzen. Wenn es das Programm CC nicht gibt und Du manuell CXX="CC" setzt, was sollte dann anders sein als vorher? Das Programm CC gibt es immernoch nicht.

    EDIT:
    Wenn diese configure-Kommandozeile ein Beispiel aus dem MySQL-Handbuch sein sollte, zeigt dieses Beispiel sehr deutlich dass wer selbst kompilieren will, auch in etwa wissen sollte was er da tut 😃

    Und noch als Hinweis hinterher: Auf kommerziellen UNIXoiden ist es nicht selbstverständlich dass ein C++-Compiler zum Lieferumfang des Betriebssystems gehört, und es ist genausowenig garantiert, dass Du einen C++-Compiler zum C-Compiler dazu bekommst.

    Ich frage mich allerdings ob man bei MySQL nicht unterbinden kann, den C++-Code zu kompilieren, da MySQL (zumindest der Kern) meines Wissens rein C ist (kann mich da aber irren).



  • Hallo Lord,

    danke für die Erklärung, ich teste das mit dem C++ Compiler!

    LordJaxom schrieb:

    Wenn diese configure-Kommandozeile ein Beispiel aus dem MySQL-Handbuch sein sollte, zeigt dieses Beispiel sehr deutlich dass wer selbst kompilieren will, auch in etwa wissen sollte was er da tut 😃

    ich habe es mir nicht ausgesucht, ich hätte auch lieber gesagt

    cat mysql5.0.23.pkg |pkgadd -d - all
    

    aber ich habe kein Paket für Unixware, also muss ich es zwangsläufig kompilieren 😞 ... meinst du es bringt mir mehr, wenn ich sag "Uhhhh ich muss das jetzt kompilieren, das kann ich bestimmt nicht, ich geb auf, ich kann den Server nicht aufsetzen... " ich will es auf alle Fälle probieren und nicht den Kopf in den Sand stecken!Okay?

    Ich check das erstmal mit dem C++ Compiler ...

    Gruss Alex


Log in to reply