Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
howto:root:pandaroot [2015/10/13 15:19] sergey |
howto:root:pandaroot [2020/03/24 16:24] (текущий) ryzhikov [Установка PandaRoot на VirtualBox] |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | === Предварительная подготовка === | + | ====== Установка PandaRoot на VBox ====== |
| - | Убедиться, что у вас 64-битная машина. | + | |
| + | ===== Предварительная подготовка ===== | ||
| + | Убедиться, что у вас 64-битная машина. | ||
| + | |||
| В BIOS включить опции "Intel VT" или "AMD-V". | В BIOS включить опции "Intel VT" или "AMD-V". | ||
| + | |||
| + | ===== Установка ViritualBox ===== | ||
| - | |||
| - | === Установка ViritualBox === | ||
| Скачиваем последнюю версию VirtualBox и VirtualBox Extension Pack с [[https://www.virtualbox.org/wiki/Downloads|сайта]]. | Скачиваем последнюю версию VirtualBox и VirtualBox Extension Pack с [[https://www.virtualbox.org/wiki/Downloads|сайта]]. | ||
| Устанавливаем командой: | Устанавливаем командой: | ||
| Строка 12: | Строка 14: | ||
| # VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack | # VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack | ||
| - | В гостевой Ubuntu устанавливаем "Дополнения гостевой ОС" (VirtualBox guest additions). | ||
| + | Создаем (или импортируем) виртуальную машину с Ubuntu. | ||
| + | Если устанавливаем с нуля, то диск лучше делать динамическим и разбить его на два раздела: 16 ГБ под систему и 20 ГБ под home. Раздел подкачки лучше не создавать, а использовать файл подкачки на системном разделе (установить пакет dphys-swapfile). | ||
| + | | ||
| + | В гостевой Ubuntu устанавливаем "Дополнения гостевой ОС" (VirtualBox guest additions). | ||
| + | | ||
| Сносим лишние пакеты, устанавливаем нужные: | Сносим лишние пакеты, устанавливаем нужные: | ||
| apt-get install aptitude pv vim checkinstall screen openssh-server | apt-get install aptitude pv vim checkinstall screen openssh-server | ||
| Строка 22: | Строка 28: | ||
| sudo aptitude install etckeeper | sudo aptitude install etckeeper | ||
| | | ||
| - | ===Установка PandaRoot=== | + | ===== Установка PandaRoot ===== |
| [[https://panda-wiki.gsi.de/foswiki/bin/view/Computing/PandaRootInstallGit|Инструкция по установке]] | [[https://panda-wiki.gsi.de/foswiki/bin/view/Computing/PandaRootInstallGit|Инструкция по установке]] | ||
| - | + | Если следовать инструкции, получится директория с кашей из софта. Процесс сборки занимает около полутора часов на core i7 с 8ГБ оперативной памяти. | |
| - | В результате получится директория с кашей из | + | |
| - | + | ||
| - | ===Сборка пакета FairSoft и FairRoot, сборка pandaroot === | + | Для компиляции PandaRoot необходимо предварительно утановить FairRoot и FairSoft. |
| - | Чтобы установить нормально, и тем более собрать пакеты, нужно немного отклониться от инструкции. | + | Сборка FairSoft, FairRoot из исходных кодов -- очень ресурсоемкий процесс, который к тому же порядка 10ГБ свободного пространства на диске. Поэтому рекомендуем собрать FairSoft и FairRoot на реальном компьютере с той же версией операционной системы, а затем перенести их на виртуальную машину. |
| - | + | ||
| - | ==== 0. Предварительные требования ==== | + | ==== Сборка пакета FairSoft и FairRoot ==== |
| + | |||
| + | Чтобы установить собрать пакеты, которые легко будет перенести на виртуальную машину, нужно немного отклониться от инструкции. | ||
| + | |||
| + | === 0. Предварительные требования === | ||
| + | |||
| <code> | <code> | ||
| - | apt-get install cmake cmake-data g++ gcc gfortran \ | + | sudo apt-get install cmake cmake-data \ |
| - | build-essential make patch sed libx11-dev libxft-dev \ | + | g++ gcc gfortran build-essential make patch sed libx11-dev \ |
| - | libxext-dev libxpm-dev libxmu-dev libglu1-mesa-dev \ | + | libxft-dev libxext-dev libxpm-dev libxmu-dev libglu1-mesa-dev \ |
| libgl1-mesa-dev ncurses-dev curl bzip2 gzip unzip tar \ | libgl1-mesa-dev ncurses-dev curl bzip2 gzip unzip tar \ | ||
| subversion git xutils-dev flex bison lsb-release \ | subversion git xutils-dev flex bison lsb-release \ | ||
| - | python-dev libc6-dev-i386 libxml2-dev wget libssl-dev | + | python-dev libc6-dev-i386 libxml2-dev wget libssl-dev \ |
| + | libboost-dev checkinstall | ||
| </code> | </code> | ||
| Дополнительно нужно установить libcurl-dev (в Убунту -- libcurl4-gnutls-dev) | Дополнительно нужно установить libcurl-dev (в Убунту -- libcurl4-gnutls-dev) | ||
| - | ==== 1. Установка FairSoft ==== | + | === 1. Установка FairSoft === |
| - | :TODO | + | |
| + | FairSoft -- это готовый скрипт, устанавливающий набор необходимых программ: ROOT5/6, Geant4, Pythia8 и т.п. | ||
| - | ==== 2. Установка FairRoot ==== | + | Клонируем только файлы неободимого релиза (тега -- в терминологии git) в директорию fairsoft_mar15p2. |
| - | :TODO | + | <code> |
| - | ==== 3. Сборка пакета FairRoot ==== | + | export TAG=mar15p2 |
| - | Удаляем директорию. | + | git clone --branch $TAG --depth 1 https://github.com/FairRootGroup/FairSoft fairsoft_$TAG |
| - | Запускаем sudo checkinstall | + | cd fairsoft_$TAG |
| - | :TODO | + | 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 >> | ||
| + | </code> | ||
| + | === 2. Установка FairRoot и сборка пакета === | ||
| + | Собираем мартовскую версию FairRoot: | ||
| + | <code> | ||
| + | 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 | ||
| + | </code> | ||
| - | ==== 3. сборка pandaroot ==== | + | <code> |
| - | :TODO | + | Отвечаем на вопросы 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: [ ] | ||
| + | . >> | ||
| + | </code> | ||
| + | ==== Cборка pandaroot ==== | ||
| + | Переносим fairsoft.tar.gz и fairroot...deb на виртуальную машину. | ||
| + | Распаковываем fairsoft: | ||
| + | sudo tar -xfzf fairsoft.tar.gz -C / | ||
| + | |||
| + | Устанавливаем fairroot: | ||
| + | sudo dpkg -i fairroot*.deb | ||
| + | |||
| + | Скачиваем и собираем pandaroot: | ||
| + | <code> | ||
| + | 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 # число процессоров виртуальной машины | ||
| + | </code> | ||
| + | << если для сборки не хватает оперативной памяти (машина "уходит в swap"), останавливаем make и запускаем с меньшим числом процессов. >> | ||
| + | | ||
| + | |||
| + | ==== Установка rootpy ==== | ||
| + | Устанавливаем зависимости | ||
| + | sudo aptitude install python-pip python-setuptools python-numpy python-matplotlib python-termcolor | ||
| + | | ||
| + | Устанавливаем в домашнюю директорию: | ||
| + | <code> | ||
| + | . thisroot.sh | ||
| + | pip install --user rootpy | ||
| + | </code> | ||