Mettre à jour gcc sur CentOS 5

La version de gcc (ainsi que g++, dont le nom du packet est gcc-c++) présente de base dans CentOS 5 est la version 4.1.2. Si vous avez besoin d’une version plus récente de gcc et/ou de g++ vous devez simplement utiliser le packet gcc44, qui contient – comme son nom l’indique – la version 4.4 de gcc. Pour ce faire, vous devez lancer les commandes suivantes:

Ensuite, pour permettre la rétrocompatibilité, il vous suffit de créer les liens symboliques suivants:

Ainsi, la version 4.4 de gcc est présente sur votre CentOS 5:

facebooktwittergoogle_plusredditpinterestlinkedinmail

Ubuntu: Installer un nouveau kernel

Pour installer un nouveau kernel dans Ubuntu, plus besoin de s’embêter avec la compilation, kernel.ubuntu.com propose les kernels en fichiers .deb compilés avec les options par défaut de toutes les versions d’Ubuntu.

Ainsi, téléchargez tous les fichiers pour votre système (i386 – 32bits – ou amd64 – 64 bits) de la version du kernel que vous voulez dans un dossier à cette adresse:

http://kernel.ubuntu.com/~kernel-ppa/mainline/

Ensuite, dans le console, placez-vous dans le dossier dans lequel vous avez télécharger les fichiers .deb puis exécutez:

Le nouveau noyau est installé et est automatiquement placé par défaut dans grub.

facebooktwittergoogle_plusredditpinterestlinkedinmail

PHP 5.2.10 – PEAR est cassé

En changeant de version vers la nouvelle à cause d’un BUG, il est possible d’en trouver d’autres… C’est le cas dans PHP 5.2.10 où le package PEAR n’est pas bien installé. Les “channels” ne sont pas bien configurés… En effet, lors de la compilation, on a déjà des erreurs comme celles-ci:

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 139

C’est donc bien que le phar des channels n’est pas correct. Après l’installation, lorsque l’on essaye d’installer le packet Net_IPv6 par exemple, on a ce message:

pear.php.net is using a unsupported protocal – This should never happen.
install failed

Continue reading PHP 5.2.10 – PEAR est cassé

facebooktwittergoogle_plusredditpinterestlinkedinmail

[notice] child pid XXXXX exit signal Segmentation fault (11)

L’erreur de Segmentation fault arrive – parfois – sans prévenir, elle est le témoin d’un bug ou d’une erreur dans le script PHP. La double assignation de variables peut faire ça ($var1 = $var2 = 'oups';) mais c’est souvent une erreur non-humaine… Elle est visible du côté utilisateur car le processus lui même de la page contenant cette erreur est “killé”, ce qui en résulte une réponse vide du serveur Apache, ce qui fait que Firefox présente une jolie fenêtre “Ouverture fichier.php”.

Capture-Ouverture de tests.php

En effet, j’était avec Apache 2.2.9 et PHP 5.2.6-1+lenny3 (installé via apt-get) et il m’est arrivé quelque chose d’assez surprenant, c’est une erreur de segmentation lors de l’assignation à une variable quelconque du résultat PDOStatement d’une requête faite avec PDO::query. Une heure ou deux à chercher d’où pouvait venir le problème pour enfin arriver à la conclusion que c’est un bug de PHP.

Dans ce cas, une seule solution, la mise à jour. J’ai donc décider de mettre à jour Apache en compilant la nouvelle version moi-même, idem pour PHP, que j’ai compiler. Je suis passé à Apache 2.2.13 avec PHP 5.2.10 pur. C’est parfait, ça marche ! :)

facebooktwittergoogle_plusredditpinterestlinkedinmail

Mettre à jour Apache

Parfois, dans n’importe quel programme, il y a des bugs, qui sont corrigés dans des futures versions. Si vous êtes confronté à un bug, il faut donc mettre à jour le logiciel. Nous allons voir comment mettre à jour Apache vers une version mineure plus récente. C’est-à-dire par exemple de la version 2.2.9 à la version 2.2.13. Mais pas de la 2.0 à la 2.2, encore moins de la 1 à la 2 !

Nous allons prendre des valeurs pour tout l’article, qui sont:

  • Répertoire de l’ancienne version d’Apache: /etc/apache-2.2.9
  • Répertoire de la nouvelle version d’Apache: /etc/apache-2.2.13

Continue reading Mettre à jour Apache

facebooktwittergoogle_plusredditpinterestlinkedinmail