PDA

View Full Version : Distri MANDRIVA 2007 et Threads PERL


goose
09-28-2007, 12:47 PM
Bojnour,

J'ai installé nagios et centreon 1.4.1 sur une mandriva 2007, sans difficulté.

Par contre, il semble y avoir un problème avec perl (activation des threads) pour pouvoir utiliser la partie Vue Oreon.

Après avoir consulté beaucoup de forum sur les threads perl / MANDRIVA, je n'ai pas trouvé de solution ni de package perl avec les thread activées.

J'ai donc entrepris de recompiler perl avec la gestion des threads à partir du package des sources perl de la distribution, mais après compilation, perl ne retourve plus beaucoup de fichier .pm, bloquant ainsi beaucoup de fonctionnalités de la distribution


Est-ce que quelqu'un d'autre à rencontré ce problème avec l'activation des threads perl sur une distribution Mandriva ?

Y-a-t'il une solution pour activer les vues oreon (via ODS), en conservant la distribution ?

Merci,

WAtt
09-28-2007, 02:22 PM
salut,

Bah c'est hélas le gros problème que nous retrouvons sous Mandriva... les thread en Perl... :(

Si la compil a la main ne fonctionne pas mieux ... bah je crois que tu vas devoir changer de distrib. Es tu sur que la compilation c'est bien passé, que tu lui as donné les bons chemin pour les "pm" ?

C'est une Mandriva server ou desktop que tu utilises ?

goose
09-28-2007, 05:01 PM
C'est une distribution Mandriva powerpack 2007.

J'ai tenté deux compilation, la première sans ajouter de chemins particuliers, mais cela à déjà pour résultat de perdre les liens ves les .pm présent dans la package de la distribution.

J'ai tenté une seconde comilation, en ajoutant les chemins des .pm d'origine, plus ceux requis par centreon, mais j'obtiens le même résultat qu'à la première compilation, si ce n'est qu'il prend bien en compte les liens vers les.pm requis pour ODS.

malheureusement, je ne suis pas développeur, sans quoi, j'aurai tenté de refaire les scripts d'ods, sans la gestion des threads perl, mais bon ;-(

Merci,

frlevel
09-28-2007, 05:10 PM
salut,

Bah c'est hélas le gros problème que nous retrouvons sous Mandriva... les thread en Perl... :(

Si la compil a la main ne fonctionne pas mieux ... bah je crois que tu vas devoir changer de distrib. Es tu sur que la compilation c'est bien passé, que tu lui as donné les bons chemin pour les "pm" ?

C'est une Mandriva server ou desktop que tu utilises ?

Bonjour,

Le problème est assez simplement résolvable.
Je l'ai fait et j'ai gardé la procédure. Le la mets en pièce jointe.
N'hésites pas à revenir vers moi.

Surtout, deux choses :
1. Si le programme Configure trouve un fichier de config perl, il te demandera si il doit l'utiliser. Répondre NON.

2. S'assurer que tu mets bien un répertoire à part du package standard.

WAtt
09-28-2007, 05:35 PM
frlevel GG :)

Bon par contre je vais faire le lourd, mais la powerpack c'est une version desktop ??? Pourquoi ne pas utiliser des versions Serveur ?

(j'avais prévenu :p)

frlevel
09-28-2007, 05:44 PM
frlevel GG :)

Bon par contre je vais faire le lourd, mais la powerpack c'est une version desktop ??? Pourquoi ne pas utiliser des versions Serveur ?

(j'avais prévenu :p)

Ca ne changerai rien. Ce n'est pas la distrib qui fait que Perl est compilée sans les threads, c'est Mandriva qui compile Perl de cette manière dans toutes ses distribs.

A ma connaissance, la seule distrib free qui compile avec les threads en standard, c'est fedora.

La Mandriva Powerpack 2007 est donc très bien.

WAtt
09-28-2007, 05:51 PM
bah je n'ai jamais eu de problème sur des distributions comme Suse, Debian, Ubuntu. je pense que gentoo ne doit pas avoir de problème non plus.

Mais ma question était plus sur le fait d'utiliser une version Desktop pour faire un serveur. C'est un peu comme utiliser un WinXP pro pour mettre un IIS, c'est possible mais c'est pas fait pour :)

frlevel
09-28-2007, 05:55 PM
La différence entre les deux, c'est le support de matériels particulier (style baies SAN), la présence de programmes professionnels et surtout le support technique.
Pour le reste, c'est pareil.

DonKiShoot
09-28-2007, 10:26 PM
On sait que mandriva c kaka mais si ta doc d'install des libperl pouvait trouver sa place dans le wiki ce serait cool car pas mal de francais sont accros à mandriva même si on ne sait pas pourquoi :D

goose
09-29-2007, 09:51 AM
Bonjour,


J'ai pris une version desktop parce qu’elle est gratuite, ce n'est encore qu’un prototype.

Si ca peut intéressé ? :

- Cette machine est virtualisée sous VMware Server pour le moment et migrera vers un VMware ESX.

- Mis à part les vues oreon, ce dernier est opérationnel depuis 10 mois et supervise en ce moment, plus de 110 serveurs (Windows - SNMP), environ 780 services.

Super, avec le double moteur perl, plus de soucis.

Merci

;-)euh ;-) Pour la mandriva, ben parce que c'est français :-)

Merci

frlevel
10-03-2007, 12:17 PM
Bonjour,


J'ai pris une version desktop parce qu’elle est gratuite, ce n'est encore qu’un prototype.

Si ca peut intéressé ? :

- Cette machine est virtualisée sous VMware Server pour le moment et migrera vers un VMware ESX.

- Mis à part les vues oreon, ce dernier est opérationnel depuis 10 mois et supervise en ce moment, plus de 110 serveurs (Windows - SNMP), environ 780 services.

Super, avec le double moteur perl, plus de soucis.

Merci

;-)euh ;-) Pour la mandriva, ben parce que c'est français :-)

Merci

Goose,

Tu as bien raison : il faut encourrager les produits français, surtout lorsqu'ils sont de qualité, quoi qu'en pense DonKiShoot !
Pour le reste, la version que tu as prise peut très bien fonctionner en production (on le fait chez nous pour environ 1000 à 1500 services environ). Je répète que la différence entre la version "desktop" et la version "serveur" ce n'est pas la stabilité du produit, mais les logiciels présents (en particulier les environnements de développement) et le support.
Pour le reste, je ne rentrerai pas dans la discussion de "qui est mieux que qui". J'ai testé plusieurs distrib et choisi Mandriva. Lorsqu'il y a un souci (comme avec Perl pour Centreon) on le règle !

Pour le wiki, je fais quelques compléments à la doc et le l'insère.

WAtt
10-03-2007, 03:01 PM
frlevel, rhooo mais ca fait du bien de lancer un troll de temps en temps :)


Si ca fonctionne avec le contournement Perl, maintenant y a plus de raison de changer si l'on voulais être sous Mandriva :)

rom
10-07-2007, 07:37 PM
frlevel, peux tu expliquer clairement la manip ? J'ai pas tout compris, tu as reussi a faire tourner ods sous mandriva 2007 ??

WAtt
10-07-2007, 08:28 PM
frlevel, peux tu expliquer clairement la manip ? J'ai pas tout compris, tu as reussi a faire tourner ods sous mandriva 2007 ??

Salut Rom,

En fait il a simplement créer un tut pour la compilation de perl avec les threads sur un mandriva, du coup ODS fonctionne dessus :) Bonne nouvelle non ? :)

rom
10-08-2007, 11:09 AM
Ouip en effet, malheureusement j'avais compile egalement sous mandriva, et on s'est rendu compte que quand les threads sont utilises, des problemes apparaissaient...
On a discute avec Mandriva sur ce sujet, et apres plusieurs essais de leur cote, ils nous preconisent de ne pas utiliser les threads pour une bonne compatibilite...
(Je pense aussi qu'ils ne peuvent pas supporter deux versions differentes, et ca, ca se comprend)

WAtt
10-08-2007, 11:54 AM
erf :(

Y a pas moyen de refaire un paquet depuis les sources avec la compilation thread ???

frlevel
10-10-2007, 12:30 PM
Bonjour à tous,

Je suis en retard sur le tuto, alors je mets quelques lignes rapidement :
1. on ne remplace pas le package perl existant sur la mandriva
2. télécharger la dernière version stable de perl
3. prévoir un répertoire pour l'installer, ailleurs que sous /usr pour ne pas dégager le perl par défaut. Sur mon serveur, il est installé, comme tous les produits qui ne sont pas d'origine mandriva, dans un répertoire /usr2/produits.
4. compiler perl avec les commandes :
- ./Configure -Duseithreads -Dprefix=/usr2/produits/perl-5.8.8
Le nom du répertoire est important dans les cas où on souhaite avoir une version spécifique de perl sur la machine.

Aux questions suivantes, apporter les réponses suivantes :
Would you like to see the instructions? [n] n
I see a config.sh file. Shall I use it to set the defaults? [y] n
Questions suivantes : réponse par défaut sauf pour les questions suivantes qui concernent les répertoires :
Directory /usr2/produits/perl-5.8.8 doesn't exist. Use that name anyway? [n] y
Directory /usr2/produits/perl-5.8.8 doesn't exist. Use that name anyway? [n] y
Directory /usr2/produits/perl-5.8.8/bin doesn't exist. Use that name anyway? [n] y
Directory /usr2/produits/perl-5.8.8/bin doesn't exist. Use that name anyway? [n] y
Directory /usr2/produits/perl-5.8.8/bin doesn't exist. Use that name anyway? [n] y

A la fin de la commande Configure, le fichier de paramètre est créé.

- make
- make install

Pour vérifier que perl prend bien en compte les threads, passer la commande /usr2/produits/perl-5.8.8/bin/perl -V
Vers la 8ème ligne, l’option usethreads doit obligatoirement être positionnée à « define ».

Il suffit ensuite de modifier le script odl.pl pour pointer sur la bonne version de perl.

Le double objectif est atteint :
- la version d'origine sans les threads est toujours là
- notre ods préféré fonctionne

elle n'est pas belle la vie sous Mandriva ?? Au fait, le 2008 vient de sortir !! Cool

D'autres questions ?

frlevel
10-10-2007, 12:32 PM
(Je pense aussi qu'ils ne peuvent pas supporter deux versions differentes, et ca, ca se comprend)
Sous Linux, contrairement à d'autres OS, on peut tout faire, y compris installer plusieurs versions d'un soft !

julio
10-10-2007, 02:42 PM
ouia smais c'est domage, c'est la seule distrib qui ne gere pas les threads avec perl... dommage...

et si c'est un pb de stabilité, je ne pense pas que debian se soit risqué a l'activer si ca n'etait pas stable...

frlevel
10-11-2007, 02:57 PM
ouia smais c'est domage, c'est la seule distrib qui ne gere pas les threads avec perl... dommage...

et si c'est un pb de stabilité, je ne pense pas que debian se soit risqué a l'activer si ca n'etait pas stable...


On ne va pas en discuter des lustres. :rolleyes:
La discussion n'est pas de savoir si Mandriva a eu raison de désactiver les threads, mais bien de savoir comment installer un perl avec les threads activés ?
Alors voilà c'est dit !!
Et bien sûr ceux qui veulent en changer de distrib peuvent le faire. Cependant, quand on a un linux et des produits comme Oreon et Nagios, on a tout intérêt à savoir recompiler un perl .... C'est dit aussi ! :D

WAtt
10-11-2007, 03:13 PM
bah vi on va en discuter :) ... Nop j'y déconne.

Le principal ... ON PEUT UTILISER Centreon sur (presque) toutes les distrib maintenant :)

Enfin les plus connus en tt cas

wanexa
03-27-2008, 10:00 AM
Bonjour à tous,

Je suis en retard sur le tuto, alors je mets quelques lignes rapidement :
1. on ne remplace pas le package perl existant sur la mandriva
2. télécharger la dernière version stable de perl
3. prévoir un répertoire pour l'installer, ailleurs que sous /usr pour ne pas dégager le perl par défaut. Sur mon serveur, il est installé, comme tous les produits qui ne sont pas d'origine mandriva, dans un répertoire /usr2/produits.
4. compiler perl avec les commandes :
- ./Configure -Duseithreads -Dprefix=/usr2/produits/perl-5.8.8
Le nom du répertoire est important dans les cas où on souhaite avoir une version spécifique de perl sur la machine.

Aux questions suivantes, apporter les réponses suivantes :
Would you like to see the instructions? [n] n
I see a config.sh file. Shall I use it to set the defaults? [y] n
Questions suivantes : réponse par défaut sauf pour les questions suivantes qui concernent les répertoires :
Directory /usr2/produits/perl-5.8.8 doesn't exist. Use that name anyway? [n] y
Directory /usr2/produits/perl-5.8.8 doesn't exist. Use that name anyway? [n] y
Directory /usr2/produits/perl-5.8.8/bin doesn't exist. Use that name anyway? [n] y
Directory /usr2/produits/perl-5.8.8/bin doesn't exist. Use that name anyway? [n] y
Directory /usr2/produits/perl-5.8.8/bin doesn't exist. Use that name anyway? [n] y

A la fin de la commande Configure, le fichier de paramètre est créé.

- make
- make install

Pour vérifier que perl prend bien en compte les threads, passer la commande /usr2/produits/perl-5.8.8/bin/perl -V
Vers la 8ème ligne, l’option usethreads doit obligatoirement être positionnée à « define ».

Il suffit ensuite de modifier le script odl.pl pour pointer sur la bonne version de perl.

Le double objectif est atteint :
- la version d'origine sans les threads est toujours là
- notre ods préféré fonctionne

elle n'est pas belle la vie sous Mandriva ?? Au fait, le 2008 vient de sortir !! Cool

D'autres questions ?

je reprends ton poste car ça ne fonctionne pas, je pense qu'il faut aussi compiler le rrdtool à la main.
De plus à l'install tu peux choisir de ne pas installer le perl et tu peux le compile rà la main et le urpmi marchera quand même

julio
03-27-2008, 12:59 PM
hop

moi la je viens de le mettre en place sur une mandriva 2006. ca m'a pris un peu de temps de tout recompiler mais ca marche super bien.

j'espere que ma doc marchera bien aussi. Je n'ai pas oublié d'etape normalement.

http://wiki.centreon.com/index.php/ODS_on_Mandriva