Jump to content

Archived

This topic is now archived and is closed to further replies.

Gnaphron

Je suis ingenieur systeme

Recommended Posts

Autant sous Linux je voit la manip pour compiler installer un soft depuis les sources *.tar.gz (./configure, make, make install) autant sous Windows je voit pas (même si on considère un soft libre multiplateforme comme Gimp ou Firefox).

D'ailleurs ça doit être comique la résolution des dépendance de Gimp sous Windows pour le compiler :transpi:

Share this post


Link to post
Share on other sites

erreur fatale...

pourquoi le problème ne se pose pas sous windows ? pour diverses raisons.

1. sous winwin, on utilise quasi exclusivement des softs proprio (et ne me dit pas le contraire, quand tu te rappelles de l'époque bénie où tu faisais suivant,suivant,suivant,terminer, c'était vraissemblablement pas avec des softs libres...). Et dans les softs proprio, tu n'as jamais acces aux infos sur le dev. Tu ne sais même pas qu'une nouvelle version est en court de beta. Et quand bien même tu le saurais, tu n'y aurais pas acces. L'envie d'avoir la dernière version du soft xyz, elle vient du fait que dans le monde du libre, les devs te mettent en permanence l'eau à la bouche en te présentant des screen, des listes de features, etc, etc... de la version qui n'est pas encore sortie... :transpi:

2. si tu devais te taper de compiler un soft pour en avoir la dernière version sous win, tu verrais que le problème est autrement plus ardu :transpi: Sous linux, après avoir checker la liste des libs nécéssaires à la compile du soft sur le site officiel, il suffit de faire un coup de package manager "et voilà" (car les libs utilisées pour le dev des softs sont rarement des versions de devs non packagées). Je te laisse imaginer la galère sur un OS ne disposant pas de package manager... :p

3. Si tu en es arrivé à te compiler un soft, c'est que de deux chose l'une : soit c'est une version ultra récente, voire de dev, soit c'est un soft quasiment inconnu... Dans les deux cas, c'est très vraissemblablement ultra bugué et/ou plein de trous. Bref pas utilisable par un débutant. Sachant que le moins débutant qui voudra quand même prendre le risque aura depuis longtemps regarder comment faire un package pour sa distrib' (et checkinstall par exemple, c'est vraiment trèèèès simple...).

Bref dans cette histoire, il s'agit d'une question soit de patience (se dire que ok, on a vu des mega screen de kde4 avec des features de ouf, mais faudra attendre bien sagement que les gourous aient dient "bugfree" et aient ponduent un package), soit de méthodologie (ok, je vais me faire mes propres packages, mais ça demande du boulot). Sachant que la grosse différence avec windows est que sous win, la question ne se pose pas : y a pas accès aux versions de devs...

;)

1. parfois ce n'est pas forcément pouravoir "la dernière versin d'un soft" mais pour avoir "une version d'un soft" (je me souviens de n'avoir jamais pu faire tourner l'équivalent de trackmania pour cause de problème openGL qui m'a laissé dans la panade). Par ailleurs, les softs dont je me sers sous windows sont: firefox, amsn, openoffice, winamp, mplayer, photoshop, eMule, acrobat et l'explorateur de fichiers windows. Pas mal de libre tout de même. Mais pas tout, je reconnais.

2. pas faux. Mais c'est beaucoup plus rare de devoir compiler un soft sous windows (et tant mieux parce que c'est une corvée, sous linux, d'avoir à compiler un soft pour s'en servir, à moins qu'on en ai vraiment besoin pour modifier le soft ou d'avoir gentoo). Cependant, je compile eMule moi même car je modifie les sources à ma mode. Ca se fait sans souci (une fois qu'on connais le truc, tout de même).

3. Une installation de Gnome 14 avec garnome était à s'arracher les cheveux (alors que Gnome 14 n'était plus en beta). Je ne connais pas checkinstall, merci du tuyau

Je ne souhaite pas démolir linux, j'adore linux. Mais il faut parfois une certaine motivation pour parvenir à ce que l'on désire. J'espère que ça évoluera avec des fabricants qui communiqueront leur spéc pour les drivers, avec des librairies standardisées et avec une compatibilité binaires des softs entre différentes distro.

C'est peut-être pas pour demain, mais ça serait quand même bien.

:transpi:

Share this post


Link to post
Share on other sites

Est ce qu'il y a du monde intéressé par un tuto sur la compilation ?

Je ne te suis pas non plus...

A part lire INSTALL et faire ce qu'ils disent, je ne vois pas ce qui est compliqué?

Ah si... Trouver et installer la/les librairie(s) manquante(s)

Share this post


Link to post
Share on other sites

Est ce qu'il y a du monde intéressé par un tuto sur la compilation ?

Je ne te suis pas non plus...

A part lire INSTALL et faire ce qu'ils disent, je ne vois pas ce qui est compliqué?

Ah si... Trouver et installer la/les librairie(s) manquante(s)

Il y a peut-être plus de choses à en dire. Par exemple, je suis toujours un peu désarçonné quand on me parle d'un problème pkg-config avant une compilation. En outre, je ne sais pas quand je pourrais compiler en optimiser (-O2, -O3, ...). Peut-être y a-t-il aussi certaines choses à aller voir systmatiquement dans le makefile en cas de souci.

Enfin donc, s'il y a vraiment quelque chose à en dire, moi je vote +1 pour un tuto sur la compilation (mais vous avez bien compris que je ne suis pas capable de le rédiger :francais: )

Share this post


Link to post
Share on other sites

Je parlais de rédiger moi même pas de demander à quelqu'un de le faire.

Et oui il y a un peu plus que lire le INSTALL et le README a connaitre :francais:

Share this post


Link to post
Share on other sites

+1 pour le tuto sur la compilation :-)

Ne serais-ce que pour savoir ce que font les différentes étapes et l'utilité de certains fichiers (Makefile, configure ...)

Share this post


Link to post
Share on other sites

Pareil, ça peut être pas mal, comme certains détails ( -02 ou -03 au final? :transpi: ). Et surtout: pourquoi il y a souvent comme CFLAGS de base "-g -O2"? J'ai du mal à voir l'intérêt... :transpi:

Share this post


Link to post
Share on other sites

base "-g -O2"? J'ai du mal à voir l'intérêt... :transpi:

Parce que si on passe a un optimisation superieur le code produit peut etre tellement optimise qu'il ne fait pas

ce qu'on attend de lui. O2 est donc un bon compromis entre optimisation et fiabilite.

Share this post


Link to post
Share on other sites

Parce que si on passe a un optimisation superieur le code produit peut etre tellement optimise qu'il ne fait pas

ce qu'on attend de lui. O2 est donc un bon compromis entre optimisation et fiabilite.

J'ai déjà tenté de débugger avec un -03 et c'est vrai que pour suivre l'évolution depuis emacs c'était comment dire... pas évident :transpi:

Je pensais que avec -02 on avait déjà trop d'optimisations pour que le debuggeur puisse faire son taf. Faudra que je retente alors, merci :transpi:

Share this post


Link to post
Share on other sites

J'ai déjà tenté de débugger avec un -03 et c'est vrai que pour suivre l'évolution depuis emacs c'était comment dire... pas évident :transpi:

Je pensais que avec -02 on avait déjà trop d'optimisations pour que le debuggeur puisse faire son taf.

Normalement l'idee est de debugger le code sans optimisation, et meme avec du pourrissage tel que

electric fence, ou l'option -g et une fois que ca marche on optimise avec -0 en priant pour que ca casse

pas tout surtout si l'optimisation est importante et il y a des maths

Share this post


Link to post
Share on other sites

C'est bien pour ça que je ne comprennais pas l'utilisation de -g et de -O2 qui entre autre déroule les boucles et fait donc perdre au pauvre débuggeur la tête :francais:

Share this post


Link to post
Share on other sites

Je ne serait pas là ce WE et le début de semaine prochaine va être chaud. J'ai un début de plan là, mais je ne pourrais m'y mettre que en fin de semaine prochaine. :francais:

Share this post


Link to post
Share on other sites

Je ne serait pas là ce WE et le début de semaine prochaine va être chaud. J'ai un début de plan là, mais je ne pourrais m'y mettre que en fin de semaine prochaine. :francais:

T'es un amour :transpi:

Si jamais je peux aider (pour évoquer des points qui me paraissent flous, ou oubliés dans ton tuto) tu le dis :)

Share this post


Link to post
Share on other sites

Il est évident que tout le monde pourra participer et dire ce qui ne semble pas clair.

Idéalement les gens qui ont des problèmes non abordés en parlerons, on résoudra ces problèmes ensemble et j'intégrerais ça dans une sorte de faq.

Share this post


Link to post
Share on other sites

Pour les options de compilation, le mieux c'est de lire la doc de gcc, et d'aller à la limite chercher sur internet quand on ne comprend pas.

Quand on développe en général c'est un debug en "-g -O0" tout con, et une release avec plus d'optimisation (-O1, -O2, -O3, -march, -fomit-frame-pointer, etc...) comme ça si on a un comportement différent en debug et en release c'est que c'est l'optimisation qui fout la merde.

Pour l'installation des softs sous windows c'est assez simple puisque 90% du temps c'est tout compilé en static, on a un binaire avec toutes les bibliothèques dedans... L'intérêt c'est de ne pas avoir à dire à l'utilisateur de les installer. Mais le gros inconvénient c'est qu'on ne profite pas du tout des mises à jour de celles-ci (sécurité, optimisations, etc...), sans compter qu'en plus ça prend de la place si plusieurs programmes utilisent les même bibliothèques?

Sous Linux l'installation de softs avec ./configure sur une distribution source se passe en général très bien.

Pour les distributions binaires, après avoir installé gcc, make et toutes les versions "-dev" des différents paquets installés, si le ./configure a encore besoin de quelque chose, soit c'est disponible directement dans le gestionnaire de paquets, soit il faut aussi installer ces bibliothèques soi-même (sinon il y a en effet de grandes chances que ça casse...). En même temps, un logiciel peu connu/en développement qui utilise une bibliothèque du même genre (peu connue/en développement), c'est pas gagné pour faire marcher tout ça et ça me semble normal qu'un utilisateur non expérimenté dans ce domaine y arrive facilement.

J'ai vu passer tout à l'heure un post parlant de garnome, l'outil pour installer les version de développement (et stables aussi, mais ça a moins d'intérêt) de Gnome... Gnome c'est quand même quelque chose de très complexe, donc je comprend très bien que ça soit très difficile à installer soi-même.

Share this post


Link to post
Share on other sites

+1 pour le tuto de compilation par théo

Compte sur moi pour faire l'aimanàbug :up:

Oublie pas de rajouter les avertissements pour pas détruire sa distrib en deux leçons stp

Y 'a pas quelqu'un qui veut me louer un ordi de test pour vérifier le tuto ? :D

Share this post


Link to post
Share on other sites
Y 'a pas quelqu'un qui veut me louer un ordi de test pour vérifier le tuto ? :cartonrouge:

Un chroot ça suffit :francais:

Et de toute façon c'est rapide à voir...

Share this post


Link to post
Share on other sites

l'outil pour installer les version de développement (et stables aussi, mais ça a moins d'intérêt) de Gnome...

Ca a moins d'intérêt? alors c'est quoi la méthode pour avoir gnome 14 sur ma mandriva 2006? (je suis encore en gnome 10) :cartonrouge:

moi tout ce que j'avais trouvé c'était, si je me souviens bien, d'après le site de gnome:

1. t'attends qu'une distro sorte avec gnome 14 (merci, je vais pas changer de distro à chaque version de gnome)

2. tu compiles avec garnome (l'outil de compilation prévu pour)

3. tu compiles tous les paquets à la main (yeeeehaaaaa!)

Si jamais il pouvais y avoir une solution 4. Tu pompes gnome2.14.rpm et tu double clic, je suis preneur :)

Share this post


Link to post
Share on other sites

4. tu passes en cooker et tu cliques sur "installer gnoome 2.14"...

elle est bien bonne :francais:

J'y avais pensé mais on m'a conseillé d'éviter cooker sur une install de production. Mieux valait mettre cooker sur une partoche "pour rire"

Mais maintenant avec le tuto de compil de theo, je vais pouvoir compiler gnome les yeux fermés :cartonrouge::humour:

Share this post


Link to post
Share on other sites

ça reste inenvisageable pour une version de prod... parce que quand viendra la mise à jour, tu vas de galérer comme jamais :up:

honnêtement, dès qu'on parle de machine en prod, c'est gestionnaire de package only :dd:

Share this post


Link to post
Share on other sites

Ca me rapelle que je m'étais promis de ne plus jouer les réparateurs bénévoles..

Je me suis encore laissé prendre au piège, pas plus tard que jeudi dernier !

Un Windows, avec Norton... Le mouvement perpétuel de l'informatique de supermarché :ouioui:

Share this post


Link to post
Share on other sites

×
×
  • Create New...