Setup On Linux

Revision as of 01:16, 19 Dec 2006
213.42.21.77 (Talk | contribs)
http://morgan-john.realitsen.info
← Go to previous diff
Current revision
Oftdso (Talk | contribs)
Введение
Line 1: Line 1:
-[http://licata-riccardo.topo20.org licata, riccardo] - licata, riccardo licata, riccardo licata, riccardo [http://licata-riccardo.topo20.org licata, riccardo], [http://hell.fifa2007it.org hell] - hell hell hell [http://hell.fifa2007it.org hell], [http://ackermann-max.trevisos.org ackermann, max] - ackermann, max ackermann, max ackermann, max [http://ackermann-max.trevisos.org ackermann, max], [http://qixia-si.realitsen.info qixia si] - qixia si qixia si qixia si [http://qixia-si.realitsen.info qixia si], [http://alex-and.design4italy.org alex and emma] - alex and emma alex and emma alex and emma [http://alex-and.design4italy.org alex and emma], [http://capelle-jan.win-for-italy.info capelle, jan van de-] - capelle, jan van de- capelle, jan van de- capelle, jan van de- [http://capelle-jan.win-for-italy.info capelle, jan van de-], [http://bikom.trevisos.org bikom] - bikom bikom bikom [http://bikom.trevisos.org bikom], [http://paraylemonial.realitsen.info paray-le-monial] - paray-le-monial paray-le-monial paray-le-monial [http://paraylemonial.realitsen.info paray-le-monial], [http://mitsuyoshi-tosa.realitsen.info mitsuyoshi tosa] - mitsuyoshi tosa mitsuyoshi tosa mitsuyoshi tosa [http://mitsuyoshi-tosa.realitsen.info mitsuyoshi tosa], [http://four-brothers.fifa2007it.org four brothers - quattro fratelli] - four brothers - quattro fratelli four brothers - quattro fratelli four brothers - quattro fratelli [http://four-brothers.fifa2007it.org four brothers - quattro fratelli], [http://baumhauer-joseph.trevisos.org baumhauer, joseph] - baumhauer, joseph baumhauer, joseph baumhauer, joseph [http://baumhauer-joseph.trevisos.org baumhauer, joseph], [http://bentley-john.trevisos.org bentley, john francis] - bentley, john francis bentley, john francis bentley, john francis [http://bentley-john.trevisos.org bentley, john francis], [http://konarak.topo20.org konarak] - konarak konarak konarak [http://konarak.topo20.org konarak], [http://beauvais.trevisos.org beauvais] - beauvais beauvais beauvais [http://beauvais.trevisos.org beauvais], [http://il-viaggio.motnolado.org il viaggio di felicia] - il viaggio di felicia il viaggio di felicia il viaggio di felicia [http://il-viaggio.motnolado.org il viaggio di felicia], [http://fanum-voltumnae.win-for-italy.info fanum voltumnae] - fanum voltumnae fanum voltumnae fanum voltumnae [http://fanum-voltumnae.win-for-italy.info fanum voltumnae], [http://halle.topo20.org halle] - halle halle halle [http://halle.topo20.org halle], [http://divisionismo.win-for-italy.info divisionismo] - divisionismo divisionismo divisionismo [http://divisionismo.win-for-italy.info divisionismo], [http://vivin-louis.design4italy.org vivin, louis] - vivin, louis vivin, louis vivin, louis [http://vivin-louis.design4italy.org vivin, louis], [http://thule-springs.design4italy.org thule springs] - thule springs thule springs thule springs [http://thule-springs.design4italy.org thule springs], [http://abercrombie-sir.trevisos.org abercrombie, sir patrick] - abercrombie, sir patrick abercrombie, sir patrick abercrombie, sir patrick [http://abercrombie-sir.trevisos.org abercrombie, sir patrick], [http://tessenow-heinrich.design4italy.org tessenow heinrich] - tessenow heinrich tessenow heinrich tessenow heinrich [http://tessenow-heinrich.design4italy.org tessenow heinrich], [http://ebrach.win-for-italy.info ebrach] - ebrach ebrach ebrach [http://ebrach.win-for-italy.info ebrach], [http://piattabanda.realitsen.info piattabanda] - piattabanda piattabanda piattabanda [http://piattabanda.realitsen.info piattabanda], [http://piles-roger.realitsen.info piles, roger de-] - piles, roger de- piles, roger de- piles, roger de- [http://piles-roger.realitsen.info piles, roger de-], [http://charlotte-gray.fifa2007it.org charlotte gray] - charlotte gray charlotte gray charlotte gray [http://charlotte-gray.fifa2007it.org charlotte gray], [http://mills-robert.realitsen.info mills, robert] - mills, robert mills, robert mills, robert [http://mills-robert.realitsen.info mills, robert], [http://belfagor-.fifa2007it.org belfagor - il fantasma del louvre] - belfagor - il fantasma del louvre belfagor - il fantasma del louvre belfagor - il fantasma del louvre [http://belfagor-.fifa2007it.org belfagor - il fantasma del louvre], [http://cenerentola-a.fifa2007it.org cenerentola a parigi] - cenerentola a parigi cenerentola a parigi cenerentola a parigi [http://cenerentola-a.fifa2007it.org cenerentola a parigi], [http://la-spirale.motnolado.org la spirale della vendetta] - la spirale della vendetta la spirale della vendetta la spirale della vendetta [http://la-spirale.motnolado.org la spirale della vendetta], [http://praetexta.realitsen.info praetexta] - praetexta praetexta praetexta [http://praetexta.realitsen.info praetexta], [http://fashion.win-for-italy.info fashion] - fashion fashion fashion [http://fashion.win-for-italy.info fashion], [http://hilton-roger.topo20.org hilton, roger] - hilton, roger hilton, roger hilton, roger [http://hilton-roger.topo20.org hilton, roger], [http://lavedan-pierre.topo20.org lavedan, pierre] - lavedan, pierre lavedan, pierre lavedan, pierre [http://lavedan-pierre.topo20.org lavedan, pierre], [http://pontecagnano-faiano.realitsen.info pontecagnano faiano] - pontecagnano faiano pontecagnano faiano pontecagnano faiano [http://pontecagnano-faiano.realitsen.info pontecagnano faiano], [http://susanna.design4italy.org susanna] - susanna susanna susanna [http://susanna.design4italy.org susanna], [http://bambole-russe.fifa2007it.org bambole russe] - bambole russe bambole russe bambole russe [http://bambole-russe.fifa2007it.org bambole russe], [http://commedia-sexy.fifa2007it.org commedia sexy] - commedia sexy commedia sexy commedia sexy [http://commedia-sexy.fifa2007it.org commedia sexy], [http://bukezukuri.trevisos.org buke-zukuri] - buke-zukuri buke-zukuri buke-zukuri [http://bukezukuri.trevisos.org buke-zukuri], [http://costantino-i.win-for-italy.info costantino i (imperatore romano)] - costantino i (imperatore romano) costantino i (imperatore romano) costantino i (imperatore romano) [http://costantino-i.win-for-italy.info costantino i (imperatore romano)], [http://pawdawmu.realitsen.info pawdawmu] - pawdawmu pawdawmu pawdawmu [http://pawdawmu.realitsen.info pawdawmu], [http://gioco-a.fifa2007it.org gioco a due] - gioco a due gioco a due gioco a due [http://gioco-a.fifa2007it.org gioco a due], [http://leptis-magna.topo20.org leptis magna] - leptis magna leptis magna leptis magna [http://leptis-magna.topo20.org leptis magna], [http://killing-zoe.motnolado.org killing zoe] - killing zoe killing zoe killing zoe [http://killing-zoe.motnolado.org killing zoe], [http://puy-jean.realitsen.info puy, jean] - puy, jean puy, jean puy, jean [http://puy-jean.realitsen.info puy, jean], [http://jerry-maguire.motnolado.org jerry maguire] - jerry maguire jerry maguire jerry maguire [http://jerry-maguire.motnolado.org jerry maguire], [http://brouet-auguste.trevisos.org brouet, auguste] - brouet, auguste brouet, auguste brouet, auguste [http://brouet-auguste.trevisos.org brouet, auguste], [http://pileta-la.realitsen.info pileta, la-] - pileta, la- pileta, la- pileta, la- [http://pileta-la.realitsen.info pileta, la-], [http://campanile.win-for-italy.info campanile] - campanile campanile campanile [http://campanile.win-for-italy.info campanile], [http://arrieta-pedro.trevisos.org arrieta, pedro de-] - arrieta, pedro de- arrieta, pedro de- arrieta, pedro de- [http://arrieta-pedro.trevisos.org arrieta, pedro de-], [http://cambridge-usa.win-for-italy.info cambridge (u.s.a.)] - cambridge (u.s.a.) cambridge (u.s.a.) cambridge (u.s.a.) [http://cambridge-usa.win-for-italy.info cambridge (u.s.a.)], [http://arellano-juan.trevisos.org arellano, juan de-] - arellano, juan de- arellano, juan de- arellano, juan de- [http://arellano-juan.trevisos.org arellano, juan de-], [http://la-cameriera.motnolado.org la cameriera] - la cameriera la cameriera la cameriera [http://la-cameriera.motnolado.org la cameriera], [http://honegger-david.topo20.org honegger, david] - honegger, david honegger, david honegger, david [http://honegger-david.topo20.org honegger, david], [http://hals-frans.topo20.org hals, frans] - hals, frans hals, frans hals, frans [http://hals-frans.topo20.org hals, frans], [http://black-simphony.fifa2007it.org black simphony] - black simphony black simphony black simphony [http://black-simphony.fifa2007it.org black simphony], [http://last-night.motnolado.org last night] - last night last night last night [http://last-night.motnolado.org last night], [http://spencer-stanley.design4italy.org spencer, stanley] - spencer, stanley spencer, stanley spencer, stanley [http://spencer-stanley.design4italy.org spencer, stanley], [http://gertrud.fifa2007it.org gertrud] - gertrud gertrud gertrud [http://gertrud.fifa2007it.org gertrud], [http://tachi.design4italy.org tachi] - tachi tachi tachi [http://tachi.design4italy.org tachi], [http://tisi-benvenuto.design4italy.org tisi, benvenuto] - tisi, benvenuto tisi, benvenuto tisi, benvenuto [http://tisi-benvenuto.design4italy.org tisi, benvenuto], [http://novilara.realitsen.info novilara] - novilara novilara novilara [http://novilara.realitsen.info novilara], [http://dragonfly.fifa2007it.org dragonfly] - dragonfly dragonfly dragonfly [http://dragonfly.fifa2007it.org dragonfly], [http://ricostruire.design4italy.org ricostruire] - ricostruire ricostruire ricostruire [http://ricostruire.design4italy.org ricostruire], [http://base-architettura.trevisos.org base (architettura)] - base (architettura) base (architettura) base (architettura) [http://base-architettura.trevisos.org base (architettura)], [http://muybridge-eadweard.realitsen.info muybridge, eadweard] - muybridge, eadweard muybridge, eadweard muybridge, eadweard [http://muybridge-eadweard.realitsen.info muybridge, eadweard], [http://kahn-louis.topo20.org kahn, louis isadore] - kahn, louis isadore kahn, louis isadore kahn, louis isadore [http://kahn-louis.topo20.org kahn, louis isadore], [http://looy-jacobus.topo20.org looy, jacobus van-] - looy, jacobus van- looy, jacobus van- looy, jacobus van- [http://looy-jacobus.topo20.org looy, jacobus van-], [http://confessions-a.fifa2007it.org confessions of a teenage drama queen] - confessions of a teenage drama queen confessions of a teenage drama queen confessions of a teenage drama queen [http://confessions-a.fifa2007it.org confessions of a teenage drama queen], [http://liberty.topo20.org liberty] - liberty liberty liberty [http://liberty.topo20.org liberty], [http://brinckmann-albert.trevisos.org brinckmann, albert erich] - brinckmann, albert erich brinckmann, albert erich brinckmann, albert erich [http://brinckmann-albert.trevisos.org brinckmann, albert erich], [http://carne-tremula.fifa2007it.org carne tremula] - carne tremula carne tremula carne tremula [http://carne-tremula.fifa2007it.org carne tremula], [http://a-good.fifa2007it.org a good lawyer's wife] - a good lawyer's wife a good lawyer's wife a good lawyer's wife [http://a-good.fifa2007it.org a good lawyer's wife], [http://bourgeois-victor.trevisos.org bourgeois, victor] - bourgeois, victor bourgeois, victor bourgeois, victor [http://bourgeois-victor.trevisos.org bourgeois, victor], [http://gods-and.fifa2007it.org gods and generals] - gods and generals gods and generals gods and generals [http://gods-and.fifa2007it.org gods and generals], [http://fragile.fifa2007it.org fragile] - fragile fragile fragile [http://fragile.fifa2007it.org fragile], [http://kitaj-ronald.topo20.org kitaj, ronald b.] - kitaj, ronald b. kitaj, ronald b. kitaj, ronald b. [http://kitaj-ronald.topo20.org kitaj, ronald b.], [http://foster-sir.win-for-italy.info foster, sir norman] - foster, sir norman foster, sir norman foster, sir norman [http://foster-sir.win-for-italy.info foster, sir norman], [http://vos-cornelis.design4italy.org vos, cornelis de-] - vos, cornelis de- vos, cornelis de- vos, cornelis de- [http://vos-cornelis.design4italy.org vos, cornelis de-], [http://swatch.design4italy.org swatch] - swatch swatch swatch [http://swatch.design4italy.org swatch], [http://venet-bernard.design4italy.org venet, bernard] - venet, bernard venet, bernard venet, bernard [http://venet-bernard.design4italy.org venet, bernard], [http://top.design4italy.org top] - top top top [http://top.design4italy.org top], [http://mora.realitsen.info mora] - mora mora mora [http://mora.realitsen.info mora], [http://big-fish.fifa2007it.org big fish] - big fish big fish big fish [http://big-fish.fifa2007it.org big fish], [http://bosch-y.trevisos.org bosch y gimpera, pedro] - bosch y gimpera, pedro bosch y gimpera, pedro bosch y gimpera, pedro [http://bosch-y.trevisos.org bosch y gimpera, pedro], [http://pailou.realitsen.info pailou] - pailou pailou pailou [http://pailou.realitsen.info pailou], [http://nylon.realitsen.info nylon] - nylon nylon nylon [http://nylon.realitsen.info nylon], [http://carlitos-way.fifa2007it.org carlito's way] - carlito's way carlito's way carlito's way [http://carlitos-way.fifa2007it.org carlito's way], [http://loggiato.topo20.org loggiato] - loggiato loggiato loggiato [http://loggiato.topo20.org loggiato], [http://avedon-richard.trevisos.org avedon, richard] - avedon, richard avedon, richard avedon, richard [http://avedon-richard.trevisos.org avedon, richard], [http://orchard-william.realitsen.info orchard, william] - orchard, william orchard, william orchard, william [http://orchard-william.realitsen.info orchard, william], [http://gremlins.fifa2007it.org gremlins] - gremlins gremlins gremlins [http://gremlins.fifa2007it.org gremlins], [http://accademismo.trevisos.org accademismo] - accademismo accademismo accademismo [http://accademismo.trevisos.org accademismo], [http://candela-felix.win-for-italy.info candela, felix] - candela, felix candela, felix candela, felix [http://candela-felix.win-for-italy.info candela, felix], [http://azzolini-tito.trevisos.org azzolini, tito] - azzolini, tito azzolini, tito azzolini, tito [http://azzolini-tito.trevisos.org azzolini, tito], [http://kiva.topo20.org kiva] - kiva kiva kiva [http://kiva.topo20.org kiva], [http://robert-luzarches.design4italy.org robert de luzarches] - robert de luzarches robert de luzarches robert de luzarches [http://robert-luzarches.design4italy.org robert de luzarches], [http://del-perduto.fifa2007it.org del perduto amore] - del perduto amore del perduto amore del perduto amore [http://del-perduto.fifa2007it.org del perduto amore], [http://shumman-kubo.design4italy.org shumman, kubo] - shumman, kubo shumman, kubo shumman, kubo [http://shumman-kubo.design4italy.org shumman, kubo], [http://morgan-john.realitsen.info morgan, john pierpont] - morgan, john pierpont morgan, john pierpont morgan, john pierpont [http://morgan-john.realitsen.info morgan, john pierpont], morgan, john pierpont+==Введение==
 +[[SetupLinux|Пошаговое руководство по установке GEANT4]], которое раньше
 +предлагалось на этом сайте в качестве основного, не содержало
 +фактических ошибок. Пользуясь им, GEANT4 можно установить и сейчас,
 +однако на момент, когда оно было написано, последней версией
 +библиотеки была 4.6.0. За полтора года изменилось довольно многое, и,
 +в частности, официально рекомендованный разработчиками способ
 +установки GEANT4. Скрипт Configure находился в корне дерева папок
 +geant4 и раньше, но тогда он не работал.
 + 
 + 
 +'''Source(s):''' [http://www.downloadranking.com GEANT4]
 + 
 + 
 +===Совместимость===
 +Лучшей платформой для запуска Geant4 является Linux. Официально
 +поддерживается еще целый список архитектур, в числе которых есть и
 +Windows, но Linux является основной платформой разработки geant, и
 +поэтому вероятность успешной устанвки именно в ней будет несколько
 +выше. Нам ничего не известно о случаях запуска Geant4 в Windows,
 +поэтому не желающих переключаться в более свободную ОС просто отсылаем
 +к официальному руководству по установке в Windows с использованием
 +окружения Cygwin (англ.) или к статье об установке без Cygwin, но с
 +с экстраординарными усилиями.
 + 
 +Итак, установка в Линуксе. Вопреки расхожему мнению, установить GEANT4
 +удастся на любом более-менее современном дистрибутиве
 +линукса. Единственным условием успешности этого процесса является
 +наличие достаточно свежих версий [http://en.wikipedia.org/wiki/GNU_Compiler_Collection gcc]. Проверить его наличие можно
 +командой
 + $ gcc --version
 +На нашей машине данная команда выдает следующий текст:
 + gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)
 + Copyright (C) 2004 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.
 +Из чего следует, что версия GCC, установленная у нас —
 +gcc 3.4.2. Geant4 нельзя установить на систему с версией gcc
 +ниже, чем 3.0.6. В любом современно дистрибутиве Линукса это требование
 +выполнено, так что волноваться по этому поводу нет причин.
 + 
 + 
 +'''Source(s):''' [http://www.downloadranking.com GEANT4]
 + 
 + 
 +===Несколько замечаний про Ubuntu===
 +Перед установкой Geant4 в Ubuntu надо предварительно установить несколько отсутствующих изначально пакетов:
 + 
 + # apt-get install build-essential freeglut3-dev xorg-dev
 + 
 + 
 +'''Source(s):''' [http://www.downloadranking.com GEANT4]
 + 
 +==Подготовка==
 + 
 +Нам понадобится несколько файлов.
 + 
 +===Математическая библиотека CLHEP===
 + 
 +CLHEP (A Class Library for High Energy Physics) содержит
 +базовые операции для
 +манипуляций с векторами, матрицами, случайными числами и т. п.
 +<!--Lupus-->Содержит описание стандартных математических объектов, часто используемых в ФВЭ:
 +*3-векторы и 4-векторы
 +*действия с матрицами
 +*геометрические объекты и преобразования
 +*генераторы случайных чисел
 +*система единиц и основные физические константы
 +<!--/Lupus-->
 + 
 +Эту библиотеку нам придется установить из исходного кода. Соответствующий
 +архив можно взять здесь: http://proj-clhep.web.cern.ch/proj-clhep/,
 +по ссылке Downloading / Latest source code.
 + 
 +Обычно доступно сразу несколько версий CLHEP, и на ее сайте
 +ничего не сказано о том, какую версию использовать для
 +работы с Geant4. В действительности, последняя версия Clhep
 +не всегда совместима с Geant4 — могут возникать различные
 +непонятные проблемы: ошибки компиляции, утечки памяти, и т. д.
 +Лучше всего скачивать ту версию CLHEP, с которой был протестирован Geant.
 +Это написано на [http://geant4.web.cern.ch/geant4/support/download.shtml сайте загрузки Geant]
 +в разделе '''Pre-compiled libraries'''.
 +«These libraries were built using CLHEP version i.j.k.»
 + 
 +===Собственно, Geant4===
 +Теперь нужно загрузить исходный код Geant4.
 +Архив скачивается по уже известному адресу:
 +http://geant4.web.cern.ch/geant4/support/download.shtml.
 +Для скачивания нужно нажать под заголовком Source Files
 +на кнопку слева от надписи "GNU or Linux tar format, compressed using gzip".
 + 
 +===Data files===
 +Если мы собираемся использовать процессы G4LowEnergy или G4HP,
 +нам также понадобятся пять библиотек с базами данных, доступных
 +на той же странице под заголовком Data files.
 +Их нужно точно так же скачать, нажав на соответствующие кнопки.
 + 
 +==Установка==
 + 
 +В дальнейшем полагаем, что у нас есть директория <tt>~/geantfiles/</tt> в которую
 +были загружены все перечисленные выше файлы.
 + 
 +===CLHEP===
 + 
 +Будем устанавливать библиотеку в директорию <tt>/usr/local/CLHEP</tt>.
 + 
 +Переходим в <tt>~/geantfiles/</tt>:
 + $ cd ~/geantfiles
 +и выполняем следующие команды:
 + $ tar xzf clhep-2.0.3.1.tgz
 + $ cd 2.0.3.1/CLHEP
 +Далее переходим в режим администратора
 + $ su (или sudo -s)
 + Password:
 +и продолжаем:
 + # ./configure --prefix=/usr/local/CLHEP --disable-shared
 + # make && make install
 + 
 +Здесь мы отключили компиляцию динамических библиотек по
 +причинам, которые станут ясны несколько позднее.
 + 
 +===Geant4: распаковка===
 + 
 +Мы будем устанавливать Geant в директорию <tt>/usr/local/geant4</tt>. Сначала
 +мы распакуем архив в эту папку, а потом запустим скрипт '''Configure''',
 +который сделает всё остальное.
 + 
 + # cd ~/geantfiles
 + # tar xzf geant4.8.2.p01.gtar.gz -C /usr/local
 + # cd /usr/local
 + 
 +Теперь пишем "mv ge" и нажимаем табуляцию. Строчка развернётся до
 + 
 + # mv geant4.8.2.p01
 + 
 +<tt>geant4.8.2.p01</tt> -- так называлась папка внутри архива.
 +Дописываем через пробел "geant4" и нажимаем '''Enter''':
 + 
 + # mv geant4.8.2.p01 geant4
 + 
 +Тем самым мы переименовываем её
 +в <tt>geant4</tt>, как и хотели.
 + 
 +===Data files===
 + 
 +Возвращаемся в папку с файлами.
 + # cd ~/geantfiles
 +Распаковываем Data files:
 + # mkdir /usr/local/geant4/data
 + # tar xzf PhotonEvaporation.2.0.tar.gz -C /usr/local/geant4/data
 + # tar xzf G4RadioactiveDecay.3.1.tar.gz -C /usr/local/geant4/data
 + # tar xzf G4EMLOW.4.2.tar.gz -C /usr/local/geant4/data
 + # tar xzf G4NDL.3.10.tar.gz -C /usr/local/geant4/data
 + 
 +===Geant4: скрипт Configure===
 + 
 +Переходим обратно:
 + # cd /usr/local/geant4
 + 
 +Теперь запускаем собственно скрипт '''Configure''':
 + 
 + # ./Configure -build
 + 
 +Его работа состоит в том, что он задаст вам несколько
 +вопросов и на основании ваших ответов создаст конфигурацию для
 +установки и использований Geant4. Итак, первые несколько экранов
 +его вывода можно безопасно пропустить, нажимая '''Enter''' в ответ на
 +запрос
 + [Type carriage return to continue]
 +Первым важным вопросом будет вопрос о платформе:
 + Definition of G4SYSTEM variable is Linux-g++.
 + That stands for:
 +
 + 1) OS : Linux
 +
 + 2) Compiler : g++
 +
 + To modify default settings, select number above (e.g. 2)
 + [Press [Enter] for default settings]
 +Нам был предложен вариант по умолчанию (система Linux и компилятор
 +GCC), с которым мы соглашаемся. Configure всегда предлагает
 +достаточно разумные варианты ответов по умолчанию, которые выводятся в
 +квадратных скобках и с которыми можно согласиться просто нажатием
 +'''Enter'''.
 + 
 +Следующий вопрос касается портабельности сгенерированных
 +Configure скриптов, которые будут в дальнейшем использоваться
 +при компиляции программ на основе Geant.
 + I can set things up so that your shell scripts and binaries are more portable,
 + at what may be a noticable cost in performance. In particular, if you
 + ask to be portable, the following happens:
 +
 + 1) Shell scripts will rely on the PATH variable rather than using
 + the paths derived above.
 + 2) ~username interpretations will be done at run time rather than
 + by Configure.
 +
 + Do you expect to run these scripts and binaries on multiple machines? [n]
 +На этот вопрос стоит ответить y, если вы планируете использовать
 +одну и ту же установку Geant4 по сети, или, скажем, просто захотите
 +скопировать его с одной машины на другую. На уже откомпилированные
 +программы ограничения ответа n не распространяются, но и ответ
 +y вопреки утверждениям '''Configure''' не даст сколько-нибудь
 +заметного падения скорости компиляции. Отвечаем '''y''' и нажимаем
 +'''Enter'''
 + 
 + Where is Geant4 source installed? [/usr/local/geant4]
 + 
 +Где находится исходный код Geant. Ответ по умолчанию подходит.
 + Specify the path where Geant4 libraries and source files should be
 + installed. [/usr/local/geant4]
 +Куда будет установлен ''Geant4''. Так как мы планируем устанавливать его
 +в ту же самую директорию, куда и распаковали, то соглашаемся с
 +предложенным вариантом (нажатием '''Enter''')
 + Do you want to copy all Geant4 headers
 + in one directory? [n]
 +'''Configure''' любезно предлагает скопировать все заголовочные файлы ''Geant4''
 +в одну папку. В принципе это может оказаться в один момент очень
 +удобно, так что отвечаем '''y'''.
 + Please, specify default directory where ALL the Geant4 data is installed:
 +
 + G4LEVELGAMMADATA: /usr/local/geant4/data/PhotonEvaporation2.0
 +
 + G4RADIOACTIVEDATA: /usr/local/geant4/data/RadioactiveDecay3.1
 +
 + G4LEDATA: /usr/local/geant4/data/G4EMLOW4.2
 +
 + NeutronHPCrossSections: /usr/local/geant4/data/G4NDL3.10
 +
 + You will be asked about customizing these next.
 +
 +
 + [/usr/local/geant4/data]
 +Нажимаем '''Enter''', ибо в предыдущем пункте мы распаковали файлы как раз в указываемое место.
 + Please, specify where CLHEP is installed:
 +
 + CLHEP_BASE_DIR:
 +
 +
 +Пишем "/usr/local/CLHEP" и жмём '''Enter'''.
 + You can customize paths and library name of you CLHEP installation:
 +
 + 1) CLHEP_INCLUDE_DIR: /usr/local/CLHEP/include
 + 2) CLHEP_LIB_DIR: /usr/local/CLHEP/lib
 + 3) CLHEP_LIB: CLHEP
 +
 + You
 + To modify default settings, select number above (e.g. 2)
 +
 + [Press [Enter] for default settings]
 +Жмём '''Enter'''.
 + By default 'static' (.a) libraries are built.
 +
 + Do you want to build 'shared' (.so) libraries? [n]
 + 
 +На i386 динамические библиотеки приблизительно на 20—30%
 +медленнее статических, поэтому принимаем предложение по умолчанию не
 +собирать динамических библиотек.
 + 
 + Do you want to build 'global' compound libraries? [n]
 + 
 +Здесь вам предстоит выбрать, компилировать Geant в огромное количество
 +(~150) маленьких &laquo;гранулярных&raquo; библиотек, либо десять, но
 +больших. Разницы в скорости работы Geant это не дает, однако, на
 +медленных старых машинах с небольшим количеством памяти программы на
 +Geant4 компилируются значительно быстрее при использовании гранулярных
 +библиотек. Однако этот подход привязывает вас к собственной системе
 +Geant4 для нахождения зависимостей и сборки, что может оказаться
 +неудобным в каких-то случаях. На Athlon 1700+ с 512 Мб памяти
 +использование глобальных (больших) библиотек никак не замедляет работу
 +с Geant4. Итак, '''y'''.
 + 
 + Granular libraries are used by defaults, you asked to build global
 + compound libraries. Do you want to build 'granular' libraries too?
 + [n]
 + 
 +Нужно ли собирать гранулярные библиотеки. Они только занимают место,
 +так что отвечаем '''n'''.
 + 
 + Do you want to compile libraries in DEBUG mode (-g)? [n]
 + 
 +Ни в коем случае не отвечаем положительно на этот вопрос! Если вы
 +соберете Geant4 в отладочном режиме, то ваши бинарники будут занимать
 +по 300 Мб, а при их компоновке (то есть, каждый раз, когда вы будете
 +модифицировать свою программу для симуляции) система будет на полчаса
 +уходить в своп.
 + 
 + G4UI_NONE
 +
 + If this variable is set, no UI sessions nor any UI libraries are built.
 + This can be useful when running a pure batch job or in a user framework
 + having its own UI system.
 + Do you want to set this variable ?
 + [n]
 +
 + G4UI_BUILD_XAW_SESSION
 + G4UI_USE_XAW
 +
 + Specifies to include and use the XAW interfaces in the
 + application to be built.
 + The XAW (X11 Athena Widget set) extensions are required to activate
 + and build this driver.
 + [n]
 +
 + G4UI_BUILD_XM_SESSION
 + G4UI_USE_XM
 +
 + Specifies to include and use the XM Motif based user interfaces.
 + The XM Motif extensions are required to activate and build this
 + driver.
 + [n]
 +
 +
 +
 + G4VIS_NONE
 +
 + If this variable is set, no visualization drivers will be built or used.
 + Do you want to set this variable ?
 + [n]
 +
 +Далее четыре вопроса, на которые отвечаем принимая предложение по
 +умолчанию. Первый спрашивает, отключить ли все встроенные средства
 +взаимодействия с программой во время выполнения, в том числе и
 +командный интерпретатор. Второй и третий относятся к графическим
 +интерфейсам на основе Xaw и Motif — если они вам нужны, то
 +вы вряд ли сейчас выполняете по шагам действия, следуя данному
 +руководству. Последний предлагает полностью отключить
 +визуализацию. Кому-то может и понадобиться, но не нам. Мы&nbsp;&mdash;
 +большинство.
 + 
 + G4VIS_BUILD_OPENGLX_DRIVER
 + G4VIS_USE_OPENGLX
 +
 + It is an interface to the de facto standard 3D graphics library,
 + OpenGL. It is well suited for real-time fast visualization
 + and prototyping. The X11 version of the OpenGL libraries is
 + required.
 + [n] y
 + 
 +Визуализация геометрии и траекторий посредством OpenGL. По всей
 +видимости оно вам понадобится, поскольку это основной, самый удобный и
 +самый быстрый драйвер визуализации. Отвечаем '''y'''.
 + 
 +
 + G4VIS_BUILD_OPENGLXM_DRIVER
 + G4VIS_USE_OPENGLXM
 +
 + It is an interface to the de facto standard 3D graphics library,
 + OpenGL. It is well suited for real-time fast visualization
 + and prototyping. The X11 version of the OpenGL libraries and
 + the Motif Xm extension is required.
 + [n]
 +
 +То же самое, но с использованием Motif. Cкрытые преимущества данного
 +драйвера мне опять-таки неизвестны.
 + 
 + G4VIS_BUILD_DAWN_DRIVER
 + G4VIS_USE_DAWN
 +
 + DAWN drivers are interfaces to the Fukui Renderer DAWN. DAWN is
 + a vectorized 3D PostScript processor suited to prepare technical
 + high quality outputs for presentation and/or documentation.
 + [n] y
 +
 +DAWN это достаточно удобная система, которая позволяет генерировать
 +картинки визуализации в формате .ps и .eps. Работает она в отличие от
 +OpenGL, режиме офф-лайн, то есть, вы сначала запускаете свою
 +программу, которая после завершения симуляций, генерирует файл в
 +формате DAWN, который затем обрабатывается другой специальной
 +программой Fukui Renderer, и только потом у вас на руках остается
 +векторная иллюстрация. Но тем не менее, повторюсь, достаточно удобно и
 +красиво.
 + 
 + G4VIS_BUILD_OIX_DRIVER
 + G4VIS_USE_OIX
 +
 + The OpenInventor driver is based on OpenInventor technology
 + for scientific visualization.
 + The X11 version of OpenInventor is required.
 + [n]
 + 
 +OpenInventor — это библиотеки и софт для трехмерного моделирования от
 +фирмы SGI. Он позволяет всячески вертеть и обозревать вашу модель
 +прямо во время выполнения программы, все это с аппаратным
 +ускорением. Но без шансов, что он у вас установлен, поэтому отвечаем
 +отрицательно, по умолчанию.
 + 
 + 
 + G4VIS_BUILD_RAYTRACERXX_DRIVER
 + G4VIS_USE_RAYTRACERX
 +
 + Allows for interactive ray-tracing graphics through X11.
 + The X11 package is required.
 + [n]
 +
 + G4VIS_BUILD_VRML_DRIVER
 + G4VIS_USE_VRML
 +
 + These driver generate VRML files, which describe 3D scenes to be
 + visualized with a proper VRML viewer.
 + [n]
 + 
 +Что такое RayTracerX, я еще не знаю, эта фишка появилась в g4 только
 +начиная с восьмой версии, а вот VRML вам очень может
 +понадобиться. Хотя бы для того, чтобы импортировать модели Geant в
 +3D Max, или для отлаживания геометрии.
 + 
 + OGLHOME/include
 + OGLHOME/lib
 +
 + You have selected to use OpenGL driver.
 + Specify the correct path (OGLHOME) where OpenGL is installed in your system.
 + It was found in:
 + [/usr]
 + 
 +Здесь нужно указать, где именно у вас установленны библиотеки
 +OpenGL. На большинстве систем они именно там, куда указывает путь,
 +предложенный '''Configure''', в папке <tt>/usr</tt>, так что,
 +принимаем этот вариант.
 + 
 + G4LIB_BUILD_G3TOG4
 +
 + The utility module 'g3tog4' will be built by setting this
 + variable. NOTE: it requires a valid FORTRAN compiler to be
 + installed on your system and the 'cernlib' command in the
 + path, in order to build the ancillary tools!
 + Do you want to build 'g3tog4' ?
 +
 + [n]
 +
 +
 +
 + G4LIB_BUILD_ZLIB
 +
 + Do you wish to activate compression for output files generated
 + through the HepRep visualization driver ?
 + [n]
 +
 +
 +
 + G4ANALYSIS_USE
 +
 + Activates the configuration setup for allowing plugins to
 + analysis tools based on AIDA (Astract Interfaces for Data
 + Analysis). In order to use AIDA features and compliant analysis
 + tools, the proper environment for these tools will have to be
 + set (see documentation for the specific analysis tools).
 + [n]
 + 
 +На эти, последние, три вопроса следует отвечать нажатием
 +'''Enter'''. Первый из них выясняет, желаете ли вы использовать модуль
 +G3toG4, который позволяет использовать существующий фортрановский код
 +для GEANT3 в ваших программах на Geant4. И снова, те кому это может
 +быть интересно, вряд ли читают этот текст.
 + 
 + End of configuration phase.
 +
 +
 + Stripping down executable paths...
 +
 + Creating configuration setup file...
 +
 + WARNING: the generated configuration file
 + can be edited if necessary!
 + You can introduce any change to the configuration file
 + /usr/local/geant4/.config/bin/Linux-g++/config.sh before the final installation.
 + To do so, use a shell escape now (e.g. !vi /usr/local/geant4/.config/bin/Linux-g++/config.sh).
 +
 + Press [Enter] to start installation or use a shell escape to edit config.sh:
 + 
 +О да. Готово. Нажимаем '''Enter''' и ждем несколько часов.
 + 
 +===После чая===
 +Если компиляция завершится успешно, то последним шагом в установке GEANT4 с
 +вашей стороны будет команда
 + # ./Configure -install
 + 
 +Наконец, добавляем в файлик <tt>~/.bash_profile</tt> ссылочку на сгенерированный '''Configure''' скрипт env.sh:
 + # exit
 + $ echo . /usr/local/geant4/.config/bin/Linux-g++/env.sh >> ~/.bash_profile
 + 
 +Если не заработает с <tt>.bash_profile</tt> (шансы 50/50), то вызов env.sh нужно поместить в файл <tt>~/.bashrc</tt>.
 + 
 +Прогоняем его, дабы всё заработало уже сейчас:
 + $ . ~/.bash_profile
 + 
 +Если вы все-таки указали ему, что хотели бы использовать
 +GEANT в виде динамических библиотек, то, возможно, вам понадобится
 +указать их месторасположение динамическому линкеру. Для этого можно
 +сделать, например, так:
 + 
 + $ sudo -s
 + Password:
 + # echo $G4INSTALL/lib/Linux-g++ > /etc/ld.so.conf.d/GEANT.conf
 + # /sbin/ldconfig
 + 
 +===Проверка===
 +Перейдём в папку с примером:
 + $ cd /usr/local/geant4/examples/novice/N03
 +Скомпилируем и запустим пример.
 + $ make && exampleN03
 +Вводим:
 + $ Idle> /run/beamOn
 +На другом окне должна появиться кривая зелёная линия. Если она появилась, то всё прошло успешно. От души поздравляю!

Current revision

Содержание

Введение

Пошаговое руководство по установке GEANT4, которое раньше предлагалось на этом сайте в качестве основного, не содержало фактических ошибок. Пользуясь им, GEANT4 можно установить и сейчас, однако на момент, когда оно было написано, последней версией библиотеки была 4.6.0. За полтора года изменилось довольно многое, и, в частности, официально рекомендованный разработчиками способ установки GEANT4. Скрипт Configure находился в корне дерева папок geant4 и раньше, но тогда он не работал.


Source(s): GEANT4 (http://www.downloadranking.com)


Совместимость

Лучшей платформой для запуска Geant4 является Linux. Официально поддерживается еще целый список архитектур, в числе которых есть и Windows, но Linux является основной платформой разработки geant, и поэтому вероятность успешной устанвки именно в ней будет несколько выше. Нам ничего не известно о случаях запуска Geant4 в Windows, поэтому не желающих переключаться в более свободную ОС просто отсылаем к официальному руководству по установке в Windows с использованием окружения Cygwin (англ.) или к статье об установке без Cygwin, но с с экстраординарными усилиями.

Итак, установка в Линуксе. Вопреки расхожему мнению, установить GEANT4 удастся на любом более-менее современном дистрибутиве линукса. Единственным условием успешности этого процесса является наличие достаточно свежих версий gcc (http://en.wikipedia.org/wiki/GNU_Compiler_Collection). Проверить его наличие можно командой

$ gcc --version

На нашей машине данная команда выдает следующий текст:

gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)
Copyright (C) 2004 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.

Из чего следует, что версия GCC, установленная у нас — gcc 3.4.2. Geant4 нельзя установить на систему с версией gcc ниже, чем 3.0.6. В любом современно дистрибутиве Линукса это требование выполнено, так что волноваться по этому поводу нет причин.


Source(s): GEANT4 (http://www.downloadranking.com)


Несколько замечаний про Ubuntu

Перед установкой Geant4 в Ubuntu надо предварительно установить несколько отсутствующих изначально пакетов:

# apt-get install build-essential freeglut3-dev xorg-dev


Source(s): GEANT4 (http://www.downloadranking.com)

Подготовка

Нам понадобится несколько файлов.

Математическая библиотека CLHEP

CLHEP (A Class Library for High Energy Physics) содержит базовые операции для манипуляций с векторами, матрицами, случайными числами и т. п. Содержит описание стандартных математических объектов, часто используемых в ФВЭ:

  • 3-векторы и 4-векторы
  • действия с матрицами
  • геометрические объекты и преобразования
  • генераторы случайных чисел
  • система единиц и основные физические константы

Эту библиотеку нам придется установить из исходного кода. Соответствующий архив можно взять здесь: http://proj-clhep.web.cern.ch/proj-clhep/, по ссылке Downloading / Latest source code.

Обычно доступно сразу несколько версий CLHEP, и на ее сайте ничего не сказано о том, какую версию использовать для работы с Geant4. В действительности, последняя версия Clhep не всегда совместима с Geant4 — могут возникать различные непонятные проблемы: ошибки компиляции, утечки памяти, и т. д. Лучше всего скачивать ту версию CLHEP, с которой был протестирован Geant. Это написано на сайте загрузки Geant (http://geant4.web.cern.ch/geant4/support/download.shtml) в разделе Pre-compiled libraries. «These libraries were built using CLHEP version i.j.k.»

Собственно, Geant4

Теперь нужно загрузить исходный код Geant4. Архив скачивается по уже известному адресу: http://geant4.web.cern.ch/geant4/support/download.shtml. Для скачивания нужно нажать под заголовком Source Files на кнопку слева от надписи "GNU or Linux tar format, compressed using gzip".

Data files

Если мы собираемся использовать процессы G4LowEnergy или G4HP, нам также понадобятся пять библиотек с базами данных, доступных на той же странице под заголовком Data files. Их нужно точно так же скачать, нажав на соответствующие кнопки.

Установка

В дальнейшем полагаем, что у нас есть директория ~/geantfiles/ в которую были загружены все перечисленные выше файлы.

CLHEP

Будем устанавливать библиотеку в директорию /usr/local/CLHEP.

Переходим в ~/geantfiles/:

$ cd ~/geantfiles

и выполняем следующие команды:

$ tar xzf clhep-2.0.3.1.tgz
$ cd 2.0.3.1/CLHEP

Далее переходим в режим администратора

$ su (или sudo -s)
Password:

и продолжаем:

# ./configure --prefix=/usr/local/CLHEP --disable-shared
# make && make install

Здесь мы отключили компиляцию динамических библиотек по причинам, которые станут ясны несколько позднее.

Geant4: распаковка

Мы будем устанавливать Geant в директорию /usr/local/geant4. Сначала мы распакуем архив в эту папку, а потом запустим скрипт Configure, который сделает всё остальное.

# cd ~/geantfiles
# tar xzf geant4.8.2.p01.gtar.gz -C /usr/local
# cd /usr/local

Теперь пишем "mv ge" и нажимаем табуляцию. Строчка развернётся до

# mv geant4.8.2.p01

geant4.8.2.p01 -- так называлась папка внутри архива. Дописываем через пробел "geant4" и нажимаем Enter:

# mv geant4.8.2.p01 geant4

Тем самым мы переименовываем её в geant4, как и хотели.

Data files

Возвращаемся в папку с файлами.

# cd ~/geantfiles

Распаковываем Data files:

# mkdir /usr/local/geant4/data
# tar xzf PhotonEvaporation.2.0.tar.gz -C /usr/local/geant4/data
# tar xzf G4RadioactiveDecay.3.1.tar.gz -C /usr/local/geant4/data
# tar xzf G4EMLOW.4.2.tar.gz -C /usr/local/geant4/data
# tar xzf G4NDL.3.10.tar.gz -C /usr/local/geant4/data

Geant4: скрипт Configure

Переходим обратно:

# cd /usr/local/geant4

Теперь запускаем собственно скрипт Configure:

# ./Configure -build

Его работа состоит в том, что он задаст вам несколько вопросов и на основании ваших ответов создаст конфигурацию для установки и использований Geant4. Итак, первые несколько экранов его вывода можно безопасно пропустить, нажимая Enter в ответ на запрос

[Type carriage return to continue] 

Первым важным вопросом будет вопрос о платформе:

Definition of G4SYSTEM variable is Linux-g++.
That stands for:

1) OS		: Linux

2) Compiler	: g++

To modify default settings, select number above (e.g. 2) 
[Press [Enter] for default settings] 

Нам был предложен вариант по умолчанию (система Linux и компилятор GCC), с которым мы соглашаемся. Configure всегда предлагает достаточно разумные варианты ответов по умолчанию, которые выводятся в квадратных скобках и с которыми можно согласиться просто нажатием Enter.

Следующий вопрос касается портабельности сгенерированных Configure скриптов, которые будут в дальнейшем использоваться при компиляции программ на основе Geant.

I can set things up so that your shell scripts and binaries are more portable,
at what may be a noticable cost in performance.  In particular, if you
ask to be portable, the following happens:

    1) Shell scripts will rely on the PATH variable rather than using
       the paths derived above.
    2) ~username interpretations will be done at run time rather than
       by Configure.

Do you expect to run these scripts and binaries on multiple machines? [n] 

На этот вопрос стоит ответить y, если вы планируете использовать одну и ту же установку Geant4 по сети, или, скажем, просто захотите скопировать его с одной машины на другую. На уже откомпилированные программы ограничения ответа n не распространяются, но и ответ y вопреки утверждениям Configure не даст сколько-нибудь заметного падения скорости компиляции. Отвечаем y и нажимаем Enter

Where is Geant4 source installed? [/usr/local/geant4] 

Где находится исходный код Geant. Ответ по умолчанию подходит.

Specify the path where Geant4 libraries and source files should be
installed. [/usr/local/geant4] 

Куда будет установлен Geant4. Так как мы планируем устанавливать его в ту же самую директорию, куда и распаковали, то соглашаемся с предложенным вариантом (нажатием Enter)

Do you want to copy all Geant4 headers
in one directory? [n] 

Configure любезно предлагает скопировать все заголовочные файлы Geant4 в одну папку. В принципе это может оказаться в один момент очень удобно, так что отвечаем y.

Please, specify default directory where ALL the Geant4 data is installed:

G4LEVELGAMMADATA:              /usr/local/geant4/data/PhotonEvaporation2.0

G4RADIOACTIVEDATA:             /usr/local/geant4/data/RadioactiveDecay3.1

G4LEDATA:                      /usr/local/geant4/data/G4EMLOW4.2

NeutronHPCrossSections:        /usr/local/geant4/data/G4NDL3.10

You will be asked about customizing these next.

 
[/usr/local/geant4/data] 

Нажимаем Enter, ибо в предыдущем пункте мы распаковали файлы как раз в указываемое место.

Please, specify where CLHEP is installed:

CLHEP_BASE_DIR:

 

Пишем "/usr/local/CLHEP" и жмём Enter.

You can customize paths and library name of you CLHEP installation:

1) CLHEP_INCLUDE_DIR:           /usr/local/CLHEP/include
2) CLHEP_LIB_DIR:               /usr/local/CLHEP/lib
3) CLHEP_LIB:                   CLHEP

You
To modify default settings, select number above (e.g. 2)

[Press [Enter] for default settings] 

Жмём Enter.

By default 'static' (.a) libraries are built.

Do you want to build 'shared' (.so) libraries? [n] 

На i386 динамические библиотеки приблизительно на 20—30% медленнее статических, поэтому принимаем предложение по умолчанию не собирать динамических библиотек.

Do you want to build 'global' compound libraries? [n] 

Здесь вам предстоит выбрать, компилировать Geant в огромное количество (~150) маленьких «гранулярных» библиотек, либо десять, но больших. Разницы в скорости работы Geant это не дает, однако, на медленных старых машинах с небольшим количеством памяти программы на Geant4 компилируются значительно быстрее при использовании гранулярных библиотек. Однако этот подход привязывает вас к собственной системе Geant4 для нахождения зависимостей и сборки, что может оказаться неудобным в каких-то случаях. На Athlon 1700+ с 512 Мб памяти использование глобальных (больших) библиотек никак не замедляет работу с Geant4. Итак, y.

Granular libraries are used by defaults, you asked to build global
compound libraries. Do you want to build 'granular' libraries too?
[n] 

Нужно ли собирать гранулярные библиотеки. Они только занимают место, так что отвечаем n.

Do you want to compile libraries in DEBUG mode (-g)? [n] 

Ни в коем случае не отвечаем положительно на этот вопрос! Если вы соберете Geant4 в отладочном режиме, то ваши бинарники будут занимать по 300 Мб, а при их компоновке (то есть, каждый раз, когда вы будете модифицировать свою программу для симуляции) система будет на полчаса уходить в своп.

  G4UI_NONE

If this variable is set, no UI sessions nor any UI libraries are built. 
This can be useful when running a pure batch job or in a user framework 
having its own UI system.
Do you want to set this variable ?
[n] 

  G4UI_BUILD_XAW_SESSION
  G4UI_USE_XAW

  Specifies to include and use the XAW interfaces in the
  application to be built.
  The XAW (X11 Athena Widget set) extensions are required to activate 
  and build this driver.
[n] 

  G4UI_BUILD_XM_SESSION
  G4UI_USE_XM

  Specifies to include and use the XM Motif based user interfaces.
  The XM Motif extensions are required to activate and build this
  driver.
[n] 
 


  G4VIS_NONE

If this variable is set, no visualization drivers will be built or used.
Do you want to set this variable ?
[n] 

Далее четыре вопроса, на которые отвечаем принимая предложение по умолчанию. Первый спрашивает, отключить ли все встроенные средства взаимодействия с программой во время выполнения, в том числе и командный интерпретатор. Второй и третий относятся к графическим интерфейсам на основе Xaw и Motif — если они вам нужны, то вы вряд ли сейчас выполняете по шагам действия, следуя данному руководству. Последний предлагает полностью отключить визуализацию. Кому-то может и понадобиться, но не нам. Мы — большинство.

  G4VIS_BUILD_OPENGLX_DRIVER
  G4VIS_USE_OPENGLX

It is an interface to the de facto standard 3D graphics library,
OpenGL. It is well suited for real-time fast visualization
and prototyping. The X11 version of the OpenGL libraries is
required.
[n] y

Визуализация геометрии и траекторий посредством OpenGL. По всей видимости оно вам понадобится, поскольку это основной, самый удобный и самый быстрый драйвер визуализации. Отвечаем y.


  G4VIS_BUILD_OPENGLXM_DRIVER
  G4VIS_USE_OPENGLXM

It is an interface to the de facto standard 3D graphics library,
OpenGL. It is well suited for real-time fast visualization
and prototyping. The X11 version of the OpenGL libraries and 
the Motif Xm extension is required.
[n] 

То же самое, но с использованием Motif. Cкрытые преимущества данного драйвера мне опять-таки неизвестны.

  G4VIS_BUILD_DAWN_DRIVER
  G4VIS_USE_DAWN

DAWN drivers are interfaces to the Fukui Renderer DAWN. DAWN is
a vectorized 3D PostScript processor suited to prepare technical
high quality outputs for presentation and/or documentation.
[n] y

DAWN это достаточно удобная система, которая позволяет генерировать картинки визуализации в формате .ps и .eps. Работает она в отличие от OpenGL, режиме офф-лайн, то есть, вы сначала запускаете свою программу, которая после завершения симуляций, генерирует файл в формате DAWN, который затем обрабатывается другой специальной программой Fukui Renderer, и только потом у вас на руках остается векторная иллюстрация. Но тем не менее, повторюсь, достаточно удобно и красиво.

  G4VIS_BUILD_OIX_DRIVER
  G4VIS_USE_OIX

The OpenInventor driver is based on OpenInventor technology 
for scientific visualization.
The X11 version of OpenInventor is required.
[n] 

OpenInventor — это библиотеки и софт для трехмерного моделирования от фирмы SGI. Он позволяет всячески вертеть и обозревать вашу модель прямо во время выполнения программы, все это с аппаратным ускорением. Но без шансов, что он у вас установлен, поэтому отвечаем отрицательно, по умолчанию.


  G4VIS_BUILD_RAYTRACERXX_DRIVER
  G4VIS_USE_RAYTRACERX

Allows for interactive ray-tracing graphics through X11.
The X11 package is required.
[n] 

  G4VIS_BUILD_VRML_DRIVER
  G4VIS_USE_VRML

These driver generate VRML files, which describe 3D scenes to be 
visualized with a proper VRML viewer.
[n] 

Что такое RayTracerX, я еще не знаю, эта фишка появилась в g4 только начиная с восьмой версии, а вот VRML вам очень может понадобиться. Хотя бы для того, чтобы импортировать модели Geant в 3D Max, или для отлаживания геометрии.

  OGLHOME/include
  OGLHOME/lib

You have selected to use OpenGL driver.
Specify the correct path (OGLHOME) where OpenGL is installed in your system.
It was found in: 
[/usr] 

Здесь нужно указать, где именно у вас установленны библиотеки OpenGL. На большинстве систем они именно там, куда указывает путь, предложенный Configure, в папке /usr, так что, принимаем этот вариант.

  G4LIB_BUILD_G3TOG4  

The utility module 'g3tog4' will be built by setting this
variable. NOTE: it requires a valid FORTRAN compiler to be
installed on your system and the 'cernlib' command in the
path, in order to build the ancillary tools!
Do you want to build 'g3tog4' ?
 
[n] 
 


  G4LIB_BUILD_ZLIB  

Do you wish to activate compression for output files generated
through the HepRep visualization driver ?
[n] 
 


  G4ANALYSIS_USE

Activates the configuration setup for allowing plugins to
analysis tools based on AIDA (Astract Interfaces for Data
Analysis). In order to use AIDA features and compliant analysis
tools, the proper environment for these tools will have to be
set (see documentation for the specific analysis tools).
[n] 

На эти, последние, три вопроса следует отвечать нажатием Enter. Первый из них выясняет, желаете ли вы использовать модуль G3toG4, который позволяет использовать существующий фортрановский код для GEANT3 в ваших программах на Geant4. И снова, те кому это может быть интересно, вряд ли читают этот текст.

End of configuration phase.
 
 
Stripping down executable paths...
 
Creating configuration setup file... 

WARNING: the generated configuration file
can be edited if necessary!
You can introduce any change to the configuration file
/usr/local/geant4/.config/bin/Linux-g++/config.sh before the final installation. 
To do so, use a shell escape now (e.g. !vi /usr/local/geant4/.config/bin/Linux-g++/config.sh).  

Press [Enter] to start installation or use a shell escape to edit config.sh: 

О да. Готово. Нажимаем Enter и ждем несколько часов.

После чая

Если компиляция завершится успешно, то последним шагом в установке GEANT4 с вашей стороны будет команда

# ./Configure -install

Наконец, добавляем в файлик ~/.bash_profile ссылочку на сгенерированный Configure скрипт env.sh:

# exit
$ echo . /usr/local/geant4/.config/bin/Linux-g++/env.sh >> ~/.bash_profile

Если не заработает с .bash_profile (шансы 50/50), то вызов env.sh нужно поместить в файл ~/.bashrc.

Прогоняем его, дабы всё заработало уже сейчас:

$ . ~/.bash_profile

Если вы все-таки указали ему, что хотели бы использовать GEANT в виде динамических библиотек, то, возможно, вам понадобится указать их месторасположение динамическому линкеру. Для этого можно сделать, например, так:

$ sudo -s
Password:
# echo $G4INSTALL/lib/Linux-g++ > /etc/ld.so.conf.d/GEANT.conf
# /sbin/ldconfig

Проверка

Перейдём в папку с примером:

$ cd /usr/local/geant4/examples/novice/N03

Скомпилируем и запустим пример.

$ make && exampleN03

Вводим:

$ Idle> /run/beamOn

На другом окне должна появиться кривая зелёная линия. Если она появилась, то всё прошло успешно. От души поздравляю!

Edit page