Aller au contenu

Compilation Sur Le Syno


ikeke

Messages recommandés

Bonjour,

Je souhaiterais installer les outils de compilation sur mon DS106, j'ai vu qu'il y a un package nommé optware-devel mais visiblement il manque la dépendance crosstools.

Quelqu'un a t'il reussi à installé l'environnement de compilation directement sur le syno ? si oui je suis preneur de votre aide.

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je souhaiterais installer les outils de compilation sur mon DS106, j'ai vu qu'il y a un package nommé optware-devel mais visiblement il manque la dépendance crosstools.

Quelqu'un a t'il reussi à installé l'environnement de compilation directement sur le syno ? si oui je suis preneur de votre aide.

Merci d'avance

Bonjour,

Attention que faire de la host compilation n'est pas recommandée sur un syno, il risque de falloir plusieures heures pour compiler un soft.

La meilleure solution est la cross compilation.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Attention que faire de la host compilation n'est pas recommandée sur un syno, il risque de falloir plusieures heures pour compiler un soft.

La meilleure solution est la cross compilation.

oui je sais bien mais j'utiliserais le syno uniquement pour compiler des très petits modules, des librairies legeres etc... merci de ton conseil en tout cas rodo ;)

Lien vers le commentaire
Partager sur d’autres sites

2. puis installer optware dans la debian. Ce qui va permettre de créer des paquets ipkg.

C'est ce que j'ai fait en l'installant sur une Ubuntu (debian-like) mais sur un pc et c'est là que j'ai vu que j'étais limité aux packages créés par NSLU2 :(

Ca changerait quelque chose en l'installant sur le syno ? le probleme c'est que je n'ai pas envi de perdre l'OS Synology

Lien vers le commentaire
Partager sur d’autres sites

Le premier lien explique comment installer debian dans un chroot. L'intérêt est justement qu'il ne remplace pas le système par défaut.

chroot permet de faire croire que la racine est /quelque/part au lieu de /.

Il est généralement utilisé soit pour isoler un programme sensible soit pour installer un autre système.

petite explication en anglais

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

j'ai testé et cela fonctionne très bien ! avec cela on peut ensuite compiler ce que l'on veut sur le syno sans risquer de "casser" le système d'origine. Très pratique lorsque des librairies ou executables ne sont pas disponibles sous forme de packages pré-compilés.

la 1ere étape est de faire cela : http://www.nslu2-linux.org/wiki/DS101/Debian

j'ai testé sur un CS406, et ca marche très bien. Il faut donc avoir un PC sous Linux pour se fabriquer le package debian qui sera ensuite copié sur le syno. Perso, j'ai installé une distrib ubuntu sous vmware workstation. Pour le vmware, il suffit de télécharger une version d'évaluation 30 jours sur le site de l'éditeur : c'est largement suffisant vu qu'il suffit de quelques minutes pour se faire le package debian. Si ca interesse quelqu'un j'ai gardé le fichier chroottarget.tar.gz donc je peux l'uploader quelque part (55Mo quand meme) ce qui évite donc d'avoir besoin d'un PC sous Linux pour faire les manip.

il suffit donc de suivre le tuto, sachant que je pense qu'il y a une erreur :

il faut remplacer : cp /etc/hostname chroottarget/etc/ par "cp /etc/hosts chroottarget/etc/

ensuite pour installer l'environnement de compilation et tester que tout fonctionne, je vous conseille le tuto suivant qui permet de compiler mldonkey : http://www.debianaddict.org/article61.html

et là aussi il y a quelques manques dans le tuto :

if faut aussi installer les packages make et g++ pour que cela puisse compiler.

ensuite il se peut que vous ayez l'erreur dpkg: syntax error: unknown group `Debian-exim' in statusoverride file lors de l'installation des packages. dans ce cas, il suffit de taper la commande : dpkg-statoverride --remove /etc/exim4/passwd.client : l'installation des packages se fera alors sans problème.

Pour info, avant de faire toutes ces manip j'avais essayé d'installer un environnement de compilation directement sur le systeme du syno, en suivant ce tuto : Precompiled_C_development_environment_running_on_the_LS.ca fonctionne, mais ca s'installe sur le systeme d'origine : les risques d'effets de bord ne sont donc pas nuls :vava:

Bref, un environnement debian "chrooté" tel que décrit ci-dessus est largement préférable : c'est plus propre et sans interaction avec le systeme d'origine du syno :db:

Lien vers le commentaire
Partager sur d’autres sites

Si ca interesse quelqu'un j'ai gardé le fichier chroottarget.tar.gz donc je peux l'uploader quelque part (55Mo quand meme)

merci pour le retour

j'aimerais bien essayer ton fichier pour installer une debian. si tu veux je t'enverrais un compte ftp sur MP, j'essayerai et le mettrai à dispo pour tous.

Lien vers le commentaire
Partager sur d’autres sites

j'ai mis le fichier ici : chroottarget.tar.gz

avec ca, vous vous installez un environnement de compilation sans rien casser au syno.

je me suis déjà compilé les toutes dernieres versions de mldonkey et mt-daapd.

normalement il suffit de suivre le tuto que j'ai indiqué au dessus.

si vous avez des questions, j'essaierai d'y répondre :)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

j'ai mis le fichier ici : chroottarget.tar.gz

avec ca, vous vous installez un environnement de compilation sans rien casser au syno.

je me suis déjà compilé les toutes dernieres versions de mldonkey et mt-daapd.

normalement il suffit de suivre le tuto que j'ai indiqué au dessus.

si vous avez des questions, j'essaierai d'y répondre :)

Bonjour,

j'étais arrivé à la même conclusion pour compiler en natif.

Par contre comment faites-vous pour 'sortir' vos programmes compilés de l'environnement chrooté ?

Souvent ils s'installent dans /usr/bin (en partant de la racine du chroot, soit par exemple /volume1/public/debian/chroottarget/usr/bin).

Faites vous une simple copie du binaire vers /opt/bin du synology ?

Comment faites vous alors pour utiliser les librairies installées dans /opt/lib ? (la compilation dans le chroot a linké vers un autre répertoire)

Cordialement,

Nonos

Lien vers le commentaire
Partager sur d’autres sites

pour la "sortie" des binaires & librairies de l'environnement debian chrooté pour les installer dans l'environnement du syno, voila ce que je fais : en debian, je fais un make install, ensuite je regarde ce qu'il a copié et ou, et je les recopie dans l'environnement du syno. quand je compile une nouvelle version de mldonkey ou mt-daapd, cela concerne 1 binaire et 4 ou 5 librairies. Donc dans ces cas là, ça reste simple et vite fait. A noter que pour les librairies, je crois qu'il y a un problème de path et que le syno ne les trouve pas dans /opt/lib donc je les copie dans /usr/lib.

Plutot que de faire tout cela à la main, il y aurait sans doute une autre maniere de faire : j'avais vu un tuto qui expliquait comment faire un package sur la debian. donc plutot que de faire un "make install", il y avait une commande du genre "make pkg" (ce n'est pas ca la commande mais je n'ai pas retrouvé le tuto) et tu te retrouves avec un fichier package. A partir de là, une fois le fichier copié sur l'environnement syno, il doit être possible de l'installer sur le syno. en tout ca cela évite de se casser la tête à comprendre ce qu'à fait le "make install". En théorie ca marche, mais je n'ai pas testé : je n'avais pas trop envie de casser mon environnement syno. je préfère controler ce que je copie. pour pouvoir les supprimer si nécessaire, ou meme simplement m'assurer que je n'écrase pas une librairie existante du syno.

Lien vers le commentaire
Partager sur d’autres sites

C'est ce que je fais aussi.

Par contre ce n'est pas satisfaisant : '/usr/lib' est en mémoire flash, alors que '/opt/lib' est sur le disque dur et en plus protégé lors d'une mise à jour du firmware.

peut-être quand utilisant la méthode utilisée en cross-compilation (cf variables d'environnement dans les paquets optware), le résultat serait plus cohérent.

Pour un programme autonome, ca marche bien, mais dès que l'on veut utiliser les librairies déjà installées par ipk, ce devient vraiment galère (mpd par exemple)

cdt,

Nonos

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Par contre ce n'est pas satisfaisant : '/usr/lib' est en mémoire flash, alors que '/opt/lib' est sur le disque dur et en plus protégé lors d'une mise à jour du firmware.

effectivement et depuis j'ai résolu le problème. contrairement à /usr/lib, lorsqu'on copie de nouvelles librairies dans /opt/lib, il faut le dire au system pour qu'il mette à jour son cache. Pour cela il faut faire un ldconfig /opt/lib. Ensuite il trouvera les librairies.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Bonjour,

je me permets de mettre un lien vers un sujet que j'ai créé sur le forum :

http://www.nas-forum.com/forum/index.php?showtopic=1510

Pour résumer, j'aurais besoin de l'aide de quelqu'un qui puisse me compiler un programme à partir des sources, avec cible un CS-406.

C'est vraiment extrêmement important, merci.

PS : excusez-moi si cela peut paraître HS mais comme il est ici sujet de compilation sur les syno, j'ai pensé que c'était le meilleur endroit.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

j'ai testé et cela fonctionne très bien ! avec cela on peut ensuite compiler ce que l'on veut sur le syno sans risquer de "casser" le système d'origine. Très pratique lorsque des librairies ou executables ne sont pas disponibles sous forme de packages pré-compilés.

la 1ere étape est de faire cela : http://www.nslu2-linux.org/wiki/DS101/Debian

Boujour,

J'ai un DS107e depuis peu et je ne connais pas grand chose (pour ne pas dire rien) à linux. Pour éviter de faire n'importe quoi sur mon syno et me familiariser à linux j'ai voulu suivre cette procédure pour installer une debian. Malheureusement je bloque ici :

chroot-ds# mount -t proc proc /proc

Avec l'erreur suivante :

root@DiskStation:/# mount -t proc proc /proc

mount: only root can do that

Pourtant je suis connecté en root !?!

Il y a certainement quelque chose qui m'échappe, si quelqu'un peut m'éclairer...

Merci.

P.S. mon objectif à moyen terme est de faire tourner un freeplayer/vlc sur mon syno mais je n'en suis pas encore là...

Lien vers le commentaire
Partager sur d’autres sites

tu n'as pas dû suivre à la lettre le tuto car ça devrait fonctionner. mais c'est vrai que ce n'est pas toujours évident quand on débute sur Linux. :)

je te conseille d'effacer le contenu de ton répertoire debian sur ton syno, de repartir du fichier chroottarget.tar.gz que j'avais mis en zone de téléchargement, et de retaper les quelques commandes indiquées dans le tuto. Aucune commande ne doit te remonter d'erreur.

si ton but est d'installer VLC, je pense que tu ne commences pas par le plus simple pour te familiariser avec la compilation sous Linux. Tu peux te faire la main avec des applications plus simples. Tu peux tout de même faire une recherche sur le forum : Il y a pas mal de discussions sur le sujet de la compilation de VLC sur le syno.

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ta réponse.

Effectivement j'avais du faire une mauvaise manipulation, j'ai effacé et tout recommencé et je vais beaucoup plus loin :)

J'ai eu un petit problème pour l'utilisation de apt-det (chown: man.root: invalid user) que j'ai corrigé en éditant le fichier /etc/passwd pour lui ajouter la ligne suivante :

man:x:6:100:man:/var/cache/man:/bin/sh

Maintenant je me lance dans "Installation minimale du FreePlayer sous Linux" Advienne que pourra...

Lien vers le commentaire
Partager sur d’autres sites

  • 8 mois après...

Bonjour,

As-tu réussi à faire tourner un freeplayer et vlc sur ton syno ?

Je cherche depuis un moment à faire la même chose, mais je n'ai trouvé personne sur le forum qui ait réussi et qui décrive la procédure :cray:

Et comme je ne connais vraiment rien à Linux ... je n'ai pas trop envie de me lancer dans les tuto décrits ci-dessus.

Merci de ton aide.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...

et là aussi il y a quelques manques dans le tuto :

if faut aussi installer les packages make et g++ pour que cela puisse compiler.

salut, un grand merci pour ton aide !!

mais pour l'installation de ces packages comment dois je faire ?

Merci

salut, un grand merci pour ton aide !!

mais pour l'installation de ces packages comment dois je faire ?

Merci

Je pense ne pas avoir tout lu, j'ai trouvé la solution sur le lien vers amule:

Tout d’abord, il faut installer les paquetages nécessaires à la compilation de MLdonkey. Pour cela, passez en mode root puis tapez :

# apt-get install bzip2 gcc libc6-dev ocaml-nox zlib1g-dev libbz2-dev libgd2-noxpm-dev

Lien vers le commentaire
Partager sur d’autres sites

voilà ma log d'installation, comment faire pour resoudre ca ? merci

CS406> chroot chroottarget /debootstrap/debootstrap --second-stage

I: Validating Packages

I: Resolving dependencies of required packages...

I: Resolving dependencies of base packages...

I: Found additional required dependencies: libtext-iconv-perl zlib1g

I: Installing core packages...

I: Unpacking required packages...

I: Configuring required packages...

I: Installing base packages...

W: Failure while configuring base packages. This will be attempted 5 times.

W: Failure while configuring base packages. This will be attempted 5 times.

W: Failure while configuring base packages. This will be attempted 5 times.

W: Failure while configuring base packages. This will be attempted 5 times.

W: Failure while configuring base packages. This will be attempted 5 times.

Lien vers le commentaire
Partager sur d’autres sites

Un deuxieme passage et ho victoire:

CS406> chroot chroottarget /debootstrap/debootstrap --second-stage

I: Validating Packages

I: Resolving dependencies of required packages...

I: Resolving dependencies of base packages...

I: Found additional required dependencies: libtext-iconv-perl zlib1g

I: Installing core packages...

I: Unpacking required packages...

I: Configuring required packages...

I: Installing base packages...

I: Base system installed successfully.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.