Example ACE files cannot be run

Help
2010-10-04
2013-05-28
  • A few days ago I downloaded the newest version of tecomp. Installation worked fine but I cannot run the examples.
    When sitting on directory tecomp/examples command

    ../src/tecomp/tecomp cat_call.ace

    answers

    cluster "kernel/" cannot be found
    ../library/kernel/lib.ace:2: class name SPECIAL not unique within the current view, clusters: {"kernel/", "../library/kernel/"}
    class_collection.cpp:382: view: lib.ace: merge used cluster into kernel/
            main view: cat_call.ace

    class_collection.cpp:388: --> failed  STOP_HERE  <--
    Abort

    Other examples are even more unfriendly, e.g. command

    ../src/tecomp/tecomp count_digits.ace

    merely answers

    cluster "kernel/" cannot be found

    So, what has gone wrong? Are some environment variables to be set (the tutorial does not mention any)?
    Are the examples to be run from another directory? Something else ?

    WJ

     
  • Helmut Brandl
    Helmut Brandl
    2010-10-05

    How did you configure the build and installation of tecomp?

    Usually you should create a build directory and issue

       path/to/tecomp/top/configure

    or

      path/to/tecomp/top/configure -prefix=….

    The default prefix is "/usr/local".

    Obviously you have not created a build directory and built tecomp from the top level. This should not be a problem and work.

    The kernel library will be installed by "make install" into "prefix/lib/eiffel/kernel" and this path is compiled into tecomp as the default path to search for the kernel library. Obviously tecomp cannot find the kernel library at its default location.

    If the "make install" step is still missing, the libraries are not yet installed and tecomp cannot find them. I assume that this is the case, because you invoke tecomp with a complete path to the binary.

    If you know where the libraries are (they are always in tecomp/top/srcdir/libary) you can specify them on the command line by

      tecomp -Ipath/to/library mainfile

    i.e. in your case sitting on the examples directory

      tecomp -I../library  factorial.e
      tecomp -I../library  test_complex.e
      tecomp -I../library  test_matrix.ace

    The build scripts of tecomp include a lot of tests which can be invoked from the build directory (in your case the top level tecomp directory) by

      make check

    which runs all test and examples but will take some time, because it compiles the asserted version of tecomp before running the tests. If the does not run successfully, please send me the output of make check.

    Beside that, the file cat_call.ace has a bug. It still specifies the kernel library which is no longer needed since version 023. I will fix that as soon as possible and provide a more descriptive error message. For the time being just delete the line specifying the kernel library in the ace file (I have reproduced that on my installation).

     
  • Helmut Brandl
    Helmut Brandl
    2010-10-05

    By the way: The new installation procedure is described in detail in "/doc/tecomp/installation.txt".