Forum Solarus-Games francophone

Zelda => Zelda : Mystery of Solarus DX => Discussion démarrée par: lelinuxien le 01 Mars 2012 à 18:51

Titre: ZS DX 1.5.2 PPC MacOS X 10.2.8 - 10.3.9
Posté par: lelinuxien le 01 Mars 2012 à 18:51
Bonsoir.

J'ai pu compiler CMake sous MacOS X 10.3.9 et ça fonctionne plutôt bien. Sans pour autant utiliser les dernières SDL, j'ai trouvé ce qu'il faut pour Panther et la plupart des librairies ont été compilées sans le moindre souci. J'en suis à présent à la compilation de ZS DX et j'ai une erreur à un moment donné:
/Users/admin/Desktop/solarus-0.9.1/src/lua/Script.cpp: In member function `bool Script::notify_script(const std::string&, const std::string&, ...)':
/Users/admin/Desktop/solarus-0.9.1/src/lua/Script.cpp:703: warning: cannot pass objects of non-POD type 'const struct std::basic_string<char, std::char_traits<char>, std::allocator<char> >' through `...'; call will abort at runtime
/Users/admin/Desktop/solarus-0.9.1/src/lua/Script.capp:703: warning: second parameter of `va_start' not last named argument


Je précise que j'ai essayé différentes versions de lua: 5.1, 5.1.2, 5.1.4 et le message reste le même.
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: Noxneo le 01 Mars 2012 à 19:30
Moins de 1% des utilisateurs mac utilisent encore Panther (et ceux qui l'utilisent ne sont probablement pas ceux qui voudront jouer à ZSDX), mais c'est mignon :P

http://www.adium.im/sparkle/?forceShow[]=osVersion#osVersion
Titre: Re : Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: Sam101 le 01 Mars 2012 à 19:50
Citation de: Guillaume le 01 Mars 2012 à 19:30
Moins de 1% des utilisateurs mac utilisent encore Panther (et ceux qui l'utilisent ne sont probablement pas ceux qui voudront jouer à ZSDX), mais c'est mignon :P

http://www.adium.im/sparkle/?forceShow[]=osVersion#osVersion
Pense aux utilisateurs de IBook clamshell !
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: vlag67 le 01 Mars 2012 à 20:00
Depuis le lancement de solarus, christopho m'a quand meme transféré un mail d'une personne souhaitant jouer sous Panther :P

Après une rapide recherche sur ton bug, il semblerait que le code soit valide
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15885 (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15885)
Ce patch a été appliqué dans gcc 4.0. Je ne sais pas quelle version embarque Panther mais je pense que ca doit être en dessous.
Va falloir recompiler gcc aussi :)
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: Christopho le 01 Mars 2012 à 20:09
Je comptais changer le code qui fait ce problème de toute manière, les varargs étant peu adaptées à du C++. Cela dit, ce n'est pas pour tout de suite.
Titre: Re : Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: lelinuxien le 01 Mars 2012 à 20:34
Citation de: vlag67 le 01 Mars 2012 à 20:00
Depuis le lancement de solarus, christopho m'a quand meme transféré un mail d'une personne souhaitant jouer sous Panther :P

Après une rapide recherche sur ton bug, il semblerait que le code soit valide
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15885 (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15885)
Ce patch a été appliqué dans gcc 4.0. Je ne sais pas quelle version embarque Panther mais je pense que ca doit être en dessous.
Va falloir recompiler gcc aussi :)
Il s'agit effectivement de gcc version 3.3 (ou quelque chose du genre mais pas encore 4.x).

En tout cas, j'ai pu constater que ROTH fonctionne sous 10.3.9. Et le nombre d'utilisateurs est certainement peu élevé comme l'a dit Guillaume mais je me souviens avoir lu sur le forum de ROTH le message d'un membre possédant un vieux Mac sous Jaguar (10.2.8). Mais bon, le Jaguar, je ne sais pas si je vais l'apprivoiser.  :D

En tout cas, si j'arrive à compiler sous 10.3.9, ça devrait fonctionner aussi sous les versions PPC de Tiger et Leopard (là, je n'ai pas de quoi tester). Par contre, pour Panther, OpenAL n'est pas inclus. J'ai dû le télécharger et l'ajouter au système.
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: Sam101 le 02 Mars 2012 à 11:05
Techniquement, tout les Mac capables de faire tourner ZSDX (J'entre là dedans les IBook Clamshell G3 à 400mhz...) peuvent marcher sous Panther non ?
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: lelinuxien le 02 Mars 2012 à 11:53
Pour Panther, il faut un G3 avec minimum 128Mo de RAM (non officiellement 96Mo). Sinon, il me semble que Tiger fonctionne aussi sous les G3, mais il faut 256Mo de RAM. Par contre, Leopard, dernière version PPC de MacOS X requiert obligatoirement au minimum un G4 à 867MHz avec 512Mo de RAM.

Par contre, je ne vois pas trop où me procurer une version de GCC plus récente (3.4 par exemple) que celle incluse dans Xcode 1.5.


Sinon, j'ai encore un vieux Performa 5400 (PowerPC 603e 160Mhz) avec 64 ou 96Mo RAM sous MacOS 9 dans mon grenier. Vous pensez que ZS DX tournerait dessus?  :linkXD:
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: vlag67 le 02 Mars 2012 à 14:23
http://www.finkproject.org/ (http://www.finkproject.org/)
Je pense que ca devrait être le plus rapide pour se procurer gcc 4.0 sur Panther

Edit : Ou meme MacPorts directement avec gcc40 en fait ==> http://www.macports.org/ (http://www.macports.org/)
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: Christopho le 02 Mars 2012 à 14:43
En fait, chaque version de Mac OS vous donne un mois de boulot, c'est ça ?
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: vlag67 le 02 Mars 2012 à 14:58
Si on compile depuis un OS différent, ouaip :)
Titre: Re : Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: lelinuxien le 02 Mars 2012 à 15:47
Citation de: vlag67 le 02 Mars 2012 à 14:23
http://www.finkproject.org/ (http://www.finkproject.org/)
Je pense que ca devrait être le plus rapide pour se procurer gcc 4.0 sur Panther

Edit : Ou meme MacPorts directement avec gcc40 en fait ==> http://www.macports.org/ (http://www.macports.org/)
Ça s'annonce assez compliqué, d'autant plus que ma panthère n'a pas accès au net pour la récupération des paquetages adéquats.
J'ai tenté d'outre-passer le warning. J'ai pu en obtenir un autre lors de la compilation:

/Users/admin/Desktop/solarus-0.9.1/src/movements/TargetMovement.cpp: In member function `void TargetMovement::recompute_movement()':
/Users/admin/Desktop/solarus-0.9.1/src/movements/TargetMovement.cpp:152: warning: passing `double' for argument 1 of `void StraightMovement::set_max_distance(int)'


Je pense que les exécutables compilées sous Tiger sont compatibles avec 10.3.9. A ce sujet, j'ai lu sur le net que ce qui est compilé avec gcc 3.x fonctionne sous les vieux félins (genre Jaguar). Ce qui est compilé sous gcc 4.x fonctionne à partir de MacOS X 10.3.9 (cette version sortie avant Tiger est la seule à être compatible avec les Universal Binaries).
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: Christopho le 02 Mars 2012 à 16:23
Je viens de corriger les deux warnings dans le commit 0e98bb9.
J'avais lu un peu rapidement pour le premier, finalement c'était un problème plus simple que ce que je pensais.
Titre: Re : Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: Helmasaur le 02 Mars 2012 à 18:42
Citation de: vlag67 le 02 Mars 2012 à 14:23
http://www.finkproject.org/ (http://www.finkproject.org/)
Je pense que ca devrait être le plus rapide pour se procurer gcc 4.0 sur Panther

Edit : Ou meme MacPorts directement avec gcc40 en fait ==> http://www.macports.org/ (http://www.macports.org/)
Je conseille Homebrew (http://mxcl.github.com/homebrew/) ;).
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: vlag67 le 02 Mars 2012 à 19:08
Donc en gros, si j'ai bien saisi, l'idéal pour avoir un seul executable serait de compiler solarus pour ppc avec gcc3.X sur 10.3, pour i386 et x86_64 avec gcc4.X sur 10.4, puis de fusionner les binaires avec lipo (ou gérer manuellement à coup de script)....

Le genre de bon cassage de crane comme on les aime :)
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: lelinuxien le 02 Mars 2012 à 19:29
Si on fait comme pour ROTH, il y a moyen de faire une Universal Binary (PPC + x86, pas de 64 bit par contre) qui fonctionne de 10.3.9 à 10.6 voire 10.7. Mais là, ce ne sont pas les librairies les plus récentes.

Pour Panther, la dernière version du framework SDL compatible est la 1.2.13 (pour Tiger, j'utilise la 1.2.15 mais pas les dernières versions pour SDL_image ni SDL_ttf).

Je tente une compilation avec les modifications de Chris pour voir ce que ça donne (je pense que je vais devoir revérifier ma version de Lua pour que ça marche).

Pour ce qui est de gcc 3.3 et des librairies SDL, je pense que la compatibilité peut remonter jusqu'à MacOS X 10.2.8. Panther (version 10.3.9 uniquement) devrait être compatible avec les UB compilées par GCC 4.
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: Noxneo le 02 Mars 2012 à 20:02
Vous perdez un peu votre temps pour rien.
Titre: Re : Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: Helmasaur le 02 Mars 2012 à 21:14
Citation de: Guillaume le 02 Mars 2012 à 20:02
Vous perdez un peu votre temps pour rien.
Sûrement un challenge :D
Titre: Re : Re : Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: Sam101 le 02 Mars 2012 à 21:39
Citation de: Helmasaur le 02 Mars 2012 à 21:14
Citation de: Guillaume le 02 Mars 2012 à 20:02
Vous perdez un peu votre temps pour rien.
Sûrement un challenge :D
Depuis que ZSDX tourne sur Windows NT 3.51, y'a plus de challenge.
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: Noxneo le 02 Mars 2012 à 22:31
Oui, si c'est pour le délire pourquoi pas, mais si le but est d'offrir quelque chose de valeur aux joueurs, alors il y'a plus intéressant à faire que porter pour un OS que personne n'utilise :P
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: vlag67 le 03 Mars 2012 à 13:41
Mon but "perso" est de comprendre pourquoi un binaire compilé sur 10.6 ne fonctionne pas sur 10.5, malgré les flags désactivant les nouvelles features, et tant qu'on y est de faire marcher la retrocompatibilité ...

Au passage Guillaume, c'est quoi exactement l'unité de mesure dans ton premier lien ?
127 575 Macs en circulation ca me parait très peu ... et si c'est en millier, 4,5M de 10.4 c'est pas négligeable non plus ^^
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: lelinuxien le 03 Mars 2012 à 13:51
Apparemment, pour que ça marche sous l'OS antérieur, il faut définir le SDK adéquat.

De mon côté, je vais peut-être pouvoir tester sous Tiger PPC d'ici peu. Quant à Panther, avec les modifications de Chris, ça compile mais au moment de l'édition de liens, ça tourne au vinaigre. Je pense donc, quelque soit l'OS (OS X, Linux, etc), il est impératif d'utiliser GCC en version 4. La version 4.0 permet de créer des Universal Binaries PPC et x86. La compatibilité 10.3.9 (rien d'antérieur par contre) est possible dans certaines conditions. Sinon, pour une compilation compatible Leopard, Xcode 3.1.4 (et la version GCC fournie avec cette mouture de Xcode) compilera à coup sûr des compilations compatibles.

En tout cas, c'est moins difficile de faire tourner ZS DX sous NT 3.51 que sous un vieux félin (et rester compatible avec les félins récents). Si ça continue, je passe à OS/2 (ou eComstation), ce sera moins compliqué (à mon avis, encore moins d'utilisateurs d'OS/2 que de Panther).  :D
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: vlag67 le 03 Mars 2012 à 16:46
En fait le SDK (comprendre flag -isysroot) défini "juste" les en-tete système utilisé pour la compilation,
et -mmacosx-version-min=10.5 (ou -Wl,-macosx_version_min 10.5) défini la version la plus ancienne utilisable.

En plus de ca, il y a certains flags ajoutés spécialement pour la compatibilité antérieure à 10.6, -Wl,-no_compact_linkedit , -fno-blocks (facultatif) en gros ...
Sauf que ca a pas l'air de fonctionner :)


Cela dit je rejoins Guillaume pour dire que 10.5 en version minimum, c'est nettement suffisant. D'autant que si on downgrade SDL_image pour garder le support PPC, ca risque de poser des soucis de couleur/fullscreen, et au pire des soucis de compatibilité sur des versions futures.
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: Noxneo le 03 Mars 2012 à 18:52
Citation de: vlag67 le 03 Mars 2012 à 13:41
Au passage Guillaume, c'est quoi exactement l'unité de mesure dans ton premier lien ?
127 575 Macs en circulation ca me parait très peu ... et si c'est en millier, 4,5M de 10.4 c'est pas négligeable non plus ^^

C'est les logs de màj d'Adium.
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: lelinuxien le 04 Mars 2012 à 14:26
Après avoir compilé une version PPC sous Tiger (GCC 4.0.1), je l'ai transférée sur Panther 10.3.9, et ça fonctionne. Pas eu besoin de flag particulier lors de la compilation de l'exécutable du jeu.  ^_^

CitationCela dit je rejoins Guillaume pour dire que 10.5 en version minimum, c'est nettement suffisant. D'autant que si on downgrade SDL_image pour garder le support PPC, ca risque de poser des soucis de couleur/fullscreen, et au pire des soucis de compatibilité sur des versions futures.
C'est sûr que pour les prochaines versions, je ne promets rien. J'ai compilé cela pour faire plaisir à ceux qui ont un vieux Mac et aucune autre machine et on ne peut pas faire de miracles non plus: si le mode plein écran requiert une version récente de SDL-image incompatible avec les OS antérieurs, on ne va pas pénaliser ceux qui utilisent un OS récent. D'ailleurs, j'imagine que pour Mountain Lion, SDL sera probablement encore une fois mis à jour et tôt ou tard, le Leopard prendra aussi sa retraite.

En tout cas, vu le problème sous GCC 3, je ne peux proposer aucune compilation PPC pour Jaguar ou Panther < 10.3.9. MacOS X 10.3.9 date d'avril 2005 et la mouture originale de Panther date de fin 2003.
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: Sam101 le 04 Mars 2012 à 15:05
De toute façon, les Mac les plus anciens qui peuvent faire tourner ZSDX correctement peuvent tourner sous Panther 10.3.9 ;).
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: lelinuxien le 04 Mars 2012 à 15:17
Les PPC tournant sous Leopard sont probablement peu nombreux: Leopard étant sorti plus d'un an et demi après les MacIntel, les seuls Mac PPC tournant sous Leopard sont ceux ayant été mis à niveau (aucun PPC vendu avec Leopard). Je précise que j'ai compilé avec un G3 (PPC 32 bits donc).


EDIT: Voici les versions de ZS DX et ZS XD pour Panther 10.3.9:
ZS DX 1.4.1: http://home.scarlet.be/~tsg79539/SolarusDX_10.3.9.zip
ZS XD 1.5: http://home.scarlet.be/~tsg79539/SolarusXD_10.3.9.zip
Pas de plein écran en principe car pas d'optimisations SDL. Frameworks utilisés: SDL 1.2.13, SDL_ttf 2.0.9 et SDL_image 1.2.7. Le framework OpenAL est également fourni (car pas inclus nativement dans l'OS). Les autres librairies ont été compilées dans leurs dernières versions. Pour installer, il suffit de décompresser avec Stuffit (faudrait d'ailleurs qu'on pense à proposer les versions Mac en fichier .dmg).

EDIT du 06/03: Les 2 fichiers peuvent désormais être décompressés avec l'utilitaire d'Apple, plus simple et plus rapide que Stuffit (les archives que j'avais créées le 04/03 nécessitaient Stuffit sinon le jeu une fois décompressé ne se lançait pas, mais le problème est à présent réglé).
Titre: Re : Compilation sous Panther 10.3.9 (version PPC)
Posté par: MoahRikunel le 06 Mars 2012 à 21:44
Franchement merci à vous pour cette compilation pour l'OS que je possède, il y a juste quelques bugs de sons à déplorer mais rien de bien grave. Encore merci à vous et bonne soirée. PS je peux jouer en plein écran sans gêne apparemment.
Titre: [OK, plein écran fonctionnel] Version 10.3.9 PPC
Posté par: lelinuxien le 06 Mars 2012 à 23:08
CitationPS je peux jouer en plein écran sans gêne apparemment.
Ça, c'est vraiment pas mal. Je n'avais pas testé le plein écran sous Panther mais sous Tiger (avec les librairies SDL plus récentes), ça ne passe pas. Cela voudrait donc dire que le problème ne provient pas du code temporaire (replacé dans ces versions pour que les couleurs soient correctes) mais de certaines versions de SDL_image (la version la plus récente nous met des bâtons dans les roues pour créer une version de ZS DX fonctionnelle sous Leopard 32 bits).

Pour le son, je suppose qu'il s'agit entre autres du problème récurrent du "kling" au lancement du jeu.

EDIT: En effet, ça marche sous 10.3.9 en plein écran.

REEDIT: Cette même version sous Tiger affiche un écran brouillé. Avec les mêmes versions de SDL, etc. Apple a donc modifié quelque chose dans MacOS X lors du passage à la version 10.4.
Titre: ZS DX 1.5.1 Version 10.2.8 - 10.3.9 PPC
Posté par: lelinuxien le 29 Avril 2012 à 17:51
J'en ai également profité pour porter Solarus DX 1.5.0 et XD 1.5.2 sous Panther 10.3.9 (inutile d'essayer sous 10.3.8 ou antérieur, il faudra mettre à jour votre système si vous utilisez encore ces versions).

Tout comme les versions antérieures de ZS DX et XD, le plein écran fonctionne. Aussi, veuillez n'utilisez ces versions que sous Panther (ça fonctionne aussi sous 10.4 PPC et probablement 10.5 PPC mais pour ces OS veuillez télécharger les versions Universal Binaries qui contiennent des librairies plus récentes). Encore une fois, pour la compatibilité 10.3.9, les librairies fournies sont SDL 1.2.13, SDL_image 1.2.7, SDL_ttf 2.0.9 et OpenAL non inclus dans Panther).

Mêmes liens de téléchargement que précédemment:
ZS DX 1.5.1: http://home.scarlet.be/~tsg79539/SolarusDX_10.3.9.zip
ZS XD 1.5.2: http://home.scarlet.be/~tsg79539/SolarusXD_10.3.9.zip

EDIT du 30/04: J'ai enfin réussi à résoudre le problème qui a lieu en fin de compilation de solarus avec GCC 3 (c'est QuickTime 7 le fautif). Du coup, je vous propose une version réuploadée de Solarus DX 1.5 compatible MacOS X 10.2.8. Cette version a été testée fonctionnelle sous 10.2.8, 10.3.9 et 10.4.11. Elle est adaptée à MacOS X 10.2.8 et 10.3.x. Son fonctionnement n'est pas garanti sous MacOS X antérieur à 10.2.8. Je dois encore régler un problème avec ZS XD qui bizarrement ne se lance pas sous MacOS X 10.2.8.

REEDIT du 30/04: OK pour ZS XD. Désormais, les 2 jeux fonctionnent sous MacOS X 10.2.8 - 10.3.9.  ^_^

REEDIT du 21/05: Je viens d'uploader la version 1.5.1 de ZS DX à la place de la 1.5.0. Vous pouvez désormais télécharger cette nouvelle version.
Titre: Re : ZS DX 1.5.1 PPC MacOS X 10.2.8 - 10.3.9
Posté par: Christopho le 06 Mai 2013 à 22:47
Déterrage de topic. Ce serait assez approprié de mettre ces versions en téléchargement officiel, non ? Pour l'instant, le téléchargement Mac précise "Mac OS 10.6+". Que dois-je mettre sur cette version ? Tu as testé de 10.2.8 à 10.4.11 mais est-ce que c'est censé marcher aussi sur des versions plus récentes ?
Titre: Re : ZS DX 1.5.2 PPC MacOS X 10.2.8 - 10.3.9
Posté par: lelinuxien le 06 Mai 2013 à 23:33
Dans ce topic-ci, les versions proposées utilisent de vieilles librairies et ne sont compatibles qu'avec les plus vieilles versions PPC de MacOS X 10.2.8 à 10.3.9 (Mac datant de 2003 à 2005).

Une seule version compatible MacOS X 10.2.8 à 10.8 serait l'idéal mais je ne pense pas que ce serait possible.
Les Universal Binaries (compatibles PPC/Intel) peuvent être compatibles à partir de 10.3.9 (si au niveau des librairies on trouve ce qu'il faut sans être trop difficile au niveau versions).

Solarus XD 10.5.3: http://www.zeldaforce.net/solarus/SolarusXD_10.2.8.zip
Solarus DX 10.5.2: http://www.zeldaforce.net/solarus/SolarusDX_10.2.8.zip