2010-08-28 13 views
1

gcc 4.4.4 C89 Fedora 13Quel est mieux télécharger les bibliothèques de référentiels de l'installation ou de * .tar.gz

Je me demande ce qui est mieux. Pour vous donner une compilation d'exemples: apache runtime portable et log4c.

La version apr dans mon référentiel Fedora est 1.3.9. La dernière version stable sur le site web apr est 1.4.2.

Questions

  1. Serait-il préférable de télécharger à partir du site Web et installer ou installer à l'aide yum?
  2. Lorsque vous installez à partir de yum parfois, il peut mettre des choses dans de nombreux répertoires. Lors de l'installation à partir de l'archive, vous pouvez mettre les includes et les bibliothèques où vous voulez.
  3. Les versions log4c sont les mêmes, car il s'agit d'un ancien projet.
  4. J'ai téléchargé log4c en utilisant yum. J'ai copié tous les inclusions et bibliothèques dans mon répertoire de projets de développement.

à savoir

project_name/tools/log4c/inc 
project_name/tools/log4c/libs 

Cependant, je remarque que je devais chercher des en-têtes dans le répertoire /usr/include.

Un grand merci pour toutes les suggestions,

+1

Cette question appartient vraiment chez superuser –

Répondre

1

J'utilise généralement les paquets fournis par ma distribution, s'ils sont d'une version assez récente. 1) Quelqu'un s'assurera que je reçois de nouveaux paquets si des failles de sécurité dans les anciennes sont découvertes.

2) Cela me fait gagner du temps.

Lorsque je configure un projet de développement, je ne crée jamais mes propres répertoires include/lib à moins que le projet lui-même ne soit la source autorisée pour les fichiers pertinents que j'ai mis là.

J'utilise pkg-config pour indiquer l'emplacement des bibliothèques nécessaires et inclure des fichiers dans mon compilateur. pkg-config utilise des fichiers .pc comme source d'informations sur l'endroit où les choses sont supposées être, et elles sont maintenues par les mêmes personnes qui créent les paquets pour votre distribution. Certaines bibliothèques ne fournissent pas ce fichier, mais un script '-config' alternatif. Je vais donner deux exemples:

Je ne suis pas sous Fedora 13, mais un exemple sur Ubuntu 10.04 serait;

*) Installer liblog4c-dev

*) La commande "log4c-config --libs" renvoie "-L/usr/lib -llog4c" ...

*) La commande « log4c -config --cflags » retourne "-I/usr/include"

Et pour un exemple en utilisant pkg-config (je vais utiliser SDL pour l'exemple):

*) Installer libsdl1.2-dev

*) La commande "p kg-config sdl --libs » retours "-lSDL"

*) La commande "pkg-config sdl --cflags" retours "-D_GNU_SOURCE = 1 -D_REENTRANT -I/usr/include/SDL"

... Donc, même si une autre distribution décide de mettre les choses dans des chemins différents, il y a des scripts qui sont censés vous donner une réponse fiable à l'endroit où les choses sont - donc les choses peuvent être construites sur la plupart des distributions. Autotools (automake, autoconf, et les goûts) amd cmake sont très utiles pour s'assurer que vous n'avez pas à faire face à ces problèmes.

4

Si la version dans le référentiel de paquets de votre distribution est assez récente, il suffit d'utiliser cela.

Les avantages sont des mises à jour automatiques via votre distribution, des installations faciles et rapides (y compris l'extraction et l'installation automatiques des dépendances!) Et des déménagements faciles des paquets.

Si vous installez vous-même des éléments à partir de .tar.gz, vous devez jouer votre propre distribution - garder une trace des problèmes de sécurité et des bogues. En utilisant des progiciels de distribution, vous avez également un œil sur les problèmes de sécurité, mais le distributeur travaille beaucoup pour vous (comme le développement de correctifs, le reconditionnement, le test et l'acquisition de données importantes). Bien sûr, chaque distributeur a une politique sur la façon de traiter différentes catégories de problèmes pour différents référentiels de paquets. Mais avec vos propres installations .tar.gz, vous n'avez rien de tout cela.

1

Si vous voulez construire quelque chose qui doit fonctionner avec Apache fourni avec Fedora, il est probablement préférable d'utiliser la version apr dans Fedora. De cette façon, vous obtenez des mises à jour de sécurité automatiques, etc. Si vous souhaitez développer vous-même quelque chose de nouveau, il peut être utile de suivre le flux amont.

En outre, normalement les en-têtes que votre distribution fournit doivent être trouvés par gcc & co. sans que vous ayez besoin de les copier, donc peu importe où ils sont stockés par yum/rpm.

2

C'est une question séculaire je pense. Et c'est la même chose sur toutes les distributions Linux.

Le paquet est créé par quelqu'un - cette personne a une opinion quant à où les choses devraient aller. Vous n'êtes peut-être pas d'accord - mais en utilisant un paquet vous êtes épargnés par toutes les dépendances nécessaires pour compiler et installer le logiciel.

Donc, pour un contrôle total: rouler le vôtre - mais soyez prêt pour le travail possible sinon utiliser le paquet.

Mon opinion: Utilisez des packages jusqu'à ce que cela soit impossible (conflits, compilation des paramètres nécessaires, ..). Je préfère passer du temps à faire travailler le logiciel pour moi, plutôt que de passer du temps à compiler.