Special setup information for Linux systems

(valid for version 1.1.x)

SikuliX
internally uses OpenCV to support the image related features and Tesseract for the text features.

On Linux/Unix systems one has to provide OpenCV 2.4+ and Tesseract 3.0.2+.
Additionally the packages wmctrl and xdotool are needed, which is used to implement the app related features.

On Linux systems based on the Debian package system (Debian, Ubuntu, ...) using the apt tools (apt-get to install a package) should do the job. On other Linux Systems (Fedora, RedHat, ...) you have to use the appropriate package manager, which in many cases should then be yum.
For the bundled native library libVisionProxy.so to be useable, you have to take care, that at least the following libraries are available:
  • libopencv_core.so.2.4
  • libopencv_imgproc.so.2.4
  • libopencv_highgui.so.2.4
  • libtesseract.so.3
... and they must be listed in the loader cache (check with ldconfig -p)
... and they must not have any unresolved items (check with ldd -r libsomething.so)
... and it is not needed to install any dev/develop packages, just the libs is sufficient.
For more information read the docs for the respective system and/or package.

On Ubuntu 16.04 this did the job:
sudo apt install libopencv-dev (you get 2.4.9)
sudo apt install tesseract-ocr (you get 3.0.2)

During setup the availability and usability of these libraries is checked together with the usability of the bundled or provided native library libVisionProxy.so.

So it is ok, to just run setup and look at the results you get: It either works or you have to correct something.

Case 1:
The bundled libraries are checked positive (should work): be happy.
The build was processed on a newer LTS versions of Ubuntu and hence should work with the above prerequisites (tested on 16.04).

Case 2:
If you know, what you are doing, you might provide the ready built libraries before starting setup.
Setup will detect and use artifacts found in the libs folder in the setup folder, but they might be checked negative (see case 3).

Case 3:
Neither the bundled nor the provided libraries are checked positive (not useable on your system): Setup will offer the possibility to build on the fly. Setup will tell you about the missing prerequisites.

You might also run the setup from command line with the parameters:

options 2 buildv notes

to force an inline build.

The inline build will create a folder ~/.Sikulix/sikulixlibs/Build, that contains the sources, include files not present on your system, the created build script and the resulting libVisionProxy.so, that might have already been incorporated into the resulting jars.
In case of errors and other oddities, you have to inspect the Build folder and the setup log file, to find out how to fix.

Special information on libJXGrabKey.so
At least on newer Ubuntu versions ldd -r reports unresolved symbols pthread… It seems, that this can be ignored, since JXGrabKey works.
If you get problems, that are related to JXGrabKey, you have to build from the sources after having downloaded the package from here or other places and provide the ready built library before setup in the folder libs.