10
votes

Compiler des boussoles sur Mac OS X Snow Leopard

Une personne capable de compiler le simulateur Bochs sous Snow Leopard. Leopard a travaillé bien pour moi, mais sous Snow Leopard, je reçois beaucoup de problèmes liés à la bibliothèque de carbone ...

OK, d'autres informations ont été demandées.

  • Je compile avec faire sur la coquille; Processus de construction de Stanard venant avec les sources de Bochs
  • J'ai été capable de compiler avec succès contre le 10.5 SDK. Malheureusement, il ne fonctionnait pas sous la neige léopard ... toujours écrasé
  • Puis j'ai installé le dernier Xcode du CD Snowleopard et compilé contre le 10.6 SDK; Withot ne changeant rien d'autre que l'indicateur d'isysroot à pointer vers le 10.6 au lieu de 10.5 Le compilateur a des problèmes de trouver des en-têtes de carbone ... (-Framework Carbon est inclus comme paramètre à g ++)

    ici l'erreur ... Il échoue lorsqu'il s'agit de compiler l'interface graphique à base de carbone pour Bochs: xxx

    ... beaucoup plus xxx non déclaré erreurs

    merci d'avance Mac


3 commentaires

Compilez-vous en mode 32 bits ou 64 bits?


Que diriez-vous d'améliorer ces tags? OSX? Bochs?


Mac4711: Nous avons besoin de beaucoup plus d'informations. Quel message d'erreur exacte obtenez-vous? Essayez-vous de construire en Xcode ou d'utiliser un autre système de construction tel que faire? Veuillez éditer votre question pour inclure ces détails.


8 Réponses :


1
votes

Snow Leopard compile 64 bits par défaut, mais les applications GUI Carbon doivent être 32 bits.


0 commentaires

4
votes

Tout d'abord, vous devrez exécuter "faire dist-nettoyer" pour vous débarrasser de certains du code de la bibliothèque qui aura compilé avec succès en mode 64 bits - cela n'est pas supprimé par une "marque propre" régulière, Seulement le plus radical dist-propre. Sinon, votre construction essaiera de mélanger le code 32 et 64 bits, ce qui ne fonctionne pas.

Définissez maintenant CFLAGS et CXXFLAGS pour contenir le commutateur -M32 sur le mode Forcer 32 bit. Re-courez ./configure, puis faire, et vous devriez avoir un binaire "Bochs" de travail.

Avoir déjà passé les problèmes de construction, vous trouverez probablement la version du carbone ne fonctionne plus; La version X11 semble être un meilleur pari. (Au moins, sur mon système de léopard des neiges, la construction de carbone échoue tôt avec une défaillance d'affirmation; X11 fonctionne comme prévu.) Vous pourrez peut-être obtenir un fonctionnement de 64 bits X11 en cours d'exécution, sans la dépendance du carbone, mais je n'ai pas essayé cela encore, seulement 32 bits.


2 commentaires

Êtes-vous sûr que c'est dist-propre et non distclean ?


Peter: Curieusement, oui, c'est vraiment "dist-propre" avec le trait d'union; Comme vous, je m'attendais à ce que ce soit distclean, ce que j'ai vu dans d'autres projets, mais cela n'existait pas.



5
votes

En plus de James dit (Ajout du commutateur -M32), vous devrez peut-être ajouter «-arch i386» également.

Voici un fichier Conf modifié que j'ai utilisé pour construire: P>

set echo
CFLAGS="-arch i386 -m32 -pipe -O3 -I/sw/include -fomit-frame-pointer -finline-functions -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-labels=16 -falign-loops-max-skip=15 -falign-jumps-max-skip=15 -fprefetch-loop-arrays $CFLAGS"
CPATH="/sw/include"
CPPFLAGS=""
CXXFLAGS="$CFLAGS"
LDFLAGS="-arch i386 -m32 -L/sw/lib"
CXX="g++ -arch i386 -m32"

export CFLAGS
export CPATH
export CPPFLAGS
export CXXFLAGS
export LDFLAGS
export CXX

./configure --enable-sb16 \
     --enable-ne2000 \
     --enable-all-optimizations \
            --enable-cpu-level=6 \
            --enable-x86-64 \
            --enable-sse=2 \
            --enable-pci \
            --enable-acpi \
            --enable-debugger \
            --enable-clgd54xx \
            --enable-usb \
     --enable-plugins \
     ${CONFIGURE_ARGS}


1 commentaires

J'ai toujours des erreurs comme: carbone.ck:2148: Erreur: 'CreatestAndardAlert' n'a pas été déclaré dans cette lunette.cc:2153: Erreur: "RunStandardAlert 'n'a pas été déclaré dans cette étendue marque [1]: *** [carbone .o] erreur 1



0
votes

@ user6779

Assurez-vous de ne pas utiliser le binaire plate Unix créé, mais plutôt le paquet Mac OS (appelé Bochs.app). xxx

et vous ne recevrez plus cette affirmation.


0 commentaires

1
votes

Si vous souhaitez exécuter Bochs sur un Mac 64 bits, vous devrez utiliser une bibliothèque d'interface graphique différente. Je recommande d'utiliser x ou sdl.

SDL: Pour ce faire, d'abord télécharger et installer la libsdl de http://www.libsdl.org/download -1.2.php , vous aurez besoin des binaires et des bibliothèques de développement.

Après avoir extraite les fichiers source Bochs, exécutez ./ configure --with-sdl = chemin-chemin-to-libsdl-dev-dilds . .

x11: Il devrait construire hors de la boîte: ./ configure --with-x11 && faire


0 commentaires

9
votes

J'ai enfin pu accomplir cela moi-même, mais cela a fallu un peu plus de travail que prévu. Les bochs peuvent être un peu capricieux à installer, même sur Linux.

Note H2>

Oubliez la tentative de compilation avec du carbone. Apple l'amène et vous ne pourrez pas compiler des applications en 64 bits avec celle-ci (par défaut pour Mac OS X). http://appleInsider.com/articles/12/02/18/mountain_lion_focuses_on_cocoa_drops_x11_and_deprecates_carbon P>

BTW, l'équipe Bochs n'utilise pas Mac OS X et ne pourra probablement pas résoudre ce problème. Cela pourrait être votre chance d'aider un projet open source: http://sourceforge.net/p/ Bochs / Bugs / 1204 / P>

Cela dit, vous devriez être capable de compiler avec un support SDL avec un peu de peaufie. P>

Installez la bibliothèque SDL 1.2 H2>

Je ne pourrais jamais obtenir la bibliothèque SDL de http://www.libsdl.org pour fonctionner correctement, donc J'ai utilisé homebrew - http://brew.sh - pour l'installer: P>

export BXSHARE="$HOME/opt/bochs/share/bochs"
export PATH="$PATH:$HOME/opt/bochs/bin"


0 commentaires

0
votes

Ceci a fonctionné pour moi sous MacOS X 10.10 avec des outils de développeur XCode et Xquartz 2.7.7

export CFLAGS=-I/opt/X11/include
export CXXFLAGS=-I/opt/X11/include
export LDFLAGS=-L/opt/X11/lib -lX11
./configure   --enable-debugger --enable-debugger-gui   --enable-all-optimizations    --enable-x86-debugger   --enable-ne2000   --enable-e1000  --enable-pnic   --with-x11  --without-carbon
make
sudo make install


0 commentaires

1
votes

La voie la plus simple pour Mac est ....

brew install home/x11/bochs


1 commentaires

Je ne sais pas qu'il est toujours précis, j'ai utilisé Brew Installez Bochs à la place.