venerdì 1 febbraio 2008

GNU Midnight Commander su Mac OSX.

Questa volta vi parlerò di come installare un software su Mac OS X a partire dai sorgenti.
Voglio farvi toccare con mano la "potenza" del software Open Source, ed in particolare dal possesso del codice sorgente di un software.

In questo post vi descriverò cosa fare per installare a partire dal codice sorgente GNU Midnight Commander su Mac OS X. GNU Midnight Commander è per me l'interfaccia ideale per tutti i sistemi operativi sui quali ho lavorato e quindi non potevo non installarlo sul mio MacBook dopo essere riuscito ad installarlo anche su Tru64.

La procedura che vi descriverò è stata collaudata sul mio MacBook Pro con Mac OS X 10.4.11 (Tiger). Se mi seguirete passo passo alla fine riuscirete ad installare anche voi GNU Midnight Commander su Mac OS X a partire dai codici sorgenti.

  • Prerequisito di tutto è l'installazione dell'ambiente di sviluppo XCODE della Apple che mette a disposizione tra le altre cose il make ed il compilatore GCC.
    Ho installato l'ultima versione (2.5) disponibile sul sito. Dopo essersi registrati (la registrazione è gratuita!) ho scaricato il file xcode25_8m2558_developerdvd.dmg ed installato seguendo le indicazioni.
    Per verificare se l'installazione è andata a buon fine, eseguiamo l'applicazione terminal.app, al prompt dei comandi digitando gcc -v si ottiene qualcosa di simile a:

    Using built-in specs.

    Target: i686-apple-darwin8
    Configured with: /var/tmp/gcc/gcc-5370~2/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=powerpc-apple-darwin8 --with-arch=nocona --with-tune=generic --program-prefix= --host=i686-apple-darwin8 --target=i686-apple-darwin8
    Thread model: posix
    gcc version 4.0.1 (Apple Computer, Inc. build 5370)

    digitando make -v si ottiene:

    GNU Make 3.80

    Copyright (C) 2002 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.
    There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
    PARTICULAR PURPOSE.

    Questo significa che i due componenti che ci servono sono installati e funzionanti.
  • Primo prerequisito di GNU Midnight Commander è pkg-config:
    • scaricare gli ultimi sorgenti di pkg-config (0.22 nel mio caso)
    • tar -xvzf pkg-config-0.22.tar.gz
    • cd pkg-config-0.22
    • ./configure
    • make
    • sudo make install
    • dopo l'installazione occorre modificare l'impostazione della variabile di ambiente PATH per includere /usr/local/bin.
      Occorre editare /etc/profile (sudo vi /etc/profile) e aggiungere la riga PATH="$PATH:/usr/local/bin"

  • Secondo prerequisito di GNU Midnight Commander è GNU gettext:
    • scaricare gli ultimi sorgenti di gettext (0.16 nel mio caso)
    • tar -xvzf gettext-0.16.tar.gz
    • cd gettext-0.16
    • ./configure
    • make
    • sudo make install

  • Terzo e ultimo prerequisito di GNU Midnight Commander sono le glib:
    • scaricare gli ultimi sorgenti di glib (2.12.13 nel mio caso)
    • tar -xvzf glib-2.12.13.tar.gz
    • cd glib-2.12.13
    • ./configure
    • make
    • sudo make install



  • Adesso finalmente installiamo GNU Midnight Commander:
    • scaricare gli ultimi sorgenti di GNU Midnight Commander (4.6.1)
    • tar -xvzf mc-4.6.1.tar.gz
    • cd mc-4.6.1
    • ./configure --without-x --with-screen=ncurses
    • make
    • sudo make install
A questo punto l'installazione di GNU Midnight Commander è terminata mc -V ci darà qualcosa di simile a:

GNU Midnight Commander 4.6.1
Virtual File System: tarfs, extfs, cpiofs, ftpfs, fish
With builtin Editor
Using the ncurses library
With subshell support as default
With support for background operations
With mouse support on xterm
With internationalization support

that's all folks! Fatemi sapere se siete riusciti anche voi...

A presto

2 commenti:

Anonimo ha detto...

de in una sola botta me so trovato :
nmap + mc sul terminale del MBpro

e pensare che cercavo di capire la similitudine di compilazione tra linux (vengo da li..) e sto MbPro che ho tra le mani da 3 minuti.

Fantastico ho acquistato un mac senza sapere che avevo un linux tra le mani FANTASTICO
(pensavo fosse necessario parallels che invece serve per winzz (fuck parallels e winzz)

NoWindowsNoGates ha detto...

Sono contento, di esserti stato utile. Sei hai degli altri software linux che ti piacerebbe avere sotto MacOSX fammi sapere e se vuoi scrivere un post tu... sarebbe il massimo visto che ho sempre poco tempo da dedicare a questo blog.