TWiki
>
LHCb Web
>
LHCbComputing
>
SupportedPlatforms
>
LHCbSoftOnOSX
(2010-01-22,
MarcoCattaneo
)
(raw view)
E
dit
A
ttach
P
DF
---+ Building LHCb Software on OS X %TOC% ---++ Introduction This is a short guide to building the LHCb software stack on OS X. For the moment this means OS X 10.5 (Leopard). OS X 10.6 (Snow Leopard) has not yet been tested. ---++ Prerequisites As there are no tarballs (yet) for OS X, and since building all the LCG externals from source is a lot of work, we are going to use the LCG externals from AFS where the OS X 10.5 gcc 4.0.1 binaries are provided. You can get AFS from http://www.openafs.org/ . Note that this requirement implicitly means you must have an active network connection whilst using the software. We are also going to make extensive use of the CERN CVS and SVN repositories. Therefore you will need to setup remote access (just as you would on any SLC installation outside CERN). See CVSUsageGuidelines and SVNUsageGuidelines for details on how to do this. ---++ Software Environment The basic CMT environment is set up on OS X in exactly the same way as on linux. <verbatim> > source /afs/cern.ch/lhcb/software/releases/LBSCRIPTS/prod/InstallArea/scripts/LbLogin.sh </verbatim> Which, all going well, should give you some output similar to <verbatim> Configuring LbScripts v4r3 from /afs/cern.ch/lhcb/software/releases/LBSCRIPTS/LBSCRIPTS_v4r3 ******************************************************************************** * ---- LHCb Login v4r3 ---- * * Building with gcc401 on osx105_ia32 system * ******************************************************************************** --- CMTROOT is set to /afs/cern.ch/sw/contrib/CMT/v1r20p20090520 --- CMTCONFIG is set to osx105_ia32_gcc401 --- User_release_area is set to /Users/jonrob/cmtuser --- CMTPROJECTPATH is set to $User_release_area:$LHCb_release_area:$Gaudi_release_area:$LCG_release_area --- projects will be searched in $CMTPROJECTPATH -------------------------------------------------------------------------------- Using CMTPROJECTPATH = '/afs/cern.ch/lhcb/software/releases:/afs/cern.ch/sw/Gaudi/releases:/afs/cern.ch/sw/lcg/app/releases' Environment for LbScripts v4r3 ready. (Compat v1r3 from /afs/cern.ch/lhcb/software/releases/COMPAT/COMPAT_v1r3, LbScripts v4r3 from /afs/cern.ch/lhcb/software/releases/LBSCRIPTS/LBSCRIPTS_v4r3, LCGCMT 57a from /afs/cern.ch/sw/lcg/app/releases/LCGCMT/LCGCMT_57a, COMPAT v1r3 from /afs/cern.ch/lhcb/software/releases/COMPAT/COMPAT_v1r3) </verbatim> ---++ Building A Software Release Now we are ready to build a release. For the purposes of this guide I will use DaVinci v24r4, but the procedure is similar for any other release or project. Note that at present Gauss and Panoramix are problematic since they make much more extensive use of external packages. I recommend staying away from these at present, unless *very* keen. First, set up your DaVinci release area <verbatim> > SetupProject DaVinci v24r4 --build-env </verbatim> Next, we are going to recursively getpack all the LHCb/Gaudi packages ! This is actually easier than it sounds. You just need to know the release versions of each project (which can be got from the releases notes for DaVinci). <verbatim> > getpack -r GaudiRelease v21r5 > getpack -r LHCbSys v28r1 > getpack -r LbcomSys v7r7 > getpack -r HltSys v7r1 > getpack -r RecSys v7r7 > getpack -r AnalysisSys v3r11 > getpack -r PhysSys v8r11 </verbatim> There are other slightly different ways to do the above. One reason I do it this way is I prefer to place each project in its own private release area, since then you can share projects that are used by more than more higher level projects. However, this is a slightly more complicated use case which for simplicity I don't go into here. The next step is to try and build everything. <verbatim> > cd ~/cmtuser/DaVinci_v24r4/Phys/DaVinci/cmt > cmt br cmt make </verbatim> Which will take some time. If you have a multi-core machine, try using =make -j X= where X is the number of cores. Note that whilst in practise most things will build just fine, there is no guarantee of this. If something does fail it is usually though quite easy to fix. If you are not sure just contact me (ChrisRJones). All going well you will eventually have a working DaVinci application. Note, before you can use your shiny new DaVinci build, you will need to setup the runtime environment with <verbatim> > SetupProject DaVinci v24r4 </verbatim> Just as you would on any other platform. One final comment. Due to the way =SetupProject= strips empty paths from =PYTHONPATH= and =LD_LIBRARY_PATH= this has to be done after building (since then your private =InstallArea= is no long empty). ---++ Known Issues * At the moment castor access to data does not work. Just copy a few files locally. * Nothing has been tested on Snow Leopard as yet. As the LCG area does not provide binaries for the native compiler on OS X 10.6 (gcc 4.2) the best bet at the moment might be to try and pretend to be OS X 10.5, by manually setting the =CMTCONFIG= environment variable to =osx105_ia32_gcc401=. I suspect this will not be enough, and some additional work will then be needed to convince CMT to use GCC 4.0.1. -- Main.ChrisRJones - 11-Nov-2009
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r4
<
r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
WYSIWYG
|
M
ore topic actions
Topic revision: r4 - 2010-01-22
-
MarcoCattaneo
Log In
LHCb
LHCb Web
LHCb Web Home
Changes
Index
Search
LHCb webs
LHCbComputing
LHCb FAQs
LHCbOnline
LHCbPhysics
LHCbVELO
LHCbST
LHCbOT
LHCbPlume
LHCbRICH
LHCbMuon
LHCbTrigger
LHCbDetectorAlignment
LHCbTechnicalCoordination
LHCbUpgrade
Public webs
Public webs
ABATBEA
ACPP
ADCgroup
AEGIS
AfricaMap
AgileInfrastructure
ALICE
AliceEbyE
AliceSPD
AliceSSD
AliceTOF
AliFemto
ALPHA
Altair
ArdaGrid
ASACUSA
AthenaFCalTBAna
Atlas
AtlasLBNL
AXIALPET
CAE
CALICE
CDS
CENF
CERNSearch
CLIC
Cloud
CloudServices
CMS
Controls
CTA
CvmFS
DB
DefaultWeb
DESgroup
DPHEP
DM-LHC
DSSGroup
EGEE
EgeePtf
ELFms
EMI
ETICS
FIOgroup
FlukaTeam
Frontier
Gaudi
GeneratorServices
GuidesInfo
HardwareLabs
HCC
HEPIX
ILCBDSColl
ILCTPC
IMWG
Inspire
IPv6
IT
ItCommTeam
ITCoord
ITdeptTechForum
ITDRP
ITGT
ITSDC
LAr
LCG
LCGAAWorkbook
Leade
LHCAccess
LHCAtHome
LHCb
LHCgas
LHCONE
LHCOPN
LinuxSupport
Main
Medipix
Messaging
MPGD
NA49
NA61
NA62
NTOF
Openlab
PDBService
Persistency
PESgroup
Plugins
PSAccess
PSBUpgrade
R2Eproject
RCTF
RD42
RFCond12
RFLowLevel
ROXIE
Sandbox
SocialActivities
SPI
SRMDev
SSM
Student
SuperComputing
Support
SwfCatalogue
TMVA
TOTEM
TWiki
UNOSAT
Virtualization
VOBox
WITCH
XTCA
Welcome Guest
Login
or
Register
Cern Search
TWiki Search
Google Search
LHCb
All webs
Copyright &© 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use
Discourse
or
Send feedback