Убедиться, что у вас 64-битная машина.
В BIOS включить опции «Intel VT» или «AMD-V».
Скачиваем последнюю версию VirtualBox и VirtualBox Extension Pack с сайта. Устанавливаем командой:
# dpkg -i virtualbox-5.0_*_amd64.deb # VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack
Создаем (или импортируем) виртуальную машину с Ubuntu. Если устанавливаем с нуля, то диск лучше делать динамическим и разбить его на два раздела: 16 ГБ под систему и 20 ГБ под home. Раздел подкачки лучше не создавать, а использовать файл подкачки на системном разделе (установить пакет dphys-swapfile).
В гостевой Ubuntu устанавливаем «Дополнения гостевой ОС» (VirtualBox guest additions).
Сносим лишние пакеты, устанавливаем нужные:
apt-get install aptitude pv vim checkinstall screen openssh-server
sudo apt-get remove --purge evince thunderbird empathy gwibber gnome-games-data aisleriot indicator-messages software-center sudo aptitude install gnome-session-fallback sudo aptitude install etckeeper
Инструкция по установке Если следовать инструкции, получится директория с кашей из софта. Процесс сборки занимает около полутора часов на core i7 с 8ГБ оперативной памяти.
Для компиляции PandaRoot необходимо предварительно утановить FairRoot и FairSoft. Сборка FairSoft, FairRoot из исходных кодов – очень ресурсоемкий процесс, который к тому же порядка 10ГБ свободного пространства на диске. Поэтому рекомендуем собрать FairSoft и FairRoot на реальном компьютере с той же версией операционной системы, а затем перенести их на виртуальную машину.
Чтобы установить собрать пакеты, которые легко будет перенести на виртуальную машину, нужно немного отклониться от инструкции.
sudo apt-get install cmake cmake-data \ g++ gcc gfortran build-essential make patch sed libx11-dev \ libxft-dev libxext-dev libxpm-dev libxmu-dev libglu1-mesa-dev \ libgl1-mesa-dev ncurses-dev curl bzip2 gzip unzip tar \ subversion git xutils-dev flex bison lsb-release \ python-dev libc6-dev-i386 libxml2-dev wget libssl-dev \ libboost-dev checkinstall
Дополнительно нужно установить libcurl-dev (в Убунту – libcurl4-gnutls-dev)
FairSoft – это готовый скрипт, устанавливающий набор необходимых программ: ROOT5/6, Geant4, Pythia8 и т.п.
Клонируем только файлы неободимого релиза (тега – в терминологии git) в директорию fairsoft_mar15p2.
export TAG=mar15p2 git clone --branch $TAG --depth 1 https://github.com/FairRootGroup/FairSoft fairsoft_$TAG cd fairsoft_$TAG sudo mkdir -p /opt/fair/fairsoft.$TAG sudo chgrp -R users /opt/fair/fairsoft.$TAG chmod g+ws /opt/fair/fairsoft.$TAG time ./configure.sh << Отвечаем цифрами, а когда спросят path:, указываем /opt/fair/fairsoft.mar15p2 >>
Собираем мартовскую версию FairRoot:
export SIMPATH=/opt/fair/fairsoft.mar15p2/ ls $SIMPATH export FRTAG=15.03a git clone --branch v-$FRTAG --depth 1 https://github.com/FairRootGroup/FairRoot fairroot_$FRTAG cd fairroot_${FRTAG}/ mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/opt/fair/fairroot${FRTAG} ../ make -j 8 #число процессоров в системе << При сборке следим, чтобы системная память не переполнялась. Если система "ушла в swap", останавливаем make нажатием Ctrl-C и перезапускаем с меньшим числом процессов. >> rm -r /opt/fair/fairroot${FRTAG} sudo checkinstall
Отвечаем на вопросы checkinstall: 0 - Maintainer: [ ] 1 - Summary: [ Fairroot custom built. ] 2 - Name: [ fairroot-15.03a ] 3 - Version: [ 0 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ amd64 ] 8 - Source location: [ https://github.com/FairRootGroup/FairRoot ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ fairroot15 ] 12 - Conflicts: [ ] 13 - Replaces: [ ] . >>
Переносим fairsoft.tar.gz и fairroot…deb на виртуальную машину.
Распаковываем fairsoft:
sudo tar -xfzf fairsoft.tar.gz -C /
Устанавливаем fairroot:
sudo dpkg -i fairroot*.deb
Скачиваем и собираем pandaroot:
export FAIRROOTPATH=/opt/fair/fairroot-15.03a/ export SIMPATH=/opt/fair/fairsoft.mar15p2/ svn co https://subversion.gsi.de/fairroot/pandaroot/release/mar15 pandaroot_mar15 cd pandaroot_mar15 mkdir build cd build cmake ../ make -j 8 # число процессоров виртуальной машины
<< если для сборки не хватает оперативной памяти (машина "уходит в swap"), останавливаем make и запускаем с меньшим числом процессов. >>
Устанавливаем зависимости
sudo aptitude install python-pip python-setuptools python-numpy python-matplotlib python-termcolor
Устанавливаем в домашнюю директорию:
. thisroot.sh pip install --user rootpy