MS_Totor Posté(e) le 12 juillet 2010 Partager Posté(e) le 12 juillet 2010 (suite) segmentation fault signifie en général que tu as chargé un module kernel avec une mauvaise allocation en mémoire (relocation dans les options kernels) le kernel est chargé dans un emplacement de mémoire bien précis sur lequel on ne peut pas tricher, donc tu dois utiliser sans doute un mauvais fichier config ou pas à jour, car c'est dans ce fichier que l'on règle via les options du configure le début et fin de la mémoire allouée au kernel, tout module chargé dans la partie réservé de la mémoire provoque un plantage sur le syno tu as du sans doute du rebooter électriquement dans le pire des cas.. chaque modèle de syno vu ces caractéristiques physiques, mémoire et carte flash embarquées possède ces propres réglages... donc à toi de bien faire comme il se doit un oldconfig puis un prepare, puis un menuconfig et tu dois si il y a des erreurs affichées à ce niveau, toutes les corriger la principale source d'ennuis vient du fait en général d'un mauvais choix du fichier config, d'une information sur la taille mémoire non renseignée... sur la machine sur laquelle tu fais ta compilation tu as un outil pour visionner le contenu binaire de ton module.. et voir le code des instructions ELF. What is ELF? ELF (Executable and Linking Format) is file formatthat defines how an object file is composed and organized. With thisinformation, your kernel and the binary loader know how to loadthe file, where to look for the code, where to look the initializeddata, which shared library that needs to be loaded and so on. la syntaxe readelf -h ton_module.ko je te conseille de récupérer sur le syno un module déjà compilé dans /lib/modules tu compile le même sur ta machine et tu les compare en ouvrant deux consoles root readelf -h module_cible_du_syno readelf -h modue_compilé_avant test dedans tu dois regarder l'allocation mémoire en hexadécimal, début et fin , c'est une petite astuce pour cibler la relocation mémoire, ou piger le comportement de la fonction MAP sur le syno pour l'approcher au mieux sur le module à compiler doit être dans la même plage, selon sa taille bien sur. exemple: si starting at offset 0x80c sur module syno et le même cross-compilé 0c0x770c il est clair que ca planteras tu es en dehors du mappage possible en mémoire. entrer plus loin dans des explications sur la compilation de module et construire un fichier config si il n'y a pas d'info, sur ces paramètres indispensables dépasse le cadre de ce topic et du forum je te laisse avec ce propos des axes de recherches si tu as le courage d'aller plus loin j'ai des soucis de surchauffe sur mon serveur ou est ma station de dev, je ne peux pas te donner d'exemple concret pour l'instant, et en attente d'un ventilateur 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
deburnes Posté(e) le 27 décembre 2010 Partager Posté(e) le 27 décembre 2010 bonjour à tous, Dans le cadre d'un petit projet perso, j'ai besoin de compiler pour mon syno préféré (un 207+) un soft qui s'appelle AtomicParsley, non dispo via ipkg bien entendu. Je me suis donc attelé à mettre en place une VM pour cross compiler tout ça. J'ai bien récupéré et installé la toolchain via sourceforge, installé comme il se faut. Pour tester le fonctionnement, j'ai compilé le petit prog "sysinfo" du pdf de synology. Jusque là, pas de soucis, ça compile sans erreur et ça fonctionne comme il se doit sur le syno. A la suite de ça, je me suis dit, corsons un peu les choses avant de nous lancer sur AtomicParsley, puisque le tuto du site indique qu'il est possible de compiler screen (même s'il est dispo via ipkg, c'est pour l'exercice...), testons...et là, ça se gate. Je récupère les sources de la version 4.0.3. Je lance : # env CC=/usr/local/arm-marvell-linux-gnu/bin/arm-marvell-linux-gnu-gcc LD=/usr/local/arm-marvell-linux-gnu/bin/arm-marvell-linux-gnu-ld RANLIB=/usr/local/arm-marvell-linux-gnu/bin/arm-marvell-linux-gnu-ranlib CFLAGS="-I/usr/local/arm-marvell-linux-gnu/include" LDFLAGS="-L/usr/local/arm-marvell-linux-gnu/lib" ./configure --host=armle-unknown-linux --target=armle-unknown-linux --build=i686-pc-linux --prefix=/usr/local tel qu'indiqué par Synology, j'obtiens invariablement "configure: error: cannot run test program while cross compiling" ./configure --host=armle-unknown-linux => ça semble se dérouler correctement, je fais donc un "make". là aussi, tout va bien, donc "make install" et copie de tous les fichiers vers le syno. Après l'avoir rendu exécutable, "./screen" et je n'obtiens que syntax error: unexpected "("; après vérification, ce screen s'exécute sur la machine de compilation. en gros, il n'y a pas de cross compilation, mais juste une compilation native J'en conclue donc que ne fais pas tout correctement, mais quoi ??? Si vous avez une piste, je suis preneur... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Madmax Posté(e) le 29 décembre 2010 Auteur Partager Posté(e) le 29 décembre 2010 Moi au lieu de modifier les variable d'environnement, j'ai carrement modifi 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
deburnes Posté(e) le 3 janvier 2011 Partager Posté(e) le 3 janvier 2011 Merci du conseil, en farfouillant un peu sur le net, j'ai trouver le moyen de by-passer les tests...et, apr 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Madmax Posté(e) le 3 janvier 2011 Auteur Partager Posté(e) le 3 janvier 2011 Bon courage 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
guenneguez_t Posté(e) le 21 janvier 2013 Partager Posté(e) le 21 janvier 2013 Bonjour, J'essaie de faire un cross compilation et j'ai l'erreur suivante : ../../hidapi/linux/hid.c:44:21: error: libudev.h: No such file or directory cc1: warnings being treated as errors ../../hidapi/linux/hid.c: In function 'utf8_to_wchar_t': Est-ce que vous savez où je peux trouver libudev.h ? Merci d'avance Thomas 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
lndiana Posté(e) le 18 juillet 2014 Partager Posté(e) le 18 juillet 2014 Tiens, bonjour Thomas, Tu as trouvé la solution pour installer libudev? J'essaye d'installer Domoticz sur un DS209, et je ne trouve libudev nulle part... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
guenneguez_t Posté(e) le 15 novembre 2015 Partager Posté(e) le 15 novembre 2015 non toujours pas, si quelqu'un a la solution ... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
gaetan.cambier Posté(e) le 17 novembre 2015 Partager Posté(e) le 17 novembre 2015 Passer par le spksrc, ça sera qd même plus simple 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
DigitalBox Posté(e) le 4 mai 2017 Partager Posté(e) le 4 mai 2017 Bonjour, Un tuto pour la cross compilation pour NAS Synology est dispo ici : https://digitalboxweb.wordpress.com/2017/04/27/cross-compilation-pour-nas-synology/ bonne lecture ;) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lelolo Posté(e) le 5 mai 2017 Partager Posté(e) le 5 mai 2017 2 messages, et à chaque fois tu renvoies vers ton site... Tu peux aussi refaire un vrai post sur le forum, et d'ailleurs éventuellement en créer un nouveau car l'actuel n'est plus lisible du fait du transfert de la Db. En plus, tu ne précises pas que ton tuto est dédié avant tout au Mac, et un peu à Ubuntu, mais rien pour windows qui représente la majeure partie des utilisateurs (je ne cherche pas à ouvrir un troll, c'est factuel). 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PiwiLAbruti Posté(e) le 5 mai 2017 Partager Posté(e) le 5 mai 2017 L'un des moyen pour solutionner le problème de l'environnement est d'utiliser une machine virtuelle. C'est ce que fait SynoCommunity avec spksrc, sans même parler des dépendances déjà prêtes à être compilées... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
DigitalBox Posté(e) le 10 mai 2017 Partager Posté(e) le 10 mai 2017 C'est noté pour les remarques. En effet je suis sous Ubuntu / Mac et pas sous windows. Piwi tu as déjà utilisé spksrc pour le portage d'un soft sur Synology? Je comptais mettre en place un auto à ce sujet. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PiwiLAbruti Posté(e) le 10 mai 2017 Partager Posté(e) le 10 mai 2017 Oui, je l'avais utilisé pour nmap avec l'aide d'autres packagers sur GitHub. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.