Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/10/2011, à 16:22

NicoNess

Environement de dev c et librairies

Bonjour,
une question d'ordre général sur les environnement de développements.
Je souhaite créer des librairie C et des appli pyhton, utilisant des librairies tierces non encore publiés sur ma version d'ubuntu.
Pour se créer un environnement de dev avec des librairies tierces dans des versions spécifiques. Comment faut -il procéder  pour ne pas
"perturber" le système installé ?
Utiliser des machines virtuelles ? utiliser du chroot ?


Merci d'avance
Nico

Hors ligne

#2 Le 14/10/2011, à 18:47

ehmicky

Re : Environement de dev c et librairies

Salut,
Personnellement, dans ce cas, je télécharge les sources et je compile moi-même la dernière version de la bibliothèque. Ensuite tu peux spécifier les libraries spécifiques que tu as installées via les options de ton compilateur.
(je suis pas sûr d'avoir répondu à ta question)

Dernière modification par ehmicky (Le 14/10/2011, à 18:48)


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#3 Le 14/10/2011, à 22:26

Hibou57

Re : Environement de dev c et librairies

NicoNess a écrit :

Bonjour,
une question d'ordre général sur les environnement de développements.
Je souhaite créer des librairie C et des appli pyhton,

Pour lier Python est des librairie externes utilisant l’ABI du C (qui ne sont d’ailleurs pas nécessairement conçues en C), il faut utiliser ctypes? Comme son nom ne le dit pas assez, c’est un module qui permet de charger des librairies.

NicoNess a écrit :

utilisant des librairies tierces non encore publiés sur ma version d'ubuntu.

Comme Emicky, le mieux est de les compiler toi‑même si les sources te sont disponibles, sinon demander à la personne qui te les fourni de les compiler pour toi et pour ta plateforme.

NicoNess a écrit :

Pour se créer un environnement de dev avec des librairies tierces dans des versions spécifiques. Comment faut -il procéder  pour ne pas
"perturber" le système installé ?
Utiliser des machines virtuelles ? utiliser du chroot ?

Tout dépend. S’il ne s'agit que d’installer des librairies qui ne sont pas issues des paquets officielles de Ubuntu ou même Debian, tu peut les installer dans /usr/local/*. D’ailleurs quand tu compile avec ./config, make, make install, la configuration par défaut installe tout dans /usr/local. Si tu crains des interaction ou des conflits avec d’autres librairies système, tu peux retirer /usr/local/lib du chemin de recherche du chargeur dynamique, et par contre pour les applications compilées avec ces librairies, tu peux utiliser rpath, qui spécifie de manière statique, le chemin de recherche des librairies, pour les programme devant être chargés avec des librairies spécifiques.

Sinon le chroot que tu peux initialiser avec debootstrap. Il y a plusieurs solution, en parant de celle indiquée dans la page man de debootstrap qui donne un exemple de mise en place d’un chroot. Mais il existe une autre méthode dont j’ai oublié le nom, qui est plus fiable parce qu’elle est équipée de sécurité qui évite les accident.

Le chroot c’est bien, mais il ne faut pas se jeter dessus si vite, seulement s’il y a une bonne raison. Si ce n’est que pour des questions de librairies, la solution précédente est suffisante et moins lourde.


Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)

Hors ligne

#4 Le 28/10/2011, à 16:28

NicoNess

Re : Environement de dev c et librairies

Hibou57 a écrit :

D’ailleurs quand tu compile avec ./config, make, make install, la configuration par défaut installe tout dans /usr/local. Si tu crains des interaction ou des conflits avec d’autres librairies système, tu peux retirer /usr/local/lib du chemin de recherche du chargeur dynamique

Y aurait il un moyen pour installer tout cela dans son répertoire de travail ? par exemple un $HOME/usr ou quelque chose du genre et rajouter ce path lors de la compilation ?
Toujours de manière générale, quelle serait le meilleur point d'entrée pour tout cela ?  La doc de libtool ?

Hors ligne

#5 Le 28/10/2011, à 18:59

Hibou57

Re : Environement de dev c et librairies

Bonsoir,

Oui, avec une option de ./configure

./configure --prefix=/home/mon-nom

Pour avoir toutes les options de ./configure, tu fais

./configure --help

Alors une remarque quand même : tu as plusieurs options du type --prefix, tu n’es pas obligé de toutes les renseigner, parce qu’elle sont automatiquement dérivé de la valeur donné à l’option --prefix.

--prefix lui même, a la valeur /usr/local par défaut.

Au sujet de ta seconde question, je ne suis pas sûr de comprendre de quel point d’entrée tu parle.


À une prochaine

Dernière modification par Hibou57 (Le 28/10/2011, à 19:02)


Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)

Hors ligne

#6 Le 28/10/2011, à 19:41

NicoNess

Re : Environement de dev c et librairies

Merci pour la réponse,
J'ai essayé de cette manière. Ca marche bien.
J'ai eu  un soucis : avec pkg-config. Il voulait absolument le mettre dans /usr/lib/pkgconfig.
Mais je pense que c'est un pb du makefile du projet ( openjpeg) la valeur (usr/lib/pkgconfig) est en dur dans le Makefile.am. Y propose aussi une install avec cmake qui marche mieux.


Hibou57 a écrit :

Au sujet de ta seconde question, je ne suis pas sûr de comprendre de quel point d’entrée tu parle.

Je cherche une doc de compilation/construction. Genre comment créer son parfait smile env de dev/compilation ...

Hors ligne

#7 Le 28/10/2011, à 20:43

Hibou57

Re : Environement de dev c et librairies

Je ne sais pas s’il peut y avoir une réponse à cette question. Ça ressemble aux questions genre, quelle est le meilleur éditeur, qui n'ont justement pas réponse absolue en pratique.

En abordant la question partie par partie, je pense que tu as plus de chance de trouver des réponses. Tu n’as également pas besoin de te compliquer la vie quand il n’y a rien de compliqué. Le plus souvent, il n’y a pas besoin de configuration particulière.

Par exemple, Ok, dans certains cas avoir un environnement chroot est plus sûr, mais dans la plupart des cas, il n’y en a pas besoin. Les librairies personnelles à leur emplacement habituel qui est suffisant pour ne pas les mélanger aux librairies systèmes, qui est /usr/local/lib, le compilateur ou l’interpréteur installé avec Synaptic pour être sûr qu’il est correctement installé sans qu’il ne manque rien, l’éditeur qui te convient, et la documentation s’il y en a.

Bref, rien de spécial à dire, sauf cas particuliers.


Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)

Hors ligne

#8 Le 13/11/2011, à 08:01

Hibou57

Re : Environement de dev c et librairies

Concernant l’organisation et le fait de ne pas polluer tout le système avec des paquets de développement, voici à propos de ~/.local/ et ~/local/

http://blog.touv.fr/2011_09_01_archive.html Dans les commentaires, pas dans l'article.
http://www710.univ-lyon1.fr/~jciehl/Public/utiles/ On voit souvent utilisé ~/.local/lib pour Python, mais ici, il est bien utilisé pour autre chose que Python.

Par contre je ne suis pas trop pour l'idée d'avoir deux ~/.local/ et ~/local/ en même temps, sauf si ~/local/ est un lien vers ~/.local/

D'ailleurs je me demande pourquoi ~/.local/ est un dossier caché. La question a été posée dans un autre sujet.


Hajimemashteeeee… \(^o^)/ Tachikoma desu (^_^;)
Le saviez‑vous : le j’m’en foutisme est la cause de la plupart des fléaux du monde contemporain.
Mangez des standards : un grand bol de Standard tous les matins, et vous débutez la journée en pleine forme !
bulleforum.net — Forum de discussions, La Bulle (papotage de la vie courante ou choses trop sérieuses)

Hors ligne