Crashing on Run - RHEL 6.2 - libVisionProxy.so: libopencv_core.so.2.4

Asked by Keiron

Attempting to move Sikuli from a Ubuntu Dev. box, to a production (RHEL 6.2) server and encountering a crash without warning whenever I attempt to run any script (IDE will launch without issue, however). When setting this system up, I hit a number of repository issues, and ended up compiling OpenCV, Tesseract (+ Leptonica) and the Supplemental Lib from scratch. Note: I have compiled the supplemental lib and placed it into the main sikuli/lib directory, along with adding libopencv_core.so.2.4 from opencv
I’m using “ popup("hi") “, as my test case. Pulling logs by running “java -jar sikuli-ide.jar” with –d mode. The interesting portions of SikuliLog.txt are below:
________

/usr/sikuli/sikuli/sikuli-ide.jar/Lib
[debug (12/19/13 11:04:56 PM)] Jython: sikuli: __init__: entering
[debug (12/19/13 11:04:57 PM)] Jython: sikuli: Sikuli: entering
[debug (12/19/13 11:04:58 PM)] Jython: sikuli: Sikuli: constants
[debug (12/19/13 11:04:59 PM)] Jython: sikuli: Sikuli: import Region
[debug (12/19/13 11:05:05 PM)] Jython: sikuli: Sikuli: import Screen
[debug (12/19/13 11:05:05 PM)] Jython: sikuli: Sikuli: Env.addHotkey
[debug (12/19/13 11:05:05 PM)] Jython: sikuli: Sikuli: import Match
[debug (12/19/13 11:05:05 PM)] Jython: sikuli: Sikuli: import Pattern
[debug (12/19/13 11:05:05 PM)] Jython: sikuli: Sikuli: import Location
[debug (12/19/13 11:05:05 PM)] Jython: sikuli: Sikuli: import ScreenUnion
[debug (12/19/13 11:05:05 PM)] Jython: sikuli: Sikuli: import Finder
[debug (12/19/13 11:05:08 PM)] ResourceLoaderBasic: loadLib: VisionProxy
[debug (12/19/13 11:05:08 PM)] ResourceLoaderBasic: loadLib: Found: VisionProxy
[error (12/19/13 11:05:08 PM)] ResourceLoaderBasic: loadLib: Fatal Error 110: loading: libVisionProxy.so
[error (12/19/13 11:05:08 PM)] ResourceLoaderBasic: loadLib: Since native library was found, it might be a problem with needed dependent libraries
/usr/sikuli/sikuli/libs/libVisionProxy.so: libopencv_core.so.2.4: cannot open shared object file: No such file or directory
[error (12/19/13 11:05:08 PM)] Terminating SikuliX after a fatal error(110)! Sorry, but it makes no sense to continue!
If you do not have any idea about the error cause or solution, run again
with a Debug level of 3. You might paste the output to the Q&A board.
[debug (12/19/13 11:05:08 PM)] SikuliXFinal: cleanUp: 0

________
Any ideas how to resolve or further steps for debugging? I’m on a tight deadline to migrate from dev to production (they’re looking to stand this up for the holidays) and would be grateful for any holiday help.

Question information

Language:
English Edit question
Status:
Solved
For:
SikuliX Edit question
Assignee:
No assignee Edit question
Solved by:
Keiron
Solved:
Last query:
Last reply:
Revision history for this message
RaiMan (raimund-hocke) said :
#1

Did the supplemental build workflow work without any modifications on RHEL (ok, after having setup the prerequisites OpenCV and Tesseract)?

Your problem:
Only your newly built libVisionProxy.so should be in the folder sikuli/libs.
The dependent libs from OpenCV and Tesseract are expected to be in the system library folders, that where used at build time of libVisionProxy.so (/usr/lib or /usr/local/lib or /usr/lib64 or ...)

Revision history for this message
Keiron (keiron) said :
#2

Yes, supplemental build had no problems finding libs.

Symlinks to OpenCV & Tesseract are in both /usr/lib & /usr/lib64/ at this point.

Only contents of /sikuli/lib are : MadeForSikuliX64L.txt libJXGrabKey.so libVisionProxy.so (old removed & supplemental added)

Still getting the same error.

-d3 logs from within sikuli are:
[debug] EditorConsolePane: init: stdout/stderr redirected to console
[debug] ResourceLoaderBasic: loadLib: Is already loaded: JXGrabKey
[debug] restore session: /nf/home/~/test.sikuli/
[debug] SikuliEditorKit.read [debug] Sikuli-IDE startup: 3364

-d logs to SikuliLog.txt are:

[debug] Debug: setLogFile: /usr/sikuli/sikuli/SikuliLog.txt
[debug (12/20/13 11:33:50 AM)] Running on Java 7 (1.7.0_45-b18)
[debug (12/20/13 11:33:50 AM)] --- Sikuli parameters ---
[debug (12/20/13 11:33:50 AM)] 1: -d
[debug (12/20/13 11:33:50 AM)] init user preferences
[debug (12/20/13 11:33:50 AM)] locale: en_US
[debug (12/20/13 11:33:50 AM)] ResourceLoaderBasic: SikuliX Package Build: 1.0.1 12SEP2013160242
[debug (12/20/13 11:33:50 AM)] ResourceLoaderBasic: check: we are running on arch: amd64
[debug (12/20/13 11:33:50 AM)] ResourceLoaderBasic: check: using Java at: /usr/sikuli/jdk1.7.0_45/jre/
[debug (12/20/13 11:33:50 AM)] ResourceLoaderBasic: check: Exists libs folder at location of jar? YES: /usr/sikuli/sikuli/
[debug (12/20/13 11:33:50 AM)] ResourceLoaderBasic: checkLibsDir: /usr/sikuli/sikuli/libs
[debug (12/20/13 11:33:50 AM)] ResourceLoaderBasic: loadLib: JXGrabKey
[debug (12/20/13 11:33:50 AM)] ResourceLoaderBasic: loadLib: Found: JXGrabKey
[debug (12/20/13 11:33:50 AM)] ResourceLoaderBasic: loadLib: Now loaded: JXGrabKey
[debug (12/20/13 11:33:50 AM)] ResourceLoaderBasic: checkLibsDir: Using libs at: /usr/sikuli/sikuli/libs
[debug (12/20/13 11:33:50 AM)] Screen: initScreens: basic initialization (1 Screen(s) found)
[debug (12/20/13 11:33:50 AM)] *** monitor configuration (primary: 0) ***
[debug (12/20/13 11:33:50 AM)] Screen 0: S(0)[0,0 1024x1024]
[debug (12/20/13 11:33:50 AM)] *** end monitor configuration ***
[debug (12/20/13 11:33:50 AM)] [I18N] menuShowThumbs
[debug (12/20/13 11:33:52 AM)] ResourceLoaderBasic: loadLib: Is already loaded: JXGrabKey
[debug (12/20/13 11:33:52 AM)] restore session: /nf/home/~/test.sikuli/
[debug (12/20/13 11:33:52 AM)] SikuliX Jython Support Build: 1.0.1 12SEP2013160248
[debug (12/20/13 11:33:52 AM)] SikuliEditorKit.read
[debug (12/20/13 11:33:52 AM)] Sikuli-IDE startup: 2446
[debug (12/20/13 11:34:16 AM)] FileManager: tempfile create: /tmp/sikuli-1889586201733847928.py
[debug (12/20/13 11:34:18 AM)] JythonScriptRunner: : executeScriptHeader: adding SikuliX Lib path to sys.path
/usr/sikuli/sikuli/sikuli-ide.jar/Lib
[debug (12/20/13 11:34:19 AM)] Jython: sikuli: __init__: entering
[debug (12/20/13 11:34:20 AM)] Jython: sikuli: Sikuli: entering
[debug (12/20/13 11:34:22 AM)] Jython: sikuli: Sikuli: constants
[debug (12/20/13 11:34:22 AM)] Jython: sikuli: Sikuli: import Region
[debug (12/20/13 11:34:29 AM)] Jython: sikuli: Sikuli: import Screen
[debug (12/20/13 11:34:29 AM)] Jython: sikuli: Sikuli: Env.addHotkey
[debug (12/20/13 11:34:29 AM)] Jython: sikuli: Sikuli: import Match
[debug (12/20/13 11:34:29 AM)] Jython: sikuli: Sikuli: import Pattern
[debug (12/20/13 11:34:29 AM)] Jython: sikuli: Sikuli: import Location
[debug (12/20/13 11:34:29 AM)] Jython: sikuli: Sikuli: import ScreenUnion
[debug (12/20/13 11:34:29 AM)] Jython: sikuli: Sikuli: import Finder
[debug (12/20/13 11:34:31 AM)] ResourceLoaderBasic: loadLib: VisionProxy
[debug (12/20/13 11:34:31 AM)] ResourceLoaderBasic: loadLib: Found: VisionProxy
[error (12/20/13 11:34:31 AM)] ResourceLoaderBasic: loadLib: Fatal Error 110: loading: libVisionProxy.so
[error (12/20/13 11:34:31 AM)] ResourceLoaderBasic: loadLib: Since native library was found, it might be a problem with needed dependent libraries
/usr/sikuli/sikuli/libs/libVisionProxy.so: libopencv_core.so.2.4: cannot open shared object file: No such file or directory
[error (12/20/13 11:34:31 AM)] Terminating SikuliX after a fatal error(110)! Sorry, but it makes no sense to continue!
If you do not have any idea about the error cause or solution, run again
with a Debug level of 3. You might paste the output to the Q&A board.
[debug (12/20/13 11:34:31 AM)] SikuliXFinal: cleanUp: 0

Is there a full list/preferred path of all libs, so I can check all are where they should be?

Revision history for this message
Keiron (keiron) said :
#3

Note: I did have to manually download the launchpad files as system has no direct connection to web (have to scp through a couple of secured gateways).

Revision history for this message
Keiron (keiron) said :
#4

Ended up solving this based on the linked bug's debug steps. Running "runIDE -d 3 -c", produced additional debug steps that pointed to missing libs: liblept.so & liblept.so.2
Once symlinked from /usr/local/lib to /usr/lib & /usr/lib64, everything loaded fine.

Thanks for the help and happy Holidays!