Personal tools
You are here: Home / Installing Biskit / Troubleshooting / Biggles troubleshooting

Biggles troubleshooting

The original biggles installation package doesn't always find the PlotUtils or X11 libraries it depends on. You may not notice this during installation but only when importing biggles for the first time.

We have repackaged biggles to avoid these problems: download repackaged biggles

If you prefer using the original packet or still have problems with our version, follow these steps:

  1. Install Plotutils

  2. Ensure that libplot.so.2 is found in your $LD_LIBRARY_PATH environment variable. By default libplot.so.2 ends up in /usr/local/lib where the biggles module (see below) often doesn't find it.

    If libplot.so.2 is indeed in /usr/local/lib, add the following line to your shell startup script

    • .bashrc or .zshrc or .zshenv:

      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
      
    • or .cshrc:

      setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/usr/local/lib"
      
  3. Build biggles:

    python setup.py build
    python setup.py install
    

    2.1 Error 1 -- compilation fails on CentOS 4.1 or Suse

    /usr/bin/ld: cannot find -lXaw
    
    • Cause: links in /usr/X11R6/lib missing

    • Remedy:
      • install X11 development package (e.g. xorg-x11-devel on OpenSuse)

      • or:

        ln -s /usr/X11R6/lib/libXaw.so.7.0 /usr/X11R6/lib/libXaw.so
        
    • the same link problem occured for libXmu, libXt, libSM, libICE, libXext and libX11

  4. check libplot library:

    cd build/lib.linux*/biggles/libplot
    ldd ldd libplot.so
    

    if you get a result like this:

    libplot.so.2 => not found
    libXaw.so.7 => /usr/X11R6/lib/libXaw.so.7 (0x4000f000)
                                  ...
    

    libplot.so.2 is not found in your $LD_LIBRARY_PATH. See the above section how to fix that!

  5. test biggles:

    paste the following code snippet into a python interpreter:

    import biggles, Numeric
    x = Numeric.arange(0,10,0.3)
    p = biggles.FramedPlot()
    p.add( biggles.Curve(x, Numeric.cos(x)) )
    p.show()
    

    4.1 Error 3 -- segmentatio fault:

    If compilation works but you get errors like this when calling a script that uses Biggles:

    libplot: ignoring request to create plotter of unknown type
    Segmentation fault (core dumped)
    

    There are probably more links missing in /usr/X11R6/lib or lib64 that you will have to create.

    4.2 Error 4 -- import fails:

    Compilation works but you get a python error when you try importing biggles:

     >>> import biggles
    Traceback (most recent call last):
    File "<stdin>", line 1, in ?
    File "/usr/local/lib/python2.4/site-packages/biggles/__init__.py", line 24, in ?
    from biggles import          \
    File "/usr/local/lib/python2.4/site-packages/biggles/biggles.py", line 28, in ?
    import libplot.renderer
    File "/usr/local/lib/python2.4/site-packages/biggles/libplot/renderer.py", line 22, in ?
    import libplot, math
    ImportError: libplot.so.2: cannot open shared object file: No such file or directory
    
    • Cause: Biskit looks for the dynamically linked libplot in /usr/lib

    • Remedy:

      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib