Installation of yade on fedora
From Yade
<categorytree mode=pages>Installation</categorytree> |
THESE INSTRUCTIONS ARE OBSOLETE and you are welcome to update them if you happen to run fedora.
Fedora Extras 6
Get prequisities:
yum install gcc-c++ qt-devel glut boost boost-devel scons wget tar gunzip tar make libXmu libXmu-devel diff glut-devel yum install ScientificPython python-devel # those are optional wget http://artis.imag.fr/Members/Gilles.Debunne/QGLViewer/src/libQGLViewer-2.2.5-1.src.rpm PATH=$PATH:/usr/lib/qt-3.3/bin QTDIR=/usr/lib/qt-3.3/ rpmbuild --rebuild libQGLViewer-2.2.5-1.src.rpm
Optionally you might want to install the wildmagic 3 library, which can be used by Lattice Geometrical Model. But is not absolutely necassary (used only for Delaunay mesh generation method in lattice model).
Run command below from inside yade-0.11.0/ directory to install yade as a local user without root privileages (recommended):
scons PREFIX=/home/username/YADE optimize=1
Replace username with your user name. Be sure to check out scons options on installation details page for optimized builds or different installation directory.
Fedora core 4 note
On fedora core 4 the gcc 4 generates an error when it encounters an anonymous enum. It is no longer possible to write
enum {value = 1 }
It must be written instead:
enum enumname {value = 1 }
Under fedora 4 the default compiler is gcc 4 and some header files from stl still contain anonymous enums. You must edit those .h files and give any name to those enums. Among other files this must be corrected: /usr/include/c++/4.0.?/bits/cpp_type_traits.h, and some of QT headers, like qcolor.h. Remember to give different name to each enum. Inside there is something like this:
template<> struct __is_integer<bool> { enum { __value = 1 }; typedef __true_type __type; };
Replace it with:
template<> struct __is_integer<bool> { enum enumname1 { __value = 1 }; typedef __true_type __type; };
In above case the compilation error was reported as:
.../yade/yade-lib-wm3-math/Math.ipp:53: error: `std::__is _integer<double>::<anonymous enum>' is/uses anonymous type
Mach chroot under ubuntu
Mach is automated chroot builder for rpm-based distributions; it is run like this (on ubuntu):
mach -r [distribution-variant] setup build
The [distribution-variant] needs to be looked up in /etc/mach/dist.d/* and is defined as 'alias'; in my case, it was fedora-6-i386-extras
mach -r ... yum install yum mach -r ... chroot yum install ... # this is inside the chroot; check /etc/resolv.conf also