Mavericks et les outils MacPorts

 dans Actus, Apple, Linux, OSX, Outils

Bienvenue les amis !

Suite au passage sous Mavericks dans la semaine ( depuis la sortie en faite ), j’ai rencontré des difficultées lors de l’utilisation de MacPorts ( installation principalement ).
Ayant trouvé une solution à mon problème, je decide de partager cette connaissance dans cet article !

Mise à jour de XCode

Après l’installation ( ou MaJ ) de Mavericks, vous pouvez voir que XCode est en version 4.6.
Il vous sera donc nécessaire d’ouvrir votre « App Store », de rechercher à nouveau XCode et d’en faire l’installation ( 2,09Go me semble t-il ).

Comme vous avez vraiment une nouvelle version neuve de XCode, il vous faudra réinstaller les outils de la ligne de commande :

sudo xcode-select --install

Dès que c’est effectué, vous serez à jour avec XCode !

Mise à jour de MacPorts

La mise à jour du dépôt ne retourne pas de problème, elle s’effectue donc comme d’habitude :

[Djerfy@djerfy:~]-[25/10-12:24]$ sudo port selfupdate
Password:
---> Updating MacPorts base sources using rsync
MacPorts base version 2.2.0 installed,
MacPorts base version 2.2.0 downloaded.
---> Updating the ports tree
---> MacPorts base is already the latest version
The ports tree has been updated. To upgrade your installed ports, you should run
 port upgrade outdated

Jusqu’ici, pas de problème, nous restons dans la version 2.2.0 de MacPorts !
D’après le site officiel, c’est toujours la version en date : http://guide.macports.org/#using.port.selfupdate
Vous pouvez également voir que le package de MacPorts pour Mavericks n’est pas disponible.

Passons maintenant à la mise à jour des outils avec le « upgrade outdated », mais nous arrivons très vite à une erreur :

[Djerfy@djerfy:~]-[25/10-12:26]$ sudo port upgrade outdated
---> Extracting expat
Error: org.macports.extract for port expat returned: command execution failed
Please see the log file for port expat for details:
 /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_expat/expat/main.log
Error: Unable to upgrade port: 1
To report a bug, follow the instructions in the guide:
 http://guide.macports.org/#project.tickets

En activant le mode de débug ( l’option -d ), nous comprennons très rapidement pourquoi cela ne fonctionne pas :

sh: /usr/bin/gnutar: No such file or directory
gzip: error writing to output: Broken pipe
gzip: /opt/local/var/macports/distfiles/expat/expat-2.1.0.tar.gz: uncompress failed

Comme vous pouvez facilement le voir, le binaire « gnutar » n’est plus trouvable, j’ai donc utilisé un lien vers le « tar » de cette manière :

sudo ln -s /usr/bin/tar /usr/bin/gnutar

Vous pouvez ensuite relancer votre commande pour voir que tout se déroule correctement !

[Djerfy@djerfy:~]-[25/10-12:33]$ sudo port upgrade outdated
---> Extracting expat
---> Configuring expat
---> Building expat
---> Staging expat into destroot
---> Unable to uninstall expat @2.1.0_0, the following ports depend on it:
---> gettext @0.18.2.1_0
---> apr-util @1.5.1_0
---> neon @0.29.6_2
---> subversion @1.7.10_1
---> fontconfig @2.10.93_0
---> cairo @1.12.14_0+x11
---> Xft2 @2.3.1_0
---> gettext @0.18.3_0
......
......

Ré-installation de MacPorts

C’est une solution qui peut être envisager dans le cas ou vous souhaitez repartir sur une base propre, je vous la recommande dans le cas ou vous êtes partie sur une base propre de Mavericks.
Pour Mavericks, vous allez devoir faire l’installation directement depuis les sources ( donc compilation ), et je vous recommande de suivre ces deux guides :

Conslusion

Lors de votre « port upgrade outdated », cela mettra tout à jour puisque vous avez changer de « plateform » ( depuis le passage sous Mavericks ) et cela est tout à fait normal. Cela même si les versions ne changent pas. C’est donc un peu comme si vous ré-installé MacPorts au final.

C’est après plus de 5 heures que j’ai eu une erreur d’installation d’une librairie… Toujours pas de solution trouvé après quelques minutes ( toujours pareil, le binaire qui n’éxiste plus …. ).

Ne perdez donc pas votre temps à faire des réparations pour MacPorts, repartez sur une installation propre !
Pour ma part, j’ai opté pour la compilation en utilisant le SVN !

Je vous recommande l’utilisation des commentaires ci-dessous en cas de besoin.

[alert type= »info » close= »false » align= »right »] INFORMATIONS SUPPLEMENTAIRES

Dans le cas ou vous rencontrez des problèmes sur la compilation avec GCC, il est inéressant de lire cet article : http://www.ficksworkshop.com/blog/14-coding/65-installing-gcc-on-mac
Avec cette méthode, cela vous permettra de sélectionner la version de GCC que vous avez besoin ( gcc42 / gcc49 ).

Un grand merci à Nicoco Pops Gourmand-croquant pour la trouvaille !
[/alert]

 

Mise à jour le 20/11/2013 ( 21H10 ) :  Ajout de la note sur la sélection de GCC

Articles recommandés