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
Showing 10 comments
  • Répondre

    Hum j’aimerai installé la dernière version de GCC (la 4.9 voire la 4.8). Impossible sous Mavericks.
    Même avec vos conseils, c’est :
    Error: org.macports.build for port ld64 returned: command execution failed

    • Djerfy
      Répondre

      Hello,

      Au final et après plusieurs problème, j’ai carrement effectué une ré-installation du macports :/
      C’est également ton cas ?

      • Répondre

        Malheureusement aucune manière de régler ça apparemment.
        Je crois l’avoir pourtant totalement désinstallé et réinstallé…
        Wget ou gcc49… pas moyen, à cause de ld64… toujours pas de maj de Macport. Problème bien connu sur le forum Macport apparemment.

        Ça marche chez toi ?!!

        • Djerfy
          Répondre

          Ben écoute je n’ai aucun problème et voici quelques version :
          =======
          gcc –version => Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
          wget –version => GNU Wget 1.14 compilé sur darwin13.0.0.
          =======

          Mon MacPorts est en version 2.2.1 installé par compilation ( car méthode package non disponible à l’époque ).

          Ce que j’ai fais :
          – ré-installation complète de XCode en version 5.0, car update en 4.6 seulement :/
          – Installation des outils CMD ( c’est une commande xcode à faire )
          – Ré-installation complète de MacPorts en suivant la procédure sur le site

          C’est depuis le passage en Mavericks que t’as le problème ?

          • En fait encore une fois, je viens de désinstaller Xcode et MacPort.
            Je viens de réinstaller les deux.
            La même chose…
            Je vais tester en compilant les sources.
            CMD ? Command Line Tools tu veux dire ?
            « c’est une commande xcode à faire  » → càd ?
            Oui j’avais aucun soucis avant Mavericks :/

          • En compilant les sources… même chose… je désespère…

          • Djerfy

            Effectivement très bizarre 🙁
            Normalement l’environnement est clean après la ré-installation mais t’as testé de faire un :
            ========
            sudo port -v -d uninstall ld64
            sudo port -v -d clean ld64
            sudo port -v -d -k install ld64 +llvm31
            ========

            Les options -v ( verbose ) et -d ( debug ) ne sont pas vraiment nécessaire mais t’apporterons des détails si c’est en échec

          • Toujours malheureusement pareil http://cl.ly/SNLT
            J’ai exécuté les 3 commandes comme tu m’as indiqué (d’ailleurs je te remercie d’essayer de résoudre mon soucis)
            A priori on est nombreux :/

          • Djerfy

            D’après le screenshot, sans doute un rapport avec le « tcl » mais je confirme rien encore.
            Il me semble avoir eu des problèmes avec le « tcl » lors de mes débuts sur MacPorts… Faudra que je retrouve ce que j’avais fais…

            T’as moyen de m’envoyer le fichier de log généré en pièce jointe dans un mail ? ( djerfy@gmail.com )

  • Djerfy
    Répondre

    L’article vient d’être mis à jour le « 20/11/2013 » à « 21H10 » avec les informations supplémentaires situées dans le bloc note bleu ( voir en bas de l’article ).
    Merci à Nicoco pour l’astuce et les jours de galères !

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.