Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Fri 22 Aug 2014, 21:46
All times are UTC - 4
 Forum index » House Training » Users ( For the regulars ) » Pour les francophones
Que faut-il pour compiler ?
Moderators: Béèm, darkerror05
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 2 [18 Posts]   Goto page: 1, 2 Next
Author Message
augras

Joined: 11 Nov 2013
Posts: 560
Location: france

PostPosted: Sun 25 May 2014, 12:07    Post subject:  Que faut-il pour compiler ?  

Bonjour,
Je ne m'étais jamais posé la question en sujet avant de rencontrer un toutou car les rares fois où j'ai eu à le faire et bien tout était apparemment présent.
Mais ce n'est manifestement pas le cas avec un toutou, en tout cas avec raring... d'où ma question.
Si un spécialiste de la chose veut bien prendre le temps de faire un vademecum pour les apprentis, un pas à pas, ça rendrai service à quelques uns dont moi.
Merci,
Philippe
Back to top
View user's profile Send private message 
musher0


Joined: 04 Jan 2009
Posts: 4230
Location: Gatineau (Qc), Canada

PostPosted: Sun 25 May 2014, 13:17    Post subject:  

Salut, augras.

R. :
A) De l'intelligence. (Ç'a pas l'air d'être un problème !) Smile

B) Le fichier devx correspondant à ton Puppy ou Toutou. Celui du uPupRaring 3.9.9.2
est à :http://www.smokey01.com/pemasu/UpupRaring/UpupRaring3992/

C) Lire attentivement le fichier INSTALL du logiciel que tu veux compiler.

En gros, les étapes sont
0) Déballer la source (tar.bz2 ou similaire) et entrer dans le dossier ainsi créé.

1) Taper
./configure --help (pour passer en revue les paramètres généraux) et
./configure --help=short (pour étudier les paramètres propres au programme que
tu veux compiler)

En général
./configure --prefix=/usr
est suffisant. Autrement, le programme se placera par défaut dans /usr/local/bin, ce
qu'on essaye d'éviter dans Puppy.

Si c'est une mise à jour d'un programme existant déjà dans mon Puppy, j'aime bien
ajouter, pour éviter les écrasements... : (le mot est choisi exprès...)
./configure --prefix=/usr --program-suffix=-[no de version]

Après l'installation, je donne une extension distincte à l'ancien programme et je fais
un lien portant le vrai nom du programme.

Par exemple, parlant de pekwm :
./configure --prefix=/usr --program-suffix=-1.17git

Ensuite, après l'installation, je renomme mon ancien pekwm à pekwm-1.16 et je fais
un lien de pekwm-1.17git à pekwm.

2) Cela fait, taper
make (selon la taille du programme, t'as le temps d'aller faire la vaisselle ou de lire
ton journal !)

3) Quand la fabrication est terminée, taper
make DESTDIR=[un dossier nouveau où "verser" la compilation] install

Il est commode de grouper le résultat de la compilation en un même endroit, pour
pouvoir faire facilement des archives *.pet distribuables par la suite.

4) La copie étant faite (car, au fond, l'installation, sur Linux, est une opération de
copie à des endroits bien précis de la structure Linux), va dans ce nouveau dossier,
trouve les dossiers de type /usr/bin et /usr/lib et tape :
strip --strip-unneeded [nom de l'exécutable ou de la biblio *.so]

Cela enlève les notes de débogage stockées automatiquement dans l'exécutable ou la
biblio pendant la compilation. Une fois que le programme fonctionne, on n'a plus à le
déboguer, n'est-ce pas ?

Donc ces notes sont inutiles. Les "effeuiller" par la fonction strip peut faire gagner un
espace considérable. Par exemple, pekwm se compile à +/- 15 Mo. Après l'opération
de strip, il fait aux alentours de 700 Ko (selon la version).

Pour les biblios, le gain en espace est beaucoup moins important, mais on peut avoir
des surprises.

Je sais que Médor procède un peu différemment pour le "strip", mais le résultat au
final est le même. Nul doute que sa grande expérience va l'amener à mettre de la
chair sur le schéma que je viens de te proposer.

5) Je fais un pet avec le script dir2pet.

6) J'installe le pet en question.

7) Je teste.

8 ) Je m'arrache les cheveux et je recommence... ou je me crie bravo !

Voilà. C'est pas sorcier, mais il faut suivre les étapes.

D) J'allais oublier : il faut aussi beaucoup de patience et parfois de l'entêtement ! Very Happy

À+

musher0

_________________
"Logical entities must not be multiplied needlessly." / "Il ne faut pas multiplier les êtres logiques inutilement." (Ockham)

Last edited by musher0 on Sun 25 May 2014, 14:00; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website 
augras

Joined: 11 Nov 2013
Posts: 560
Location: france

PostPosted: Sun 25 May 2014, 13:47    Post subject:  

Bonsoir Musher0,

Merci pour ta longue réponse et pour le point A ! On va pouvoir tester si tu as raison !
De même pour le devx qui semble être la seule chose nécessaire... sauf que quand ce matin j'ai tenté de compiler j'ai eu un message m'indiquant qu'il ne trouvait pas gcc : pas de compilateur. J'ai installé gcc mais ça lui a fait ni chaud ni froid ! Je n'avais bien entendu pas le devx.
Je me suis donc dit qu'il fallait des pré requis au niveau des paquets installés pour pouvoir compiler.
Le devx comprend l'ensemble du paquet cadeau nécessaire ?

L'emploi du dir2pet va demander aussi une petite explication je suppose.

Mais c'est vrai que quitte à compiler autant aller jusqu'au bout et faire le .pet.

A te lire,
Philippe
Back to top
View user's profile Send private message 
musher0


Joined: 04 Jan 2009
Posts: 4230
Location: Gatineau (Qc), Canada

PostPosted: Sun 25 May 2014, 13:57    Post subject:  

Bon arpès-midi, augras ! Wink

Une petite précaution : enlève le gcc que tu as mis avant d'ajouter le devx ? Il y a déjà
un gcc dans le devx, et je crais que ça déroute notre Puppy.

Pour créer un pet, là encore, c'est tout simple :

tu te places devant le dossier (pour ainsi dire), pas dedans !

tu tapes
dir2pet gnumeriche-44.7_machin (le nom du dossier du programme)
et tu tapes < retour > à chaque invite.

Quand le panneau apparaît, tu essaies de mettre des informations "parlantes" dans
les champs du milieu, qui sont vides.

Tu tapes ok et c'est fait.

Outre la facilité de distribution, le "package manager" du Puppy enregistre les
installations de fichiers *.pet. Il est ainsi très facile de désinstaller un programme qui
ne convient pas, s'il y a lieu.

Bye !

musher0

_________________
"Logical entities must not be multiplied needlessly." / "Il ne faut pas multiplier les êtres logiques inutilement." (Ockham)
Back to top
View user's profile Send private message Visit poster's website 
augras

Joined: 11 Nov 2013
Posts: 560
Location: france

PostPosted: Sun 25 May 2014, 14:16    Post subject:  

Bon, j'ai toutes les explications : y'a plus qu'à !
Ici il est maintenant 20h donc pas trop bricoler ce soir.
Pour le gcc à désinstaller pas de soucis : je recommence un beau pupsave tout propre car j'avais un peu trop bricolé et celui que j'ai en sauvegarde ne me plait plus trop... et puis il faut garder la main : repartir à zéro avec tous les petits réglages à faire histoire de ne pas les oublier !
Je vais tester la compilation sur un truc simple et en mode ram.
Merci Musher,
Philippe
Back to top
View user's profile Send private message 
Pelo


Joined: 10 Sep 2011
Posts: 3015
Location: Mer méditerrannée (1 kms°)

PostPosted: Tue 27 May 2014, 00:10    Post subject:  Recherchons compilateurs en urgence  

Recherchons compilateurs en urgence. Les nouveaux ne seront pas de trop. Qui peut me compiler Tellico ? un homme d'expérience et à l'humeur agréable de préférence. Jejy a mis en dépôt Tellico sur e-nautia, puis sur Google drive, mais ça doit être l'archive debian. Not found !
Ce tellico est vraiment ce qu'il faut, je vous l'assure, on est tout près du but. Mais faut savoir compiler, et c'est un métier.

PJ : J'ai mis la collection officielle des Puppies sous Tellico en utilisant LegacyOS. Cette distro ne sera pas éternelle.

_________________
Puppy, il ne lui manque que la parole !

Last edited by Pelo on Wed 28 May 2014, 22:43; edited 1 time in total
Back to top
View user's profile Send private message Yahoo Messenger 
Médor


Joined: 26 May 2011
Posts: 1674

PostPosted: Tue 27 May 2014, 06:08    Post subject:  

Bonjour,

Pour l'archive de Tellico, Jejy l'a retiré des deux dépôts ainsi que de nombreux paquets et images iso.
(Voir éventuellement dans les dépôts de peebee).

Pour compiler une application kde (comme Tellico), il faut les sources de la version de Qt en plus du sfs de kde et du devx de la version de Puppy utilisée.
Les régles de compilation sont différentes de celles des programmes utilisant autotools.


Cordialement,
Médor.

_________________
Recherches Puppy|Index Puppy|Index FR|Tuto TTL

Last edited by Médor on Tue 27 May 2014, 07:30; edited 1 time in total
Back to top
View user's profile Send private message 
musher0


Joined: 04 Jan 2009
Posts: 4230
Location: Gatineau (Qc), Canada

PostPosted: Tue 27 May 2014, 07:01    Post subject:  

Médor wrote:
Bonjour,

Pour l'archive de Telico, Jejy l'a retiré des deux dépôts ainsi que de nombreux paquets et images iso.
(Voir éventuellement dans les dépôts de peebee).

Pour compiler une application kde (comme Telico), il faut les sources de la version de Qt en plus du sfs de kde et du devx de la version de Puppy utilisée.
Les régles de compilation sont différentes de celles des programmes utilisant autotools.


Cordialement,
Médor.


Salut, pelo, Médor, et tout le monde.

Pour ma part, j'ai encore des croûtes à manger avant de m'attaquer à compiler un
programme Qt. Il faut savoir choisir ses bagarres...

D'autant que les Puppy-istes peuvent déjà utiliser l'excellent DataCrow, recommandé,
comme c'est curieux ( Question ), comme solution de rechange sur le site même du Tellico...

M'enfin. À+.

musher0

_________________
"Logical entities must not be multiplied needlessly." / "Il ne faut pas multiplier les êtres logiques inutilement." (Ockham)
Back to top
View user's profile Send private message Visit poster's website 
Médor


Joined: 26 May 2011
Posts: 1674

PostPosted: Tue 27 May 2014, 07:29    Post subject: Compiler un programme QT  

Re,

En principe les programmes QT utilisent qmake, il y a dans ce cas un fichier .pro et l'on doit générer en premier le fichier makefile par la commande qmake puis make, etc.


Cordialement,
Médor.

_________________
Recherches Puppy|Index Puppy|Index FR|Tuto TTL
Back to top
View user's profile Send private message 
Médor


Joined: 26 May 2011
Posts: 1674

PostPosted: Tue 27 May 2014, 11:54    Post subject:
Subject description: Compiler avec Imakefile
 

Pour compiler un paquet source contenant un fichier Imakefile, pour générer le makefile faire une commande xmkmf, puis make, etc.

Cordialement,
Médor.

_________________
Recherches Puppy|Index Puppy|Index FR|Tuto TTL
Back to top
View user's profile Send private message 
musher0


Joined: 04 Jan 2009
Posts: 4230
Location: Gatineau (Qc), Canada

PostPosted: Tue 27 May 2014, 12:08    Post subject:  

Merci, Médor, pour ces astuces.
_________________
"Logical entities must not be multiplied needlessly." / "Il ne faut pas multiplier les êtres logiques inutilement." (Ockham)
Back to top
View user's profile Send private message Visit poster's website 
Médor


Joined: 26 May 2011
Posts: 1674

PostPosted: Tue 27 May 2014, 12:14    Post subject:
Subject description: Avec Cmake...
 

Un autre Wink

Pour compiler un paquet source contenant un fichier CMakeLists.txt, pour générer le makefile faire depuis le répertoire du programme source :
Code:
mkdir ./build
cd ./build
cmake ..
make

Etc.

Cordialement,
Médor.

_________________
Recherches Puppy|Index Puppy|Index FR|Tuto TTL
Back to top
View user's profile Send private message 
Pelo


Joined: 10 Sep 2011
Posts: 3015
Location: Mer méditerrannée (1 kms°)

PostPosted: Wed 28 May 2014, 00:20    Post subject: Datacrow vs Tellico  

Hors sujet ! Enlevé.
Datacrow n'est pas Tellico. Datacrow est déjà compilé, pas Tellico;

_________________
Puppy, il ne lui manque que la parole !

Last edited by Pelo on Wed 28 May 2014, 22:46; edited 1 time in total
Back to top
View user's profile Send private message Yahoo Messenger 
musher0


Joined: 04 Jan 2009
Posts: 4230
Location: Gatineau (Qc), Canada

PostPosted: Wed 28 May 2014, 04:44    Post subject:  

Salut, pelo.

(À lire en grommellant !) Smile

Heureusement qu'il y a wordreference...

Donc une usine à gaz, c'est un truc à l'administration lourde. c'est très malcommode
à manoeuvrer, c'est compliqué sans raison. Un éléphant blanc, quoi.

Là, je comprends. Bon, ben, pelo, j'ai des p'tites nouvelles pour toi.

Tu veux une base de données légère, qui fait le boulot sans flafla ni tralala?
On l'a déjà dans Puppy, c'est gnumeric. C'est pas juste pour les calculs.

Si tu mets des en-têtes à ses colonnes, ça devient une base de données.

Gnumeric a au moins 64x64 cellules par page, donc 4 096 endroits où placer de
l'information. Si c'est pas assez, tu crées une nouvelle page, et tu continues.

L'ordre, la logique et le traitement des données, comme dans n'importe quelle
base de données, dépend de la puissance de traitement du cerveau de l'opérateur
/ trice et de la capacité du dit cerveau à faire des liens signifiants. Rolling Eyes

À tout prendre, même une feuille de papier quadrillé bien titrée, avec des données
positionnées dessus de manière intelligente, pourrait faire une meilleure base de
données que n'importe quel Tellico.

Bonne nuit !

musher0
gnumeric-comme-base-de-donnees.jpg
 Description   
 Filesize   32.15 KB
 Viewed   64 Time(s)

gnumeric-comme-base-de-donnees.jpg

usine-a-gaz.jpg
 Description   
 Filesize   15.12 KB
 Viewed   66 Time(s)

usine-a-gaz.jpg


_________________
"Logical entities must not be multiplied needlessly." / "Il ne faut pas multiplier les êtres logiques inutilement." (Ockham)
Back to top
View user's profile Send private message Visit poster's website 
Pelo


Joined: 10 Sep 2011
Posts: 3015
Location: Mer méditerrannée (1 kms°)

PostPosted: Wed 28 May 2014, 12:52    Post subject: On veut des fiches item par item, une fiche, un matériel  

On veut des fiches item par item, une fiche, un matériel. Comme nos bonnes vieilles fiches cartonnées d'autrefois qu'on rangeait dans les boites à fiches. C'est vraiment l'outil du bureaucrate hyper classique.
Mon propos était plûtot comment modifier la structure des fichiers des logiciels existants. Au lieu de taduire mot pour mot en français, on traduit les fichiers .po en les adaptant. et on compile tout çà.
Bla bla hors sujet enlevé.

_________________
Puppy, il ne lui manque que la parole !

Last edited by Pelo on Wed 28 May 2014, 23:17; edited 2 times in total
Back to top
View user's profile Send private message Yahoo Messenger 
Display posts from previous:   Sort by:   
Page 1 of 2 [18 Posts]   Goto page: 1, 2 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » House Training » Users ( For the regulars ) » Pour les francophones
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0953s ][ Queries: 12 (0.0119s) ][ GZIP on ]