moi1392 a écrit 740 commentaires

  • [^] # Re: solutions ...mais

    Posté par  . En réponse au message [Résolu] Compiler wesnoth-1.2. Évalué à 4.

    au passage, il manque aussi un #include dans src/campaign_server/campaign_server.cpp et un #include "../unit_map.hpp" dans src/editor/editor_main.cpp (à ajouter au premier patch, j'avais pas activé les tools à la compilation du coup je ne l'avais pas vu)

    Une fois ces problèmes fixés, je tombe sur un souci d'api avec la libpng de ma machine, et pas trop le temps de creuser là… tu peux toujours compiler une vieille libpng comme tu as fait pour freetype2, mais à mon avis c'est simplement fixable avec une libpng plus récente (mais est-ce que c'est ce que tu veux faire ?)

  • [^] # Re: solutions ...mais

    Posté par  . En réponse au message [Résolu] Compiler wesnoth-1.2. Évalué à 3.

    #inclide <algorithm>
    

    au début du fichier src/server/game.cpp (avec les autres #includes, mets le en dernier)
    Sérieux quel message d'erreur à la con, j'ai buggué 10 minutes avant de comprendre…

    Si tu veux compiler toi-même,

    je résiste encore et toujours à l'envahisseur freetype2 des années 2000, tu ne m'auras pas si facilement :p

  • [^] # Re: solutions ...mais

    Posté par  . En réponse au message [Résolu] Compiler wesnoth-1.2. Évalué à 4.

    Finalement je te mets le patch ici, ne me crédite pas tu peux mettre ton nom ça me va, (il est en licence "BCET" : Balec Complet Et Total)
    c'est un patch git sur le tag 1.2.8
    Si tu as d'autres soucis de compilation après ça, je compilerai freetype2 pour alle rau bout du build et les fixer aussi. Quand j'aurais la motiv…

    From fecd2c59ddf91d47901a90ecc7d81d353374cef8 Mon Sep 17 00:00:00 2001
    From: plop <plop>
    Date: Tue, 1 Nov 2022 19:04:04 +0100
    Subject: [PATCH] Fix unit/unit_map include circular dependency
    
    ---
     src/actions.hpp        |  1 +
     src/ai_dfool.hpp       |  1 +
     src/config_adapter.cpp |  1 +
     src/game_events.hpp    |  1 +
     src/pathfind.cpp       |  1 +
     src/preferences.cpp    |  1 +
     src/unit.hpp           | 13 ++-----------
     src/unit_abilities.cpp |  1 +
     src/unit_map.hpp       | 11 +++++++++++
     src/upload_log.cpp     |  1 +
     10 files changed, 21 insertions(+), 11 deletions(-)
    
    diff --git a/src/actions.hpp b/src/actions.hpp
    index 0191f8b05f6..0a9a287a3ef 100644
    --- a/src/actions.hpp
    +++ b/src/actions.hpp
    @@ -23,6 +23,7 @@ struct combatant;
    
     #include "map.hpp"
     #include "unit.hpp"
    +#include "unit_map.hpp"
    
     #include <deque>
    
    diff --git a/src/ai_dfool.hpp b/src/ai_dfool.hpp
    index ec043c470ca..d0f407669b3 100644
    --- a/src/ai_dfool.hpp
    +++ b/src/ai_dfool.hpp
    @@ -5,6 +5,7 @@
    
     #include "ai_interface.hpp"
     #include "map.hpp"
    +#include "unit_map.hpp"
     #include <vector>
     #include <map>
     #include <string>
    diff --git a/src/config_adapter.cpp b/src/config_adapter.cpp
    index 9fd56aef144..2726804948b 100644
    --- a/src/config_adapter.cpp
    +++ b/src/config_adapter.cpp
    @@ -12,6 +12,7 @@
     */
    
     #include "global.hpp"
    +#include "unit_map.hpp"
    
     #include <sstream>
     #include "config_adapter.hpp"
    diff --git a/src/game_events.hpp b/src/game_events.hpp
    index 4e0280d57a4..dd2b8cc38cb 100644
    --- a/src/game_events.hpp
    +++ b/src/game_events.hpp
    @@ -21,6 +21,7 @@ class display;
     #include "map.hpp"
     #include "team.hpp"
     #include "unit.hpp"
    +#include "unit_map.hpp"
     #include "variable.hpp"
    
     #include <vector>
    diff --git a/src/pathfind.cpp b/src/pathfind.cpp
    index 6a61b4b5483..4f2c841ccbf 100644
    --- a/src/pathfind.cpp
    +++ b/src/pathfind.cpp
    @@ -19,6 +19,7 @@ See the COPYING file for more details.
     #include "log.hpp"
     #include "pathfind.hpp"
     #include "util.hpp"
    +#include "unit_map.hpp"
     #include "wassert.hpp"
    
     class gamestatus;
    diff --git a/src/preferences.cpp b/src/preferences.cpp
    index c71ffeffc32..e3f8d8515ed 100644
    --- a/src/preferences.cpp
    +++ b/src/preferences.cpp
    @@ -24,6 +24,7 @@
     #include "preferences.hpp"
     #include "sound.hpp"
     #include "util.hpp"
    +#include "unit_map.hpp"
     #include "video.hpp" // non_interactive()
     #include "wassert.hpp"
     #include "wesconfig.h"
    diff --git a/src/unit.hpp b/src/unit.hpp
    index c23006d32d0..dbc31cf7fe7 100644
    --- a/src/unit.hpp
    +++ b/src/unit.hpp
    @@ -19,9 +19,9 @@
     #include "team.hpp"
     #include "unit_types.hpp"
     #include "image.hpp"
    -#include "unit_map.hpp"
    
     class unit;
    +class unit_map;
     class display;
     class gamestatus;
    
    @@ -396,16 +396,7 @@ void sort_units(std::vector< unit > &);
    
     int team_units(const unit_map& units, unsigned int team_num);
     int team_upkeep(const unit_map& units, unsigned int team_num);
    -unit_map::const_iterator team_leader(unsigned int side, const unit_map& units);
    -std::string team_name(int side, const unit_map& units);
    -unit_map::iterator find_visible_unit(unit_map& units,
    -       const gamemap::location loc,
    -       const gamemap& map,
    -       const std::vector<team>& teams, const team& current_team);
    -unit_map::const_iterator find_visible_unit(const unit_map& units,
    -       const gamemap::location loc,
    -       const gamemap& map,
    -       const std::vector<team>& teams, const team& current_team);
    +
    
     struct team_data
     {
    diff --git a/src/unit_abilities.cpp b/src/unit_abilities.cpp
    index 4fa0f6a12ef..8bd4460a056 100644
    --- a/src/unit_abilities.cpp
    +++ b/src/unit_abilities.cpp
    @@ -12,6 +12,7 @@
     */
    
     #include "unit.hpp"
    +#include "unit_map.hpp"
     #include "unit_abilities.hpp"
    
     #include "wassert.hpp"
    diff --git a/src/unit_map.hpp b/src/unit_map.hpp
    index e71203af275..555271fd0f0 100644
    --- a/src/unit_map.hpp
    +++ b/src/unit_map.hpp
    @@ -149,4 +149,15 @@ private:
        std::map<gamemap::location,std::pair<gamemap::location,unit>*> map_;
     };
    
    +unit_map::const_iterator team_leader(unsigned int side, const unit_map& units);
    +std::string team_name(int side, const unit_map& units);
    +unit_map::iterator find_visible_unit(unit_map& units,
    +       const gamemap::location loc,
    +       const gamemap& map,
    +       const std::vector<team>& teams, const team& current_team);
    +unit_map::const_iterator find_visible_unit(const unit_map& units,
    +       const gamemap::location loc,
    +       const gamemap& map,
    +       const std::vector<team>& teams, const team& current_team);
    +
     #endif // UNIT_MAP_H_INCLUDED
    diff --git a/src/upload_log.cpp b/src/upload_log.cpp
    index 0718249e9e9..bcf38fcc0d2 100644
    --- a/src/upload_log.cpp
    +++ b/src/upload_log.cpp
    @@ -23,6 +23,7 @@
     #include "upload_log.hpp"
     #include "wesconfig.h"
     #include "wml_separators.hpp"
    +#include "unit_map.hpp"
    
     #include "SDL_net.h"
    
    -- 
    2.37.2
    
  • [^] # Re: solutions ...mais

    Posté par  . En réponse au message [Résolu] Compiler wesnoth-1.2. Évalué à 4.

    j'ai réussi à m'emmerder plus de 10 minutes, du coup j'ai fait compiler, au moins une partie, je me suis arreté au soucis de compatibilité avec freetype2 car un peu la flemme de le compiler (et pas plus de 10 minutes à investir)
    où est ce que je peux te poster un patch sans avoir à créer de compte ?

  • [^] # Re: solutions ...mais

    Posté par  . En réponse au message [Résolu] Compiler wesnoth-1.2. Évalué à 4. Dernière modification le 31 octobre 2022 à 20:34.

    ok, je suis allé voir le code comme un grand, et il y a une dependance circulaire, je me demande comment ce code a pu compiler un jour…

    Si demain j'ai la motiv je me lance dans la correction et je le fais compiler. Bien noter le gros SI au début de la phrase…

  • [^] # Re: solutions ...mais

    Posté par  . En réponse au message [Résolu] Compiler wesnoth-1.2. Évalué à 4.

    en effet, c'est le type "unit" qui n'est pas défini, j'ai lu un peu vite désolé.
    Du coup il faut les sources pour résoudre ça, tu trouves dans quel fichier "unit" est défini, cherche un truc du genre :

    class unit {
    ou

    struct unit {
    et tu inclues le fichier correspondant à la place de utility.
    J'avais prévenu que ça n'étais pas une bonne idée de se lancer dedans si tu n'as pas l'habitude de faire du c++

  • # solutions ...mais

    Posté par  . En réponse au message [Résolu] Compiler wesnoth-1.2. Évalué à 5.

    pour la première erreur

    const type get_type() const { return val_.type_; };
    

    tu vires le "const" de gauche (le premier mot de la ligne) qui ne sert à rien.

    pour la seconde, tu ajoutes un

    #include <utility>
    

    en tête du fichier unit_map.hpp, en fin des autres "#include"

    ça va résoudre les 2 soucis de compilation que j'ai vu postés par ton pseudo sur le forum (tu aurais pu les mettre ici au passage)
    Par contre tu risques d'en avoir plein d'autres. Le C++ évolue, mais pas seulement, les compilateurs aussi, et deviennent de plus en plus strictes avec les versions, ce qui fait que du code qui compilait avec un ancien compilateur se retrouve souvent avec des tas d'erreurs de compilation "triviales" (pour un habitué) mais parfois un peu plus complexes avec un compilateur récent.

    Cela étant dit, je ne pense pas que ce soit une bonne idée de te lancer la dedans si tu n'es pas un développeur c++ et que tu ne comptes pas soumettre un patch. Et même dans ce cas, si la version 1.2 n'est plus maintenue, ton patch risque simplement de ne pas être accepté.

  • [^] # Re: piste pour deboguer

    Posté par  . En réponse au message Souci fonctionnement dpkg avec debian sur vieil android. Évalué à 3.

    Pas d'idée à priori, mais si ça passe à tous les coups avec un strace, il y a des chances que ça soit lié à une race condition.
    Genre le filesystem qui met du temps à valider un nouveau fichier (je ne vois pas pourquoi mais bon…) et qui du coup, en passant par le strace, tu es sur que l'opération et finie et que ton fichier est bien présent.
    ça peut être nimporte quelle race condition du genre, en général c'est une notif qu'un boulot fait pas un autre process est fini (process se termine, pipe se ferme, …), mais quand tu vas chercher le résultat trop vite derrière, il n'est pas encore là.

    Je ne sais pas trop comment débuguer ce genre de chose à la ligne de commande, je tenterais vraiment des trucs au cas par cas.

    Une dernière idée si tu veux tenter d'autres trucs, c'est de :
    1) tenter de compiler une version debug de dpkg-deb et voir si tu as toujorus le crash
    2) remplacer le lancement de dpkg-deb par un appel à "gdb --batch --args dpkg-deb $#" et n'oublie pas de placer un .gdbinit quelque part avec la commande run

    quand le sous process va planter (s'il plante) tu auras le prompt gdb et tu pourras tenter de voir ce qu'il se passe.

    C'est une solution qui demande un peu d'expérience, et qui a de fortes chance de ne pas marcher cas ça ne plantera pas depuis gdb.
    Si c'est le cas et que la version debug crash quand même, tu peux tenter la solution (plus compliquée, et sur android je ne saurais pas comment faire perso) d'installer un crash handler qui va attacher à gdb le process qui plante une fois le crash survenu.

    Voila, c'est vraiment si t'as envie de t'amuser tout ça….

  • [^] # Re: firmware

    Posté par  . En réponse au message Mint et AMD Radeon Vega 8: performances 3D. Évalué à 3.

    Est ce qu'il y a un risque à remplacer ceux de Mint par ceux de Fedora, qui sont peut être plus récents ? Je ne crois pas qu'ils soient spécifiques à la distribution ou au driver utilisé.

    Pour le driver, c'est pas sûr que la version firmware ne soit pas importante, tu peux tenter mais garde les tiens en réserve au cas où, même si je pense que ça ne changera rien.

    Ce que tu peux tenter ensuite, c'est de voir si le pilote kernel (amdgpu chez moi) à bien chargé le firmware.
    Tu filtres dans le log kernel (dmesg, par exemple) les lignes qui contiennent amdgpu et firmware, et tu peux comparer le résultat de ta distribution avec celui de la fedora qui marche

    En dernier recours tu peux essayer de voir ce que glxinfo te dit, s'il ne te manque pas des bouts de mesa, que ça soit la partie pilote X ou glx.

    Si ça ne t'aide pas, je sèche un peu là.

  • # firmware

    Posté par  . En réponse au message Mint et AMD Radeon Vega 8: performances 3D. Évalué à 2.

    Pour la puce radeon vega 7 integrée également à un chip rizen, il faut un firware amd pour avoir l'accéleration 3D
    Sous debian c'est dans le paquet firmware-amd-graphics
    les firmwares installées se retrouvent dans /lib/firmware/amdgpu/xxx.bin

  • [^] # Re: Attention publicité (mais pour un projet libre alors bon)

    Posté par  . En réponse au sondage Quel port ouvert pour le SSH ?. Évalué à 5.

    j'ai aussi une balcklist que je récupère de temps en temps du log fail2ban et que j'ajoute dans mes regles de parefeu.
    je garde la liste complete des ip dans une coin, et j'ai un petit bout de code qui les lis et fusionne dans une ip de classe supérieure à partir d'un certain nombre de classe inférieur (configurable, j'utilise 5, quand j'ai 5 ips dans la même classe qui me foutent la merde, je banni toute la classe sans pitié)
    ça réduit la taille de la blacklist.

  • [^] # Re: fail2ban

    Posté par  . En réponse au sondage Quel port ouvert pour le SSH ?. Évalué à 3.

    Pareil, et au bout de 2 erreurs je banni 3 jours (d'ailleurs je devrais bannir à vie…)
    en cas d'erreur de ma part, j'attends de rentrer me reconnecter en direct pour unban

  • [^] # Re: compilation

    Posté par  . En réponse au message QXmlEdit (ou équivalent) proprement sous Debian ?. Évalué à 3.

    Ça s’installe dans /opt/qxmledit et pour l’instant je n’observe pas d’intégration (menu ou PATH). Peut-être au prochain redémarrage… Donc en attendant, je dois faire

    tu peux aussi mettre ça dans un petit script tout fait, et créer un fichier .desktop qui référence ton script et que tu intègres à ton menu ;)
    (sous KDE, click droit -> éditer les applications, il y a certainement des équivalents sur les autres environements de bureau)

    checkinstall, je connais pas. À l‘occasion je regarderai…

    ça fait un "make install" dans un fakeroot et construit un .deb avec le résultat.
    ça te permet de facilement l'installer et désinstaller de ton système sans laisser trainer des fichiers et en évitant les conflits avec d'autres paquets s'il y en a.
    Dans le temps il fallait être root pour le lancer, ce que je trouve dommage. Je ne sais pas si ce point s'est amélioré depuis.

    Quand ça fonctionne, c’est cool. Mais il suffit de quelque galères pour être ensuite découragé à l’avance.

    Oui, quand ça merde et qu'on n'a pas l'habitude de compiler, c'est vite décourageant…

    Je suis allée voir le répo, et il y a un script compile.sh qui fait ce qui va bien, tu aurais pu directement le lancer ou t'en inspirer.
    Il ne faut pas hésiter à lire les README et autres INSTALL avant de se lancer dans la compilation, souvent quand il y a un ou deux trucs pas habituels, ils sont explicités dedans ;)

  • # compilation

    Posté par  . En réponse au message QXmlEdit (ou équivalent) proprement sous Debian ?. Évalué à 6.

    Si tu sais faire, tu peux simplement te le compiler toi même.
    Je fais ça très souvent quand un logiciel opensource n'est pas dispo dans les dépot et je n'ai eu que rarement des soucis que j'ai toujours su résoudre, mais il faut un peu d'expérience en compilation.
    Ensuite soit tu le lances depuis le dossier de compilation, soit tu utilises "checkinstall" qui te crée un deb (ça fait hyper longtemps que je ne l'ai pas utilisé celui là tiens…)

  • [^] # Re: piste pour deboguer

    Posté par  . En réponse au message Souci fonctionnement dpkg avec debian sur vieil android. Évalué à 3.

    Attention, si c'est un fichier temporaire, il se peut qu'il soit supprimé par dpkg quand dpkg-split échoue.
    Pour être sur qu'il est bien manquant, fait le test depuis ton script dpkg-split que tu as mis en place pour creuser le problème.

  • # piste pour deboguer

    Posté par  . En réponse au message Souci fonctionnement dpkg avec debian sur vieil android. Évalué à 4.

    Apparement les arguments de l'appel à dpkg-split sont faux.

    Une première chose à faire, est de trouver quelle différence il y a entre ton system fonctionnel (sous ta VM) et celui installé.

    Tu peux tenter, par exemple, de remplacer dpkg-split dans /usr/bin par un script qui affiche ses arguments sur la sortie standard et transmet (ou pas) l'appel ensuite au vrai dpkg-split.
    Si tu vois une différence entre les deux systèmes, c'est probablement en amont qu'il faut chercher. S'il n'y en a pas, essaye de voir (dans ton script intermédiare, ils sont certainement effacé ensuite) si les fichiers mentionnées existent. Il y a peut être un soucis de droits d'écriture ou d'espace disque.

  • [^] # Re: Ballon d'eau chaude

    Posté par  . En réponse au journal économie d'electricité. Évalué à 3. Dernière modification le 04 septembre 2022 à 21:54.

    Cette remarque est applicable à tout les appareils électriques. Il ne sert à rien de débrancher les appareils pendant la nuit si tu laisses un radiateur électrique branché.

    Je me demande si c'est vrai pour les chauffages type pompe à chaleur. Il me semble que leur efficacité energétique est bien meilleur que tout ce quis e base sur l'effet joule, non ?

  • [^] # Re: Manque d'informations

    Posté par  . En réponse au message demande d aide plantage apres la mise a niveau. Évalué à 2.

    Pour faire une clés usb pour une nouvelle installation, tu as plein de tutos sur le web ou même la doc officielle qui t'aide à la faire depuis un windows ou un linux.
    créer une clé USB d'installation pour ubuntu

  • [^] # Re: Manque d'informations

    Posté par  . En réponse au message demande d aide plantage apres la mise a niveau. Évalué à 2.

    C'est un peu maigre un "Oups" comme info.
    Il me semble (de mémoire, je n'en utilise pas personnellement) que sur les clés USB d'ubuntu il y a une option de réparation d'installation, mais je ne sais pas si elle sera suffisante.

    Est-ce que tu peux essayer d'ouvrir un terminal et de tenter la commande "sudo apt -f install" SANS VALIDER (répond "non", ou juste "n" quand il te pose la question pour continuer ou pas) en prenant une photo ou une capture d'écran, si cela marche toujours, de ce qu'il te propose de faire et tu nous la poste ici ?
    si juste "apt" ne parche pas (il te dit qu'il ne connait pas la commande apt), essayer avec "apt-get" à la place

    Sinon, si tu veux réinstaller, après avoir sauvegardé tes données, tu n'es pas obligé de re-partitionner le disque, dans les options avancées de l'installeur, il va te proposer de réutiliser les partitions existantes.
    Vérifie bien avant de valider qu'il a choisi les bonnes et qu'il ne reformate pas celle(s) où tu as des données que tu souhaites conserver (tu dois avoir un gros bouton "valider les changements sur les partitions" un fois la sélection faite, c'es tlà qu'il faut faire attention avant de clicker)

    Pour ce qui est du clavier, j'utilise plutôt kde, du coup je ne sais pas trop où cela se trouve dans gnome (à priori tu es sous l'environement gnome, n'est ce pas ?)
    si tu es dans un terminal, tu peux le changer pour ce terminal seulement avec la commande "loadkeys fr"

  • # expérience perso

    Posté par  . En réponse au lien MongoDB 5.0 et virtualisation ne font pas bon ménage. Évalué à 2.

    J'ai récement tenter d'utiliser un docker mongodb 5 sur une toute petite machine fanless avec un processeur bas de gamme (intel Jxxx), et j'ai eu la mauvaise surprise de découvrir que mongo était compilé avec des instructions AVX avancées non disponibles sur le processeur en question.
    Je me suis juste rabattu sur une version 4 et c'est passé.

    Je trouve ça un peu dommage, j'ai fait une recherche rapide pour voir s'il n'y avait pas plusieurs images docker mongo5 compilée avec différents sets d'instructions, mais je n'ai rien trouvé de probant.

  • # Manque d'informations

    Posté par  . En réponse au message demande d aide plantage apres la mise a niveau. Évalué à 3.

    Bonjour,
    il manque beaucoup d'informations pour pouvoir t'aider.
    Quelle distribution linux utilises tu ? Comment as-tu fais ta mise à jour ? Qu'est ce qui ne marche plus ? as-tu des messages d'erreur ?

    à priori il n'y a pas de raisons pour que ton PC ne supporte pas une version plus récente d'une distribution linux grand publique.

  • [^] # Re: On y est !

    Posté par  . En réponse au lien Aux USA, facebook transmet à la justice les messages d'une ado poursuivie pour IVG. Évalué à 5.

    Au passage, il est également dispo sous f-droid pour les gens chelous comme moi qui n'ont pas d'accès aux app store usuels présents sur smartphone.

  • [^] # Re: Activé?

    Posté par  . En réponse au message AOSP, lineage/andro, sans opengapps : géoloc' impossible?. Évalué à 2. Dernière modification le 10 août 2022 à 16:14.

    Je plussoie, j'ai oublié de préciser dans mon message que j'utilise exclusivement des applications fdroid.

  • # OpenStreetMap

    Posté par  . En réponse au message AOSP, lineage/andro, sans opengapps : géoloc' impossible?. Évalué à 5.

    OpenStreetMap fonctionne sans problème sur lineageos "de base", donc à priori l'accès GPS ne pose pas de soucis.
    je fais aussi fonctionner plusieurs applis de mesure de performances sportives (vitesse, trajet, stats de marche/course/vélo)
    Tu peux tenter OSM, s'il ne marche pas, c'est que tu as un autre souci avec le GPS de ton tel, peut être un bug driver de lineage pour le coup, et là aucune lib ne t'aidera je pense.

  • # Problème de recrutement ?

    Posté par  . En réponse au lien Comment Strava permettait de remonter la piste d’agents des renseignements français et étrangers. Évalué à 2.

    En même temps si je recrute un expert python qui au final se retrouve être un joueur de flute pour serpent, même très compétent, c'est pas à lui qu'il faut jeter la pierre (le joueur comme le serpent), mais plutôt au recruteur ?
    Je ne suis ni agent secret, ni expert du renseignement, ni cambrioleur (mais j'ai lu prèsque tous les Maurice Leblanc étant ado, ça a peut-être joué ?), pourtant ce genre d'app (qui signale la connexion ou piste la localisation) ou de posts sur les réseaux sociaux (kikoulol, je suis en vacances jusqu'au 18 à 748km de chez moi c'est trobien !) m'a toujours fait penser à cela quasiment en premier : pourquoi donner tant d'informations sur soi au possibles personnes mal intentionées ?
    En prenant par définition bien sûr que LA SEULE personne ou entité non potentiellement mal intentionnée envers moi est moi même. Et cela devrait être encore plus vrai quand on travaille dans un domaine sensible.