Appunti di Andrea Di Stefano e Alessandro Cartatone

- Scaricato Cygwin
- scegliere "install from internet" (scegliere le impostazioni
  raccomandate)
- scegliere come tipo di connessione internet "direct connection"
- bisogna selezionare il sito dal quale prelevare i file: c'e' una
  lista molto lunga (solitamente si sceglie il piu' vicino: ***.it)
- poi si va avanti fino alla fine, ci mette un po' a installare il
  tutto perche' prima scarica tutti i pacchetti
----------------------------------------------------------------------
- Scaricare GMP, dopo aver decompresso la cartella la si copia
  all'interno della directory di Cygwin su C:, 
  piu' precisamente dentro "home" (dentro "home" c'e' qualcosa tipo il
  nome dell'utente: bisogna copiare li' dentro)
- aprire Cygwin e entrare nella cartella gmp con il comando "cd", es:
    cd gmp-5.0.4
- configurare
    .\configure
- attendere un po' di tempo e, quando ha finito, compilare
    make
----------------------------------------------------------------------
- Scaricare CoCoALib, copiare la cartella decompressa dove e' stato
  copiato gmp
- aprire Cygwin e entrare nella cartella cocoalib con il comando "cd", es:
    cd cocoalib-0.9950
- configurare
    ./configure
  puo' verificarsi un errore non trovando "libgmp.so".  E' sufficiente 
  seguire le istruzioni e usare il comando
    ./configure --with-libgmp=.....  (specificare il percorso)
- attendere un po' di tempo e, quando ha finito, compilare con il comando
    make

=============================================================================
=== PACCHETTI CYGWIN
=============================================================================
Scaricare ed eseguire lo script "setup.exe" dal sito www.cygwin.com

Installare oltre alle selezioni di default i seguenti pacchetti:
!!!*** ATTENZIONE: std install of BOOST appears to be dynamic libs ***!!!

gcc-g++
make
m4     <---- if you want to compile GMP natively
libboost-devel
libboost-1.48
libgmp-devel
qt4-devel-tools
libqtcore4 
libqtcore4devel
libqtgui4
libqtgui4-devel
libqtxml4-devel
xorg-server
xinit

opzionali (editor):
emacs
emacs-X11
nano


Creare folder /usr/include/stage/lib;
all'interno della dir creare i seguenti link con i comandi:

ln -s /lib/libboost_filesystem-mt.a libboost_filesystem.a
ln -s /lib/libboost_system-mt.a libboost_system.a
ln -s /lib/libboost_thread-mt.a libboost_thread.a

copiare (o fare un link) del file /lib/qt4/bin/qmake.exe in /usr/local/bin



NOTE: ho escluso il test lecture-HF4.cocoa5 causa errore nella
verifica del risultato.
[soluzione temporanea: commentare nel file Makefile in src/CoCoA-5/tests]


IN CASO DI MALFUNZIONAMENTO dell'Xserver, creare (da windows) un file
.bat con il seguente contenuto nella directory radice di cygwin
(c:\cygwin):

----------------
@echo off

cd bin

@rem dash -l -i -c "echo ' !!  Starting rebasing. Be patient  !! \n' ; rebaseall -s 'dll|so|oct' -T /usr/local/lista_rebase"
dash -l -i -c "echo ' !!  Starting rebasing. Be patient  !! \n' ; rebaseall -s 'dll|so|oct' "


echo .
echo  !!  No rebaseall errors ?  Then everything is fine,   !!  
echo  !!  otherwise you have other cygwin processes running !!
echo .

pause
----------------

ed eseguirlo (sempre da windows) nella dir cygwin



Configurazione xserver:

per aggiungere al menu lo shortcut a C5.exe creare un file sulla home
dir nella console di cygwin di nome .XWinrc con il seguente contenuto
(per comodita' si puo' creare un link di nome CoCoALib):

[*** nel seguente sostituire "xxxx" con la versione di CoCoALib, p.es. 0.9953 ***]

SilentExit
Menu apps {
	C5 EXEC "CoCoALib-xxxx/src/CoCoA-5/C5.exe  --packageDir CoCoALib-xxxx/src/CoCoA-5/packages"
	xterm	exec	"xterm"
	"Emacs"	exec	"emacs"
	notepad	exec	notepad
	SEPARATOR
	"Reload .XWinrc"	RELOAD
}
RootMenu apps

Per lanciare automaticamente all'avvio dell' xserver C5.exe (invece di
una console xterm) creare un file sulla home dir nella console di
cygwin di nome .startxwinrc con il seguente contenuto:

/home/<NOME_UTENTE>/CoCoALib-xxxx/src/CoCoA-5/C5.exe  --packageDir CoCoALib-xxxx/src/CoCoA-5/packages
