HTTPS SSH
mana-ext ======== A bundle of externals for ``mana``. Installation ------------ - get the sources from mercurial:: $ cd somewhere $ hg clone http://bitbucket.org/binet/mana-ext mana $ cd mana - get the sources from tar-ball:: $ curl -OL https://bitbucket.org/binet/mana-ext/downloads/mana-ext-0.0.1.tar.gz $ tar zxvf mana-ext-0.0.1.tar.gz && cd mana-ext-0.0.1 - first configuration:: $ ./waf configure --prefix=install_area - build:: $ ./waf build -j4 $ ./waf install $ ./waf shell the 'waf shell' command spawns an interactive sub-shell which has been correctly configured with the project's environment setup (``$PATH``, ``$LD_LIBRARY_PATH``, etc...) - using mana from within a ``CMT`` environment: mana tries to automagically detect and pick up the libraries from a ``(LCG)CMT`` environment (ie: ``$SITEROOT`` is defined as well as ``$CMTCONFIG``). In such a setup, configuring mana is done like so:: $ ./waf configure --prefix=install_area - create a source tar ball (need the mercurial repository and 'hg'):: $ ./waf sdist - create a binary tar ball:: $ ./waf bdist Dependencies ------------ - gccxml (>=0.9) - ROOT (>=5.28.00) (with Reflex/Cintex enabled) - Xrootd (>= 3.1.0) - CLHEP (==1.9.4.7) - Boost (>=1.44) - python (>=2.6) - rt,pthread (on linux) - uuid (>= 1.38) TODO ---- - make a bin-dist for rpms, debs, mac-bundle, ms-installer.exe, ... - better handling of cmt-alias mechanism -> probably just create symlinks - handle code|binaries distribution:: $ wget http://bitbucket.org/binet/mana-bootstrap/mana.py $ mana.py --bootstrap mana-dev $ mana.py --get mana-ext-src $ ... - migrate src/ext to mana-ext and rewrite src/ext to be glue code also refactorize ext a la find_xyz.py - support for distcc - separate files with dbg symbols - test (hierarchical) projects - test IDEs (eclipse, visual studio, xcode) - test on windows (TM) FIXME ----- - fix ld-library-path empty slots on macosx (prevents uuid to be correctly discovered) - fix ``ROOTSYS`` detection in ``waf shell`` - add detection of bz2 headers+libs (so ``boost`` won't fail "mysteriously") - add detection of Xpm and Xft so ``ROOT`` won't fail "mysteriously" - add detection of ncurses (for ``cmake``) Troubleshooting --------------- - ubuntu 11.10 32b: :: $ sudo apt-get install \ libc6-dev libstdc++6-4.4-dev \ make g++ gcc binutils gfortran \ python-dev mercurial \ libboost-all-dev libboost-random-dev \ dpkg-dev \ subversion \ libx11-dev libxpm-dev libxft-dev libxext-dev \ libxml2-dev libssl-dev libkrb5-dev libgsl0-dev \ uuid-dev \ libbz2-dev :: # for 32b $ ./waf configure --cmtcfg=i686-linux-gcc-opt \ --with-bundled-clhep --with-bundled-root - slc6-64b: :: $ yum install \ bzip2-devel \ libXpm-devel \ ncurses-devel