Installation of yade on fedora

From Yade

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Installation browse

<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