Skip to content

EGRID website

Sections
Personal tools
You are here: Home » Software » ELFI » How to install ELFI

How to install ELFI

Installation instructions for ELFI and the FUSE kernel module.

This page tells you how to download and install ELFI. EGRID provides precompiled RPM packages for Scientific Linux CERN that also fit other RPM-based distros. Instructions for compiling from source are given, for the really daring.

Note

We value your feed back!

This document is a first draft; if you find anything missing, incorrect, or simply unclear, please report it to the email address above, or to the ELFI mailing-list: elfi@egrid.it. Thank you!

Install from RPM packages

We describe here two ways of installing ELFI:

Using apt-get
This is the easiest method; it should work on any Scientific Linux CERN 3.0.x box, but might work on any other Linux distribution which uses the APT4RPM tools.
Manual install RPMs
These are generic installation instructions that should work on any RPM-based distribution.

Using apt-get

This is the easiest method; it should work on any Scientific Linux CERN 3.0.x box.

Note: The version of the FUSE kernel module (package
kernel-module-fuse) needs to match exactly the version of the kernel installed on the Linux box. EGRID provides RPMs of the FUSE kernel module, matching the latest Scientific Linux CERN 3 kernels. If you are using a different kernel, see section Recompiling the FUSE kernel module.

The following commands need to be entered as root user.

  1. Add the EGRID RPM repository to the APT sources list:

    echo 'rpm http://www.egrid.it/download/rpm . egrid' \
             >> /etc/apt/sources.list.d/egrid.list
    echo 'rpm-src http://www.egrid.it/download/rpm . egrid' \
             >> /etc/apt/sources.list.d/egrid.list
    
  2. Update the package availability list:

    apt-get update
    
  3. Install ELFI and its dependencies:

    apt-get install elfi
    
  4. Install the FUSE kernel module matching your running kernel:

    apt-get install kernel-module-fuse-`uname -r`
    

    If the installed version of kernel-module-fuse does not match the kernel installed on the Linux box, see the Recompiling the FUSE kernel module section.

Manual install RPMs

To install ELFI using only the rpm tool, you will need to also install a few packages (from the EGEE gLite distribution) that ELFI depends on.

  1. Install the following system packages (any version later than written here should do fine):

    cyrus-sasl-2.1.15-10
    e2fsprogs-1.32-15.1
    gdbm-1.8.0-20
    glib2-2.2.3-2.0
    glibc-2.3.2-95.39
    krb5-libs-1.2.7-52.slc3.1
    laus-libs-0.1-70RHEL3
    libacl-2.2.23-1
    libattr-2.4.16-1
    libgcc-3.2.3-54
    libstdc++-3.2.3-54
    openldap-2.0.27-22
    openssl-0.9.7a-33.17
    pam-0.75-67
    zlib-1.1.4-8.1
    

    These are probably already present in your distro standard RPM repository (e.g., you just need issue a yum install "package" or apt-get install "package"); if not, you may download the RPM from http://www.rpmfind.net/

  2. Install the gLite packages ELFI depends on:

    vdt_globus_essentials

    at least version VDT1.2.2rh9_LCG-1

    CGSI_gSOAP_2.6

    at least version 1.1.9-1.slc3

    DPM-client

    at least version 1.4.5-1sec_sl3

    LFC-client

    at least version 1.4.5-1sec_sl3

    You will find these in the gLite RPM repository.

  3. Download and install FUSE packages, at least version 2.5.3.

    These are probably part of your Linux distro already; in the EGRID RPM repository you will find FUSE RPMs compiled for Scientific Linux CERN 3.0.x.

    For instance, you can install FUSE version 2.5.3 on Scientific Linux CERN 3.0.x with the commands:

    rpm -Uhv http://www.egrid.it/download/rpm/RPMS.egrid/fuse-2.5.2-3.i386.rpm
    
  4. Download and install the FUSE kernel module matching the kernel installed on your Linux box. You can find binary packages of the FUSE kernel modules matching the official Scientific Linux CERN 3.0.x kernels in the EGRID RPM repository.

    So, you can install the FUSE kernel module for your running kernel with:

    rpm -Uhv http://www.egrid.it/download/rpm/RPMS.egrid/kernel-module-fuse-`uname -r`-2.5.2-3.i386.rpm
    

    If no version of kernel-module-fuse in the EGRID RPM repository matches the kernel installed on the Linux box, see the Recompiling the FUSE kernel module section.

  5. Download and install ELFI packages from the EGRID RPM repository. For instance, you can install ELFI version 20060919-1340 with the commands:

    rpm -Uhv http://www.egrid.it/download/rpm/RPMS.egrid/elfi-20060919-1340.i386.rpm
    

    ELFI packages are given version numbers after the date and time of their release; so, for instance, package version 20060919-1340 is the one released on September 19th, 2006, at 13L40 hrs.

Recompiling the FUSE kernel module

Note

Note:

The FUSE kernel module has been part of the standard Linux kernel since Linux 2.6.14; in case your Linux distro comes with a 2.6 kernel, you should seek instructions to install FUSE in your distro website. Please refer to the FUSE website for additional information on how to compile and install FUSE.

This section will tell you how to compile and install the FUSE kernel module, in case you cannot find a precompiled package that matches your running kernel.

  1. cd to the directory at the top of the the RPM packages build hierarchy. This is directory /usr/src/redhat on Scientific Linux CERN 3.0.x ; but you can use any other directory, by following the directions at http://dag.wieers.com/howto/bits/rpm-build-user.php

    # you will need to be ``root`` to compile here
    cd /usr/src/redhat
    
  2. Download the source RPM from the EGRID RPM repository

    The following commands (you may need root privileges) will download the fuse-*.src.rpm file in the current directory:

    # add the EGRID RPM repository to system pkg list
    echo 'rpm http://www.egrid.it/download/rpm . egrid' \
                   > /etc/apt-sources.list.d/egrid.list
    
    # update package availability list
    apt-get update
    
    # download the source RPM package
    apt-get source fuse
    
  3. Rebuild the binary package:

    rpmbuild --rebuild -bb fuse*.src.rpm
    

    The command above will put the binary RPM package in /usr/src/redhat/RPMS/fuse*.rpm.

    Note

    Note:

    If your running kernel sources are not located under /usr/src/, then you will need to pass the location to the rpmbuild command as follows:

    rpmbuild --define='kernelsrc PATH' --rebuild -bb fuse*.src.rpm
    
  4. Install the generated RPM package:

    rpm --nodeps -Uvh /usr/src/RPMS/*/kernel-module-fuse-`uname -r`*.rpm
    

How to build ELFI from source

ELFI can be compiled on a gLite User Interface: You will need to have the commands svn, rpm2cpio, and wget installed.

  1. Unfortunately, the ELFI Makefile triggers a bug in GNU make 3.79, which is the make provided in Scientific Linux CERN 3, so you will need to install make-3.80 or later. We used the following on our SLC3 machines:

    rpm -Uvh ftp://rpmfind.net/linux/fedora/core/3/i386/os/Fedora/RPMS/make-3.80-5.i386.rpm
    
  2. Download the ELFI source code:

    svn co http://www.egrid.it/srv/svn/products/elfi/current elfi-src
    

    This will check out a copy of the latest sources of ELFI into a directory elfi-src.

  3. Install build-time dependencies, step 1. Some packages are already provided from the OS vendor: you should install the following packages with apt-get install (choose the package name according to your distribution):

    SLC3

    Debian (etch) [#1]

    libacl-devel libattr-devel glib2-devel openldap-devel fuse [#2]

    libacl1-dev libattr1-dev libglib2.0-dev libldap2-dev libfuse-dev

    [3]

    You may also compile and use ELFI on Debian sarge (current stable distro), but the FUSE version distributed with sarge is too old: you will need to download and install the FUSE development libraries from another source.

    [4]

    Available from the EGRID RPM repository at http://www.egrid.it/download/rpm/RPMS.egrid/

    Thus on Scientific Linux CERN 3 you would use:

    # add the EGRID RPM repository to the APT sources list
    # (for the FUSE package)
    echo 'rpm http://egrid-doc.egrid.it/download/rpm  . egrid' \
         > /etc/apt/sources.list.d/egrid.list
    
    # update package availability
    apt-get update
    
    # on Scientific Linux CERN 3
    apt-get install \
            libacl-devel \
            libattr-devel \
            fuse \
            glib2-devel \
            openldap-devel
    

    Whereas on Debian (etch) you would use the following commands instead:

    # on Debian (etch)
    apt-get install \
            libacl1-dev \
            libattr1-dev \
            libfuse-dev \
            libglib2.0-dev \
            libldap2-dev
    
  4. Install other build-time dependencies. The provided Makefile will download the other dependencies for you with the make needed target:

    cd elfi-src/
    make needed
    
  5. Compile and install ELFI:

    make -e
    make install
    

    By default, ELFI is installed under the /opt/egrid directory hierarchy; to install in a different location, use:

    make install prefix=/path/to/wanted/location

System Message: INFO/1 (<string>, line 230)

Enumerated list start value not ordinal-1: "0" (ordinal 0)

Configuring ELFI

ELFI needs no configuration files; only the system executable search path (environment variable PATH) and the library search path (environment variable LD_LIBRARY_PATH) need to be adjusted to match the location in which you installed ELFI.

  1. The elfi program will look for the helper application elfi-bdii-cache in the system executable search path (environment variable PATH).

    So, to run ELFI you must add to the PATH environment variable the directory containing the elfi-bdii-cache executables, which by default is /opt/egrid/bin. You can do this for just the current session by typing the following command in your shell:

    export PATH=$PATH:/opt/egrid/bin
    

    If you have installed ELFI in a location different from the default one, you will need to replace path /opt/egrid/bin (in the above line) with the directory where you copied the elfi-bdii-cache program.

    To set the executable search path for all users and all sessions, you can run the following commands (as root user):

    # create a file that will be loaded at every login
    echo 'export PATH=$PATH:/opt/egrid/bin' \
      > /etc/profile.d/elfi.sh
    

    (The above recipe will work in RedHat-like distros, for instance in Scientific Linux CERN; if you use ELFI on other systems, you might have to add the "export ..." line to file /etc/profile.)

  2. ELFI will look for the libelfi_*.so libraries in the system library search path (environment variable LD_LIBRARY_PATH).

    To set the LD_LIBRARY_PATH environment variable for just the current session, type the following command in your shell:

    export LD_LIBRARY_PATH=/opt/egrid/lib:$LD_LIBRARY_PATH
    

    If you have installed ELFI in a location different from the default one, you will need to replace path /opt/egrid/lib (in the above line) with the directory where you copied the libelfi_*.so libraries.

    To set the library load path for all users and all sessions, you can run the following commands (as root user):

    # add ELFI library dir to system library path
    # (mind the '>>' below!)
    echo /opt/egrid/lib >> /etc/ld.so.conf
    
    # update system library index
    ldconfig
    

Getting support

Mailing list

You can subscribe the ELFI mailing list at http://www.egrid.it/cgi-bin/mailman/listinfo/elfi ; the mailing list is a forum for discussing all issues about ELFI, including support requests and new feature suggestions.

You can post to the mailing list by sending mail to the address elfi@egrid.it.

IRC channel

You can join the ELFI team online on channel #egrid on the freenode IRC network server irc.freenode.net.

An IRC client is available online at http://www.egrid.it/irc which will take you directly to the EGRID suppport channel.

Bugs

Please report any bugs through our issue tracking web interface at http://www.egrid.it/bugs

Note

We value your feed back!

This document is a first draft; if you find anything missing, incorrect, or simply unclear, please report it to the email address above, or to the ELFI mailing-list: elfi@egrid.it. Thank you!

Created by rmurri
Last modified 2006-11-03 01:43
 

Powered by Plone

This site conforms to the following standards: