Author: eudoxos Date: 2008-08-20 20:56:54 +0200 (Wed, 20 Aug 2008) New Revision: 1489
Modified: trunk/INSTALL Log: Update INSTALL file from wiki (brief instructions only). Modified: trunk/INSTALL =================================================================== --- trunk/INSTALL 2008-08-20 17:54:39 UTC (rev 1488) +++ trunk/INSTALL 2008-08-20 18:56:54 UTC (rev 1489) @@ -1,324 +1,69 @@ -WARNING: - This file is very much likely out of date! Please have a look at +Authoritative source: http://yade.wikia.com/wiki/Installation, this file may be out-fo-date. - http://yade.wikia.com/wiki/Installation +Release sources +=============== +Go to http://yade.wikia.com/wiki/Installation for up-to-date sources. - For more complete documentation please visit that website, especially - instructions about installation for specific Linux distribution, like: - - http://yade.wikia.com/wiki/Installation_of_yade_on_debian_or_kubuntu - http://yade.wikia.com/wiki/Installation_of_yade_on_fedora - http://yade.wikia.com/wiki/Installation_of_yade_on_gentoo - - - - -============================================================== -== == -== Table of Contents == -== == -============================================================== -== 1 Prerequisites == -== 1.1 Required packages == -== 1.2 Optional packages == -== 2 Recommended installation method == -== 3 Installation details == -== 3.1 Systemwide installation as root == -== 3.2 Installing from debian source packages == -== 3.3 Scons options == -== 3.4 Automatic library detection == -== 3.5 Installing the wildmagic 3 library on Debian == -== 3.6 Backward compatibility options == -== 3.7 Cleaning and uninstalling == -== 3.8 Install paths == -============================================================== - - - -= Prerequisites = -================ - -All libraries listed below must be installed with development headers. It's -better to install them using your linux's distribution package management -system, instead of downloading directly from the website. With the exception of -QGLViewer ( http://artis.imag.fr/Software/QGLViewer/ ) and -wildmagic 3.11 ( http://www.geometrictools.com/Downloads/Downloads.html ), which -may not have a package in your Linux distribution. - -== Required packages == -======================= - -* ( http://www.boost.org ) - boost library 1.33 or later with components: ''date-time'', ''filesystem'' and ''thread'' - -* ( http://trolltech.com/products/qt/qt3 ) - qt3 library, including ''multithreading'' (<tt>-mt</tt>) component - -* freeglut3 / libglut3 development files - -* ( http://artis.imag.fr/Software/QGLViewer/ ) - QGLViewer - -* make, g++ - -* ( http://www.scons.org/ ) - scons build system - - -== Optional packages == -======================= - -* ( http://www.geometrictools.com/Downloads/Downloads.html ) - wildmagic 3.11 - only if you want Delaunay triangulation support in lattice model - -* ( http://logging.apache.org/log4cxx/ ) - log4cxx - only if you want extensive logging support in debugging - -* python-dev, python-scientific - only if you want python scripting interface</small> - -= Recommended installation method = -=================================== - -Run this command from inside yade-0.11.1 directory to install yade as a local -user without root privileges (recommended): - - scons PREFIX=/home/''username''/YADE optimize=1 - -Replace 'username' with your user name. Also check out =Scons options= below to -quickly compile not optimized version or systemwide install from Debian package -(as a root user), etc. - - -======================== -= = -= Installation details = -= = -======================== - -= Systemwide installation as root = -=================================== - -By default yade installs in directory /usr/local, but to install there you need -a root access. So running just scons some options should be enough. However, -since you want to install yade systemwide as root, it might be better if you -built a Debian package instead. - - -== Installing from debian source packages == -============================================ - -This_repository ( http://geo.hmg.inpg.fr/~smilauer/yade ) contains weekly -snapshots from svn in the form of Debian source packages. To compile and -install these (assuming that you already have required packages installed), you -need to add repository source do your '/etc/apt/ sources.list': - - deb-src http://geo.hmg.inpg.fr/~smilauer/yade ./ - -Pick a revision number you want (eg. 1234), based on the repository contents - -see http://geo.hmg.inpg.fr/~smilauer/yade, then run: - - apt-get source yade-svn1234 - sudo apt-get build-dep yade-svn1234 - cd yade-svn1234-1 - fakeroot-tcp debian/rules binary - -Once compiled, you will have optimized (yade-svn1234), debug (yade-svn1234-dbg) -and development (yade-svn1234-dev) packages in ../, which you can install by: - - sudo dpkg -i ../yade-svn1234*.deb - - - -== Scons options == +Latest SVN snapshot =================== +If you want to look at the latest yade version from subversion (sometimes not working), you can download it using one of the ways shown below: -Scons is the tool used to build and install yade. Always run it from the top -directory of yade. - ________________________________Scons_options________________________________ -|parameter |default value|description | -|-----------|--------------|--------------------------------------------------| -| | |The directory where yade will be installed. | -| | |Different yade versions will not overwrite each | -|PREFIX |/usr/local |other in PREFIX directory. See version and variant| -| | |below. This parameter is passed to the | -| | |preprocessor as PREFIX macro (expands to quoted | -| | |string). | -|-----------|--------------|--------------------------------------------------| -| | |Scons autodetects svn revision or release number, | -|version |auto |so it will be "svn1144" or "0.11.0", for example. | -| | |If this fails, it will be "unknown". It is used to| -| | |build `SUFFIX` (see `variant`). | -|-----------|--------------|--------------------------------------------------| -| | |Free-form name that describes variant of this | -| | |version (usually something like "-debug", "- | -| | |optimized" etc. May be empty. SUFFIX is a macro | -|variant |empty |defined by the preprocessor (as quoted string) | -| | |that has the form "$version$variant", i.e. | -| | |svn1144-debug if version=svn1144 and | -| | |variant=debug. | -|-----------|--------------|--------------------------------------------------| -| | |Pass debugging flags to the compiler (generates | -|debug |1 |debugging symbols in binaries), defines YADE_DEBUG| -| | |symbols. Defaults to true. | -|-----------|--------------|--------------------------------------------------| -| | |Defines YADE_CAST (YADE_PTR_CAST) as static_cast | -| | |(static_pointer_cast) and pass optimization flags | -|optimize |0 |to the compiler. Use together with debug to get | -| | |fast code with debug symbols included. Defaults to| -| | |false. | -|-----------|--------------|--------------------------------------------------| -| | |Specify where to put the build-0.11.0 directory, | -| | |which will hold all files created during | -|buildPrefix|.. |compilation. This ensures that the source tree | -| | |remains clean and that different builds (like | -| | |optimized and debugging) are strictly separated, | -| | |like build-0.11.0 and build-0.11.0-debug | -|-----------|--------------|--------------------------------------------------| -| | |How many compilations should run in parallel. | -|jobs |4 |Defaults to four, if your computer is weak you may| -| | |want a lower number. Equivalent to make -j4 | -|-----------|--------------|--------------------------------------------------| -| | |C++ compiler you want to use. You can say | -|CXX |g++ |CXX="distcc g++" to have distributed build, if | -| | |that is configured. | -|-----------|--------------|--------------------------------------------------| -| | |Additional paths for the c preprocessor | -|CPPPATH |empty |(whitespace separated). Use it for locally- | -| | |installed libraries, eg.: CPPPATH="/usr/local/ | -| | |include /home/fred/build/log4cxx/include" | -|-----------|--------------|--------------------------------------------------| -|LIBPATH |empty |Additional paths for linker (whitespace | -| | |separated). | -|-----------|--------------|--------------------------------------------------| + svn checkout svn://svn.berlios.de/yade/trunk/ + svn checkout http://svn.berlios.de/svnroot/repos/yade/trunk + svn checkout https://svn.berlios.de/svnroot/repos/yade/trunk -To see all the options, along with their default and current values, say `scons -h`. -As an example, to compile yade I use following command +Which one of those above will work depends on your network and firewall configuration. - scons jobs=10 pretty=0 debug=1 optimize=0 profile=0 CXX="distcc g++" \ - PREFIX=/home/janek/YADE useMiniWm3=0 CPPPATH=/usr/include/wm3 +Prequisities +============ +All libraries listed below must be installed with development headers. It's better to install them using your linux's distribution package management system, instead of downloading directly from the website. -The last two options are related to the_wildmagic_3_library. All options are -stored inside scons.config file, so the next time you compile yade, you can -really just issue scons command, unless you want to change something. + * boost library >=1.34 with components: date-time, filesystem, thread, regex, algorithm, foreach + * qt3 library, including multithreading (-mt) component + * freeglut3 / libglut3 development files + * g++ + * sqlite3 + * scons build system +optionally: -== Automatic library detection == -================================= + * Ctags + * Doxygen + * wildmagic 3.11 ─ only if you want Delaunay triangulation support in lattice model + * log4cxx ─ extensive logging support and debugging + * python-dev, python-scientific, python-matplotlib ─ for python scripting interface + * gdb -Scons will attempt detection of necessary libraries on your system at every -run. If it fails, you can look at the $buildDir/config.log (eg.: ../build- -0.11.0/config.log) file to see what went wrong. If you have some of the -dependencies (like lib3dviewer) installed locally in /usr/local, you will have -to use: +Installation +============ - scons CPPPATH=/usr/local/include/wm3 LIBPATH=/usr/local/lib +Run this command from inside yade-0.12/ directory to install yade as a local user without root privileages: -so that scons will find it. + scons PREFIX=/home/username/YADE optimize=1 +(If you have a machine that you are the only user on, you can instead change permission on /usr/local + + sudo chown username: /usr/local -== Installing the wildmagic 3 library on Debian == -================================================== + scons optimize=1 -The wildmagic_3.11_library ( http://www.geometrictools.com/Downloads/Downloads.html ) -is used by Lattice Geometrical Model when it's available. It's only to have -Delaunay triangulation in 2D and 3D during specimen generation. -Add the following line at the end of your /etc/apt/sources.list: +and still use default paths without special priviledges). - deb-src http://geo.hmg.inpg.fr/~smilauer/yade ./ +Scons takes many options, see scons -h or http://yade.wikia.com/wiki/Installation_details#Scons_options for details. -Then donwload, compile and install wildmagic library: +Distribution-specific instructions +================================== +(http://yade.wikia.com/wiki/Installation_of_yade_on_debian_or_kubuntu, http://yade.wikia.com/wiki/Installation_of_yade_on_fedora, http://yade.wikia.com/wiki/Installation_of_yade_on_gentoo is more detailed) - sudo apt-get update - apt-get source wildmagic - sudo apt-get build-dep wildmagic - cd wildmagic-3p11/ - fakeroot debian/rules binary - sudo dpkg -i ../wildmagic-dev*.deb +Debian/Ubuntu +------------- +Install dependencies: -To tell scons that wildmagic is installed you need to add those parameters to -scons: useMiniWm3=0 CPPPATH=/usr/include/wm3. + sudo aptitude install scons libqt3-mt-dev qt3-dev-tools freeglut3-dev \ + libboost-date-time-dev libboost-filesystem-dev libboost-thread-dev \ + libboost-regex-dev fakeroot dpkg-dev build-essential g++ \ + libboost-iostreams-dev liblog4cxx9-dev python-dev libboost-python-dev ipython \ + python-matplotlib libsqlite3-dev +Then run scons as per above. -== Backward compatibility options == -==================================== - -If you have older software installed, you can use: - -____________________________Compatibility_options____________________________ -|parameter |description | -|------------------------------|----------------------------------------------| -| |Older versions of libglut do not have function| -|CXXFLAGS='-DNO_GLUTINIT' |glutInit(), you should use this compilation | -| |flag then. | -|------------------------------|----------------------------------------------| -| |If you are using older QGLViewer (version 2.0)| -|CXXFLAGS='-DQGLVIEWER20' |you should use this flag, otherwise you will | -| |get error about setFileName(). | -|------------------------------|----------------------------------------------| -|CXXFLAGS='-pthread -lpthread'|If you are compiling with gcc3.3 (an older | -| |compiler). | -|------------------------------|----------------------------------------------| -|CXXFLAGS='-fPIC' |When compiling on AMD64. | -|------------------------------|----------------------------------------------| - -You can connect several CXXFLAGS by spaces: CXXFLAGS='-DNO_GLUTINIT - -DQGLVIEWER20' - - -== Cleaning and uninstalling == -=============================== - -To clean the compilation invoke from yade-0.11.1/: - - scons -c - -You can remove the compilation directory of yade, usually located in upper -directory and starting with name build, like this one: - - rm -rf ../build-0.11.1 - -If yade was installed manually, the you can delete files from - - /usr/local/lib/yade/ - /usr/local/include/yade/ - /usr/local/bin/yade - -or from (depending where yade was installed): - - /home/username/YADE/lib/ - /home/username/YADE/include/ - /home/username/YADE/bin/yade - -If yade was installed from debian package, you can simply remove the package, -and that's all. - - -== Install paths == -==================== - -All files installed are versioned so that different versions and variants don't -clash with each other - you can have as many version as you want installed at -the same time. Supposing that we have variant=-dbg and version=svn1234 (note -that $SUFFIX=-$version$variant) and PREFIX=/usr/local, we have - - ____________________________________Paths____________________________________ -|what kind |path used |example | -|-------------------------|-------------------------|-------------------------| -|executable |$PREFIX/bin/yade$SUFFIX |/usr/local/bin/yade- | -| | |svn1144-debug | -|-------------------------|-------------------------|-------------------------| -|default plugins |$PREFIX/lib/yade$SUFFIX/ |/usr/local/lib/yade- | -| |lib/*/lib*.so |svn1144-debug/*/lib*.so | -|-------------------------|-------------------------|-------------------------| -|pkg-config script |$PREFIX/lib/pkgconfig/ |/usr/local/lib/pkgconfig/| -| |yade$SUFFIX |yade-svn1144-debug.pc | -|-------------------------|-------------------------|-------------------------| -|user configuration |$HOME/.yade$SUFFIX |/home/fred/.yade-svn1144-| -|directory | |debug | -|-------------------------|-------------------------|-------------------------| -|headers (note: common for|$PREFIX/include/ |/usr/local/include/yade- | -|a particular version, |yade$version/yade/*/*.hpp|svn1144/yade/*/*.hpp | -|regardless of variant) | | | -|-------------------------|-------------------------|-------------------------| - - _______________________________________________ Mailing list: https://launchpad.net/~yade-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp

