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
    37495
    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.
    • 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
              • hellrider
                hellrider last edited by

                je les ai vite consulté mais rien d'évident ne m'a sauté aux yeux.... là il faut que je recrée un projet chez moi pour tenter d'avance dans le we..

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

                  faudrais que tu fork recalbox, ou au moins que tu crée un repo github, que j'ai accès a tes scripts de compilation en live 🙂 en plus ca pourra t'aider a prendre en main git et github, qui vont t’être nécessaires pour crée la pull request 😉

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

                    avec plaisir, je connais un peu Git pour l'utiliser en local avec moi même sur gitlab.. mais je n'ai jamais forké de projet ni utilisé Github, c'est l'occasion me lancer ^^

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

                      Cool ça se poursuit.

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

                        Ca marche alors j'attends de tes nouvelles et on continue quand tu as fait ton fork de recalbox-buildroot 🙂

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

                          Super merci, le fork est fait depuis ce we (BlessedHellRider sur GitHub, c'est moi) ^^ aujourd'hui j'ai été dans un jus total, j'ai à peine eu le temps de cloner le dépôt en local... Demain je "mets à jour" mon dépôt en local avec les nouveaux packages et je push ça ^^

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

                            Salut, voilà j'ai pu commiter mes fichiers ^^ https://github.com/BlessedHellRider/recalbox-buildroot/commits/recalbox-rpi2   sinon j'ai découvert ce matin que quand je fais make menuconfig, Zelda n'est plus sélectionnable.. je suppose que c'est normal car j'ai ajouté des dépendances mais je trouve ça bizarre car je pensais toutes les avoir bien déclarées.. sinon j'ai toujours le même message d'erreur quand je fais un make zeldasolarusdx:

                            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)

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

                              Il manque ton package zelda dans ton repo 😜

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

                                mince j'ai oublié de faire les add avant de comiter... je suis vraiment vraiment désolé , je repousse ça demain matin..

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

                                  salut, normalement c'est bon les fichiers ont été ajoutés 😉

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

                                    j'ai tenté une autre compilation de openal à partir ce source là: http://kcat.strangesoft.net/openal-releases/openal-soft-1.16.0.tar.bz2 et là j'ai un message d'erreur que je n'avais pas avec la 1.15 :

                                    libopenal.so.1.16.0: référence indéfinie vers « Mix_Neon »

                                    Mix_Neon étant un truc de PulseAudio visiblement..: https://github.com/lynxis/pulseaudio/blob/master/src/pulsecore/mix_neon.c mais j'ai beau avoir mis "depends on BR2_PACKAGE_PULSEAUDIO" dans le Config.in de openal, j'ai le même message d'erreur.

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

                                      Bonjour @Hellrider, retroboy a apparemment travaillé sur ton github hier 😄

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

                                        Salut, Un grand merci à toi retroboy pour le merge request ^^ Par contre j'avoue que je n'ai pas tout compris à ce que tu as fait. Sans vouloir abuser de ton temps, est ce que tu pourrais m'expliquer à quoi correspond concrètement l'option : OPENAL_INSTALL_STAGING = YES (je suppose que ça "force " le compilateur à assembler tout les fichiers de compilation dans un seul et même répertoire autre que celui des sources, et que ce répertoire est accessible pour tout les packages (dans ce cas pourquoi ne pas mettre cette option tout le temps?).. et j'ai cherché sur le web ce qu'est le stage directory, mais bien que cela semble une notion élémentaire, je ne trouve rien de précis à part cette définition : "The data staging area sits between the data source(s) and the data target(s)") Pourquoi le selected simplifie l'installation par rapport à depends on ? enfin , c'est là que je vois mes lacunes en script shell,car même si je comprends que ce que tu as rajouté dans le zeldasolarusdx.mk sert à copier les fichiers dans les bon répertoires, je n'en saisi pas tout les détails syntaxique et je ne comprends pas pourquoi on ne copie pas les headers? (de la même façon que je ne saisi pas le **define ZELDASOLARUSDX_RPI_FIXUP.in ** même si je l'ai "recopié" en m'inspirant d'un autre package ) Par contre tu as remplacé Lua_5_1 par LuaJit, et la compilation de celui-ci pose problème : erreur_compile_luajit Edit: @Acris oui, j'ai vu ^^ j'étais en train de rédiger ce post 😉

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

                                          Héhé, tu as bien résumé les questions que je me posai aussi lol.

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

                                            Coucou, Petit extrait de la notice de buildroot

                                            Buildroot output is stored in a single directory, output/. This directory contains several subdirectories:
                                            
                                            images/ where all the images (kernel image, bootloader and root filesystem images) are stored. These are the files you need to put on your target system.
                                            build/ where all the components are built (this includes tools needed by Buildroot on the host and packages compiled for the target). This directory contains one subdirectory for each of these components.
                                            staging/ which contains a hierarchy similar to a root filesystem hierarchy. This directory contains the headers and libraries of the cross-compilation toolchain and all the userspace packages selected for the target. However, this directory is not intended to be the root filesystem for the target: it contains a lot of development files, unstripped binaries and libraries that make it far too big for an embedded system. These development files are used to compile libraries and applications for the target that depend on other libraries.
                                            target/ which contains almost the complete root filesystem for the target: everything needed is present except the device files in /dev/ (Buildroot can’t create them because Buildroot doesn’t run as root and doesn’t want to run as root). Also, it doesn’t have the correct permissions (e.g. setuid for the busybox binary). Therefore, this directory should not be used on your target. Instead, you should use one of the images built in the images/ directory. If you need an extracted image of the root filesystem for booting over NFS, then use the tarball image generated in images/ and extract it as root. Compared to staging/, target/ contains only the files and libraries needed to run the selected target applications: the development files (headers, etc.) are not present, the binaries are stripped.
                                            host/ contains the installation of tools compiled for the host that are needed for the proper execution of Buildroot, including the cross-compilation toolchain.
                                            

                                            Donc ce qu'il faut retenir : - build contient les sources + les builds. Donc la même chose que si vous téléchargiez des sources et que vous faisiez le make a la main. Les fichiers sont juste placés dans dés répertoires correspondants au nom du package. - target contient l'arboréscence des fichiers qui seront copié sur le système. Donc on vire tout ce qui n'est pas nécessaire, comme par exemple les headers, la documentation... - et celui qui nous intéresse la, c'est staging, qui contient tout ce qui va être nécessaire aux autres packages pour compiler, dans une arborescence système. Donc par exemple, une lib (un .so) sera installé avec les hearders dans staging, pour permettre la compilation des dépendances, et le .so seulement sera copié dans target (pas besoin de compiler sur la recalbox)

                                            Pourquoi le selected simplifie l’installation par rapport à depends on ?

                                            Le selected permet de selectionner automatiquement le package cible (openal dans ce cas par exemple) lors de la selection du package a installer (zelda). Si tu laisse depends, il sera impossible de selectionner zelda tant que tu ne sera pas allé séléctionné a la main openal.

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

                                            Want to support us ?

                                            84
                                            Online

                                            99.7k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com