YFilter Version 1.0

YFilter Frequently Asked Questions

The Questions

  1. Running YFilter
    1. Why does running yfilter_demo on Fedora Linux throw an UnsatisfiedLinkError?
    2. Why does the Performance Monitor freeze sometimes when I try to change the scale?
    3. Can I build YFilter using Ant?
    4. Where can I find the specification files for the grammar that YFilter supports?
    5. The YFilter demo can't find XML documents!


The Answers

A. Running YFilter

  1. Why does running yfilter_demo on Fedora Linux throw an UnsatisfiedLinkError?
    Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/sww/pkg/j2re-1.4.1/lib/i386/libfontmanager.so: libstdc++-libc6.1-1.so.2:

    cannot open shared object file: No such file or directory

    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1473)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1389) at java.lang.Runtime.loadLibrary0(Runtime.java:788)
    at java.lang.System.loadLibrary(System.java:832) at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.font.NativeFontWrapper.(NativeFontWrapper.java:42)
    at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
    at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:125)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:140)
    at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62)
    at java.awt.Window.init(Window.java:223) at java.awt.Window.(Window.java:267)
    at java.awt.Frame.(Frame.java:398) at javax.swing.JFrame.(JFrame.java:198)
    at edu.berkeley.cs.db.yfilter.icdedemo.Framework.(Framework.java:34)
    at edu.berkeley.cs.db.yfilter.icdedemo.Framework.main(Framework.java:639)

    It's caused by a missing shared library. One of the solutions is to create a symlink in the 'libs' directory as described below: (Ref: http://forum.java.sun.com/thread.jsp?forum=20&thread=132877&start=15&range=15&hilite=false&q=)

    # ln -s libstdc++-3-libc6.2-2-2.10.0.so libstdc++-libc6.1-1.so.2 (this is for debian woody, adapt the first argument to your own needs/distribution/lib-version)


  2. Why does the Performance Monitor freeze sometimes when I try to change the scale?

    This is because the Performance Monitor is refreshing at a very high rate. In order to change the scale on the monitor, Click Pause on the YFilter controls, change the scale and click Run to resume.


  3. Can I build YFilter using Ant?

    Yes. An Ant build file is provided here. Save it into the YFILTER_HOME directory and type Ant. Note that Ant (1.4.1 or greater) has to be installed prior to this.


  4. Where can I find the specification files for the grammar that YFilter supports?

    The Java CUP and JFlex files provide the specifications of the grammar supported by YFilter. Save it into the YFILTER_HOME/src/edu/berkeley/cs/db/yfilterplus/queryparser/xpathparser directory and compile them.This will create (by default) sym.java, Lexer.java and parser.java. Note that JFlex need to be installed prior to making changes to the JFlex file.


  5. The YFilter demo can't find XML documents!

  6. The YFilter demo class edu.berkeley.cs.db.yfilter.icdedemo.Framework, takes an argument, which is the YFilter installation directory $YFILTER_HOME. The shell script yfilter_demo takes care of this and can be used instead of calling the above class from the command line.