Hallo,
ich habe mir ebenfalls ein akutelles Scamp gebaut, danke an Thomas für die Anleitung, das hat die Sache deutlich erleichtert. Ein paar Anpassungen habe ich gemacht, die ich hier nochmal dokumentieren möchte, evtl. hilfts ja jemand. Wie Thomas habe ich ein 64-bit System, für 32-bit sind die Zeilen unten entsprechend anzupassen.
Speziell wollte ich das sudo vermeiden (arbeite viel mit Linux, aber so wenig wie möglich als root), indem ich die make install Schritte in einen lokalen Pfad installieren lasse.
Nötige Pakete nachinstallieren, entweder über Ubuntu Software-Center, oder so per Kommandozeile:
- Code: Alles auswählen
sudo apt-get install libplplot-dev plplot11-driver-gd cpufrequtils
Alle folgenden Schritte werden als Normaluser gemacht, also ohne vorherigen sudo -su root!
CDS Client:
- Code: Alles auswählen
mkdir -p ~/work/theli/scamp-trunk
cd ~/work/theli/scamp-trunk
wget 'http://cdsarc.u-strasbg.fr/ftp/pub/sw/cdsclient.tar.gz'
tar -xvf cdsclient.tar.gz
cd cdsclient-3.71
./configure --prefix=$(cd ..; pwd)
make
make install
Atlas Bibliothek:
- Code: Alles auswählen
cd ~/work/theli/scamp-trunk
wget 'http://sourceforge.net/projects/math-atlas/files/Stable/3.10.0/atlas3.10.0.tar.bz2'
tar -xvf atlas3.10.0.tar.bz2
mkdir ATLAS_Linux_Core-i7-2600
cd ATLAS_Linux_Core-i7-2600
for CPU in 0 1 2 3 4 5 6 7; do sudo cpufreq-set -c ${CPU} -g performance; done
../ATLAS/configure -b 64 -D c -DPentiumCPS=3400 --prefix=$(cd ..; pwd)
make
make check
make ptcheck
make time
make install
for CPU in 0 1 2 3 4 5 6 7; do sudo cpufreq-set -c ${CPU} -g ondemand; done
Anmerkung: der libatlas Build aus den Source ist nötig, da die im Ubuntu Repository vorhandene libatlas3gf-base nicht mit Multithreading gebaut wurde. Der cpufreq-set ist nötig, da der Build für die vorhandene Rechnerhardware aus mehreren Codepfaden den Effizientesten auswählt und dazu Performance-Messungen macht, die bei dynamisch veränderter CPU-Frequenz nicht mehr aussagekräftig wären. Die Liste der CPU-Cores (hier 0 1 2 ... 7) muss natürlich an den vorhandenen Prozessor angepasst werden. Alternativ kann man statt cpufreq-set natürlich auch entsprechende GUI-Tools oder BIOS-Einstellungen verwenden.
Scamp:
- Code: Alles auswählen
cd ~/work/theli/scamp-trunk
wget -O scamp-$(date "+%Y%m%d").tar.gz 'http://www.astromatic.net/wsvn/public/dl.php?repname=public+software.scamp&path=%2Ftrunk%2F&rev=0&isdir=1'
tar -xvf scamp-$(date "+%Y%m%d").tar.gz
cd trunk.r305
sed -i -e "s|LIBTOOL='\$(SHELL) \$(top_builddir)/libtool'|LIBTOOL='/usr/bin/libtool'|g" configure
./configure --enable-threads --prefix=$(cd ..; pwd) --with-atlas-incdir=$(cd ..; pwd)/include --with-atlas-libdir=$(cd ..; pwd)/lib --with-cdsclient-dir=$(cd ..; pwd)/bin
make
make install
Anmerkung 1: der sed ersetzt das explizit hardcodete lokale libtool durch das aktuell im Ubuntu installierte. Ohne diesen Schritt bekomme ich einen Build-Abbruch wegen unterschiedlicher libtool Versionen.
Anmerkung 2: trunk.r305 muss natürlich an die aktuelle Revisionsnummer angepasst werden, wenn im Astromatic Repository ein neuer Scamp-Headstand eingecheckt wurde.
Scamp ins Theli-Verzeichnis kopieren:
- Code: Alles auswählen
cd ~/work/theli/scamp-trunk
cp -p bin/scamp ~/THELI/theli/bin/Linux_64/
Wolfgang