Posted on April 25, 2008 at 12:14 pm

phoneME Advanced on OSX Intel

Um Java CDC Anwendungen zu entwickeln braucht man eine entsprechende virtuelle Machine. Eine OpenSource VM wird im phoneME Projekt entwickelt. Es gibt dort verschiedenste Versionen für Linux, Windows, Windows Mobile und auch für Darwin/OS X. Allerdings ist bisher nur ein PowerPC Variante für OS X verfügbar. Die lässt sich auch auf einem Intel Mac benutzen, allerdings nur im Foundation-Profile, dass keine UI bereitstellt. Um AWT zu haben benötigt man das Personal-Profile, was jedoch QT verlangt. Und mit Fink kann man von QT keine Universal Binarys installieren.

Deshalb habe ich versucht die PowerPC Version von phoneME Advanced nach x86 zu portieren. Dazu war nicht sonderlich viel nötig. Ich habe lediglich einige Dateien durch die entsprechenden Linux x86 Versionen ersetzt.

Hier ist nun das Ergebnis:


Patch: phoneme-cdc-darwin-x86

Binary: phoneme-cdc-personal-darwin-x86-qt3-x11-bin

Die Dateien aus dem Patch-Archiv müssen in die entsprechenden Ordner der phoneME Sourcen kopiert werden. Dann kann im Verzeichnis cdc/build/darwin-x86-mac “make” aufgerufen werden um das Foundation Profil zu bauen und mit “make J2ME_CLASSLIB=personal” kann das Personal-Profil erzeugt werden. Dafür benötigt man QT3, das am einfachsten mit Fink installiert wird.

Die entstandene VM lässt sich am einfachsten mit “bin/cvm -jar democlasses.jar” testen.

Tags:, ,

7 Responses to “phoneME Advanced on OSX Intel”

  1. Sascha on June 24th, 2008 at 20:12 says:

    Habs ausprobiert und heraus kommt ein UnsatisfiedLinkError. In der Meldung steht der Pfad zu libqtawt.so. X11 (Apple) und qt3 (via fink) sind vorhanden. Irgendeine Idee, was da fehlt?

  2. tisoft_media on June 24th, 2008 at 20:21 says:

    Hallo Sascha,

    Benutzt du Tiger oder Leopard? Ich habs auf Leopard compiliert.

    Kannst du mal den kompletten Stacktrace posten?

  3. tisoft_media on June 24th, 2008 at 20:31 says:

    Nachtrag:

    Folgende Libraries werden von cvm auf meinem Mac genutzt:

    /Users/markus/Downloads/phoneme-cdc-personal-darwin-x86-qt3-x11-bin/bin/cvm
    /usr/X11/lib/libXau.6.dylib
    /Users/markus/Downloads/phoneme-cdc-personal-darwin-x86-qt3-x11-bin/lib/libqtawt.so
    /usr/X11/lib/libGL.1.2.dylib
    /usr/X11/lib/libXmu.6.dylib
    /usr/X11/lib/libXrender.1.dylib
    /usr/X11/lib/libXrandr.2.dylib
    /usr/X11/lib/libXcursor.1.dylib
    /usr/X11/lib/libXinerama.1.dylib
    /usr/X11/lib/libXft.2.dylib
    /sw/lib/freetype219/lib/libfreetype.6.3.10.dylib
    /usr/X11/lib/libfontconfig.1.3.0.dylib
    /usr/X11/lib/libXext.6.dylib
    /usr/X11/lib/libX11.6.dylib
    /usr/X11/lib/libSM.6.dylib
    /usr/X11/lib/libICE.6.dylib
    /usr/lib/libXplugin.1.dylib
    /usr/X11/lib/libXdmcp.6.dylib
    /usr/X11/lib/libXt.6.dylib
    /usr/X11/lib/libXfixes.3.dylib
    /usr/lib/libexpat.1.5.0.dylib
    /sw/lib/qt3/lib/libqt-mt.3.3.8.dylib
    /usr/X11/lib/libfreetype.6.3.16.dylib
    /Users/markus/Downloads/phoneme-cdc-personal-darwin-x86-qt3-x11-bin/lib/libawtjpeg.so
    /usr/lib/dyld
    /Users/markus/Downloads/phoneme-cdc-personal-darwin-x86-qt3-x11-bin/lib/personal.jar
    /Users/markus/Downloads/phoneme-cdc-personal-darwin-x86-qt3-x11-bin/democlasses.jar

    Evtl. fehlt dir da was?

  4. Sascha on June 25th, 2008 at 8:17 says:

    Hi auch. Bin ein Stück weiter gekommen. Ein Debug-Build fördert dann (unter anderem) folgende Meldung des Linkers zutage…
    dlopen(/Users/sascha/Development/src/java/phoneme/phoneme_advanced-mr2-dev-b76/cdc/build/darwin-x86-mac/lib/libqtawt_g.so, 1): Library not loaded: /usr/X11/lib/libXrandr.2.dylib
    Referenced from: /sw/lib/qt3/lib/libqt-mt.3.dylib
    Reason: Incompatible library version: libqt-mt.3.dylib requires version 4.0.0 or later, but libXrandr.2.dylib provides version 3.0.0

    Wie mir scheint ist meine X11 Installation zu alt. Woher kommt denn deine?

  5. tisoft_media on June 25th, 2008 at 8:43 says:

    Ich habe meine von http://xquartz.macosforge.org/trac/wiki

    Das ist eine etwas neuere als die, die Apple mitliefert. Daran könnte es natürlich liegen.

  6. Sascha on June 25th, 2008 at 10:16 says:

    Läuft jetzt. Vielen Dank für die Hilfe.

  7. Konstantin Läufer on November 13th, 2009 at 20:25 says:

    Seit Snow Leopard 10.6.2 mußte ich in cdc/build/darwin-x86-mac/GNUmakefile -m32 zu diesen Einstellungen hinzufügen:

    ASM_ARCH_FLAGS = -m32 -march=i686
    CC_ARCH_FLAGS = -m32 -march=i686

    LINK_ARCH_FLAGS = -m32

Leave a Reply

About

Coding==relaxing!

Language


Werbung