Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Création d’un package pour recalbox : ZELDA SOLARUS

    Recalbox Général
    d’un package zelda solarus
    7
    85
    34138
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • hellrider
      hellrider last edited by

      Salut à tous, comme certains le savent déjà, je me suis lancer dans la création de package pour recalbox et j'ai décidé de commencer par le jeu Zelda Solarus DX ^^ J'ai commencé par m'inspirer du wiki qui conseille de prendre pour exemple le package emulationstation. Je me suis également inspiré de ce tuto: http://www.linuxembedded.fr/2011/03/ajouter-un-package-dans-buildroot-en-5-minutes/   Mais voilà dès le départ j'ai une erreur 404... j'en déduis que le lien que j'ai renseigné dans le fichier .mk a un problème, mais je ne vois pas lequel car celui-ci fonctionne bien avec un wget..   Voilà mon fichier : zeldasolarusdx.mk     et voici le fichier Config.in dans le répertoire: Config.in je reconnais que j'ai pris des raccourcis drastiques au niveau des dépendances mais c'était déjà pour voir ce que ça donnait comme ça car sinon le make ne se lançait même pas si je laissais toutes les dépendances que je pensais nécessaire (je devais me tromper dans leur syntaxe..).. Je n'ai pas fait de patch (j'ai commenté cette partie du fichier mk d'origine d'émulationstation )..  et j'ai évidement mis à jour le Config.in à la racine du répertoire packages en plaçant zeldasolariusdx dans les  sources des "games". Si quelqu'un a une piste, je suis preneur ^^ Bonne fin de soirée à tous 😉

      1 Reply Last reply Reply Quote 0
      • acris
        acris last edited by

        Bonjour je n'y connais rien mais pourquoi dans ton fichier mk tu utilises : https://github.com/christopho/solarus/archive à la place de https://github.com/christopho/solarus ?

        1 Reply Last reply Reply Quote 0
        • hellrider
          hellrider last edited by

          Sans réelle raison mais tout simplement parce que le deuxième lien ne marchait pas non plus , et comme pour emulation station, c'est le répertoire archive qui est utilisé.. mais l'un comme l'autre  me donnent une erreur 404, alors qu'un wget dans un terminal suivit du lien fonctionne.

          1 Reply Last reply Reply Quote 0
          • acris
            acris last edited by

            Bonjour avec le wget tu utilises quel lien exactement ?

            1 Reply Last reply Reply Quote 0
            • hellrider
              hellrider last edited by

              celui la: wget https://github.com/christopho/solarus/archive/v1.4.1.tar.gz (ps: j'ai mis à jour le pastebin de mon mk car je l'avais refait de mémoire hier soir et j'avais fait une erreur mais c'est bien le "bon" qui me donne une erreur 404.) pour info l'erreur 404 apparait quand le fait dans le répertoire recalbox-buildroot : make zeldasolarusdx je cois que je commence un peu à comprendre.. j'ai ce message d'erreur exactement:

              ~/recalbox-buildroot$ make zeldasolarusdx >>> zeldasolarusdx undefined Downloading /zeldasolarusdx-undefined.tar.gz: Schéma manquant. --2015-05-27 14:20:51--  http://sources.buildroot.net/zeldasolarusdx-undefined.tar.gz Résolution de sources.buildroot.net (sources.buildroot.net)... 176.9.16.109 Connexion vers sources.buildroot.net (sources.buildroot.net)|176.9.16.109|:80... connecté. requête HTTP transmise, en attente de la réponse... 404 Not Found 2015-05-27 14:20:51 ERREUR 404: Not Found.

              pour moi il ne vas pas les chercher au bon en droit.. je ne dois pas avoir la bonne "règle" pour compiler zeldasolarusdx ..

              1 Reply Last reply Reply Quote 0
              • acris
                acris last edited by

                Re, et si tu décommentes ses lignes dans ton mk, tu as le même message d erreur 404 :

                #define ZELDA_SOLARUS_DX_RPI_FIXUP
                #       $(SED) 's|/opt/vc/include|$(STAGING_DIR)/usr/include|g' $(@D)/CMakeLists.txt
                #       $(SED) 's|/opt/vc/lib|$(STAGING_DIR)/usr/lib|g' $(@D)/CMakeLists.txt
                #endef
                
                #ZELDA_SOLARUS_DX_PRE_CONFIGURE_HOOKS += ZELDA_SOLARUS_RPI_FIXUP
                
                1 Reply Last reply Reply Quote 0
                • hellrider
                  hellrider last edited by

                  oui exactement pareil. D'ailleurs j'avoue que j'ai du mal à bien comprendre ces ligne.. j'imagine que c'est ça qui fait que le code source est compilé spécifiquement pour le raspi et pas pour du x86 par exemple?

                  1 Reply Last reply Reply Quote 0
                  • digitaLumberjack
                    digitaLumberjack Staff last edited by

                    Yop je passe en coup de vent : ZELDA_SOLARUS_DX = GPL -> ZELDA_SOLARUS_DX_LICENCE = GPL renomme tout les ZELDA_SOLARUS_DX en ZELDASOLARUSDX car la variable doit avoir le même nom que le répertoire.

                    sed -i "s/ZELDA_SOLARUS_DX/ZELDASOLARUSDX/g" Config.in
                    sed -i "s/ZELDA_SOLARUS_DX/ZELDASOLARUSDX/g" zeldasolarusdx.in
                    

                    Et change dans config.in :

                            bool "Zelda Solarus DX"
                    

                    en

                            bool "zeldasolarusdx"
                    

                    Il faudra que tu ajoute les dépendances dans le config.in (celles que tu as mis dans DEPENDENCIES dans le mk)

                    1 Reply Last reply Reply Quote 0
                    • hellrider
                      hellrider last edited by

                      Merci beaucoup retroboy d'être passé ^^  en effet, il y a pas mal de chose à coté desquels j'étais passé. en tout cas super pratique la commande sed !!! je teste ça dès que possible (demain au plus tard) 😉

                      1 Reply Last reply Reply Quote 0
                      • hellrider
                        hellrider last edited by

                        alors j'ai tenu compte de tes recommandations ^^  (et j'avais déjà mis le bon bool ^^) voila la liste de mes dépendances dans Config.in:

                        depends on BR2_INSTALL_LIBSTDCPP depends on BR2_PACKAGE_SDL2 depends on BR2_PACKAGE_OPENAL (BIDON actuellement) depends on BR2_PACKAGE_LIBVORBIS depends on BR2_PACKAGE_LIBMODPLUG depends on BR2_PACKAGE_LUA_5_1 depends on BR2_PACKAGE_PHYSFS  (BIDON actuellement)

                        en gros je les ai presque toutes trouvées dans le répertoire package et j'ai consulté les Config.in de chacune pour récupérerle bon nom BR2_PACKAGE_* Sauf pour OPENAL et pour PHYSFS que je n'ai pas trouvé dans les package.. j'ai récupéré la liste des dépendances dans ce fichier : https://github.com/christopho/solarus/blob/master/compilation.txt The following libraries are required to compile and to execute Solarus: SDL2 (2.0.1 or greater) SDL2main SDL2_image SDL2_imageSDL2_ttf openal vorbisfile modplug (0.8.8.4 or greater) lua5.1 (LuaJIT is recommended) physfs Est ce donc que ça signifie qu'il faut que je créer des packages pour physfs et pour openal pour les compiler avant zelda? (en espérant ne pas tomber à nouveau sur des nouvelles dépendances? )   j'ai une autre question : est ce que libvorbis et libmodplug sont bien la même chose que vorbisfile et modplug?

                        1 Reply Last reply Reply Quote 0
                        • acris
                          acris last edited by

                          Hello Hellrider, pour les packages modplug etc.... si on se réfère à la page https://packages.debian.org/sid/modplug-tools on voit bien qu il y a libmodplug donc ça doit surement correspondre. Dans la logique si des packages n'apparaissent pas, il faut surement les ajouter. ps : j'ai réussi à installer correctement mon ubuntu sous VM, je vais pouvoir m essayer aussi aux packages dès que j aurai compris comment partir de A pour aller vers B en passant par C éventuellement lol.

                          1 Reply Last reply Reply Quote 0
                          • hellrider
                            hellrider last edited by

                            salut,   Alors j'ai commencé à créer le package openal et j'ai encore des soucis d'erreur 404.  .. faut que je vérifie la syntaxe de mes fichiers.. par contre pour physfs, je ne sais pas quel projet je dois compiler.. une recherche sur github ne me renvoie que sur un wrapper, qui me renvoie ici: http://icculus.org/physfs/   Bonne journée et bon courage 😉

                            1 Reply Last reply Reply Quote 0
                            • acris
                              acris last edited by

                              Salut est ce que ceci pourrait taider http://icculus.org/pipermail/physfs/2012-October/001056.html

                              1 Reply Last reply Reply Quote 0
                              • hellrider
                                hellrider last edited by

                                bien vu ^^ y a des chances , faut que je teste 😉  (peut être en fin d'après midi.. )

                                1 Reply Last reply Reply Quote 0
                                • hellrider
                                  hellrider last edited by

                                  Hum hum, je suis vraiment pas loi.. la compilation de openal et de physfs se passe bien. A la compilation de Zelda par contre j'ai l'erreur suivante dans le fichier de log d'erreurs:

                                  Linking C executable cmTryCompileExec2036229086 /home/franck/recalbox-buildroot/output/host/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec2036229086.dir/link.txt --verbose=1 /home/franck/recalbox-buildroot/output/host/usr/bin/arm-buildroot-linux-gnueabihf-gcc  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -mhard-float -mfloat-abi=hard -mfpu=neon-vfpv4 -mcpu=cortex-a7 -fsigned-char -O3  -DCHECK_FUNCTION_EXISTS=pthread_create    CMakeFiles/cmTryCompileExec2036229086.dir/CheckFunctionExists.c.o  -o cmTryCompileExec2036229086 -rdynamic -lpthreads /home/franck/recalbox-buildroot/output/host/usr/lib/gcc/arm-buildroot-linux-gnueabihf/4.9.2/../../../../arm-buildroot-linux-gnueabihf/bin/ld: ne peut trouver -lpthreads collect2: erreur: ld a retourné 1 code d'état d'exécution make[2]: quittant le répertoire « /home/franck/recalbox-buildroot/output/build/zeldasolarusdx-1.4.1/CMakeFiles/CMakeTmp » make[1]: quittant le répertoire « /home/franck/recalbox-buildroot/output/build/zeldasolarusdx-1.4.1/CMakeFiles/CMakeTmp » make[2]: *** [cmTryCompileExec2036229086] Erreur 1 make[1]: *** [cmTryCompileExec2036229086/fast] Erreur 2

                                  Des idées?   J'ai ajouté libpthread-stubs dans le mk et dans dans les depends mais ça ne change rien  mais désormais j'ai aussi ces messages là:

                                  -- Found SDL2: /home/franck/recalbox-buildroot/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/libSDL2main.a;/home/franck/recalbox-buildroot/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/lib/libSDL2.so;-lpthread CMake Error at /home/franck/recalbox-buildroot/output/host/usr/share/cmake-3.1/Modules/FindPackageHandleStandardArgs.cmake:138 (message): Could NOT find SDL2_image (missing: SDL2_IMAGE_INCLUDE_DIRS SDL2_IMAGE_LIBRARIES) Call Stack (most recent call first): /home/franck/recalbox-buildroot/output/host/usr/share/cmake-3.1/Modules/FindPackageHandleStandardArgs.cmake:374 (_FPHSA_FAILURE_MESSAGE) cmake/modules/FindSDL2_image.cmake:71 (find_package_handle_standard_args) cmake/AddDependencies.cmake:10 (find_package) CMakeLists.txt:6 (include)

                                  Ca veut dire qu'il faut que je compile aussi libsdl2-image-dev ?   (PS: n'hésitez pas à me le dire si vous préférez que j'utilise pastbin pour les messages d'erreur aussi.)

                                  1 Reply Last reply Reply Quote 0
                                  • acris
                                    acris last edited by

                                    Re @HellRider je suis allée voir le fichier compilation.txt sur le github de Zelda et il contient ceci

                                    The following libraries are required to compile and to execute Solarus: 56 57 SDL2 (2.0.1 or greater) 58 SDL2main 59 SDL2_image 60 SDL2_ttf 61 openal 62 vorbisfile 63 modplug (0.8.8.4 or greater) 64 lua5.1 (LuaJIT is recommended) 65 physfs 66

                                    il semblerait que tu es oublié effectivement des dépendances peut etre que ceci peut aider :

                                    2.1  Linux users: 
                                    94 ----------------- 
                                    95 
                                    
                                    96 Just install the corresponding packages. For example, with Ubuntu or Debian: 
                                    97 
                                    
                                    98 build-essential cmake 
                                    99 libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev libluajit-5.1-dev 
                                    100 libphysfs-dev libopenal-dev libvorbis-dev libmodplug-dev
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • hellrider
                                      hellrider last edited by

                                      oui je pensais que le SDL2 les incorporait d'office..

                                      1 Reply Last reply Reply Quote 0
                                      • reivaax
                                        reivaax last edited by

                                        Je sens qu'on va y arriver à le voir sortir ce zelda solarus sur rasp ^^ :D. Bon courage HellRider! =D

                                        1 Reply Last reply Reply Quote 0
                                        • hellrider
                                          hellrider last edited by

                                          Merci pour les encouragement ^^ Bon SDL2_IMAGE, c'est fait et SDL2_TTF aussi  😉 mais j'ai encore un message d'erreur lié à openal alors que je l'ai déjà compilé..

                                          CMake Error at /home/franck/recalbox-buildroot/output/host/usr/share/cmake-3.1/Modules/FindPackageHandleStandardArgs.cmake:138 (message): Could NOT find OpenAL (missing: OPENAL_LIBRARY OPENAL_INCLUDE_DIR) Call Stack (most recent call first): /home/franck/recalbox-buildroot/output/host/usr/share/cmake-3.1/Modules/FindPackageHandleStandardArgs.cmake:374 (_FPHSA_FAILURE_MESSAGE) /home/franck/recalbox-buildroot/output/host/usr/share/cmake-3.1/Modules/FindOpenAL.cmake:101 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) cmake/AddDependencies.cmake:12 (find_package) CMakeLists.txt:6 (include) -- Configuring incomplete, errors occurred! See also "/home/franck/recalbox-buildroot/output/build/zeldasolarusdx-1.4.1/CMakeFiles/CMakeOutput.log". See also "/home/franck/recalbox-buildroot/output/build/zeldasolarusdx-1.4.1/CMakeFiles/CMakeError.log". make: *** [/home/franck/recalbox-buildroot/output/build/zeldasolarusdx-1.4.1/.stamp_configured] Erreur 1

                                          voila openal.mk :

                                          ################################################################################ # # openal # ################################################################################ OPENAL_VERSION = 1.15.1 OPENAL_SOURCE = openal-soft-$(OPENAL_VERSION).tar.gz OPENAL_SITE = https://github.com/JogAmp/openal-soft/archive OPENAL_LICENCE = GPL OPENAL_DEPENDENCIES = define OPENAL_RPI_FIXUP.in $(SED) 's|/opt/vc/include|$(STAGING_DIR)/usr/include|g' $(@D)/CMakeLists.txt $(SED) 's|/opt/vc/lib|$(STAGING_DIR)/usr/lib|g' $(@D)/CMakeLists.txt endef OPENAL_PRE_CONFIGURE_HOOKS += OPENAL_RPI_FIXUP $(eval $(cmake-package))

                                          la deuxième partie j'avoue que je n'en suis pas du tout certain.. (j'ai copié(immité) ce qu'il y avait dans emulation-station..   bon par contre la suite se fera à partir de lundi car je sens que je vais pas avoir le temps de m'y coller du we...

                                          1 Reply Last reply Reply Quote 0
                                          • acris
                                            acris last edited by

                                            Salut il y a quoi dans ces logs ? See also « /home/franck/recalbox-buildroot/output/build/zeldasolarusdx-1.4.1/CMakeFiles/CMakeOutput.log ». See also « /home/franck/recalbox-buildroot/output/build/zeldasolarusdx-1.4.1/CMakeFiles/CMakeError.log ».

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Want to support us ?

                                            80
                                            Online

                                            98.7k
                                            Users

                                            28.1k
                                            Topics

                                            187.0k
                                            Posts

                                            Copyright © 2021 recalbox.com