ubuntu中的Sikuli自动化

ubuntu中的Sikuli自动化,ubuntu,automation,ubuntu-12.04,sikuli,Ubuntu,Automation,Ubuntu 12.04,Sikuli,我试图在ubuntu 12.4中安装sikuli 遵循以下站点中提到的步骤 安装在ubuntu中的java是 ~$ java -version java version "1.7.0_51" Java(TM) SE Runtime Environment (build 1.7.0_51-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode) sikuli ide已成功加载,当我尝试在屏幕上捕获图像时,出现以下错

我试图在ubuntu 12.4中安装sikuli 遵循以下站点中提到的步骤

安装在ubuntu中的java是

~$ java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
sikuli ide已成功加载,当我尝试在屏幕上捕获图像时,出现以下错误

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: /home/ushusadmin/sikuli/Sikuli-IDE/libs/libVisionProxy.so: libml.so.2.1: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1851)
at java.lang.Runtime.load0(Runtime.java:795)
at java.lang.System.load(System.java:1062)
at com.wapmx.nativeutils.jniloader.NativeLoader.loadLibrary(NativeLoader.java:44)
at org.sikuli.script.TextRecognizer.(TextRecognizer.java:24)
at org.sikuli.ide.NamingPane.getFilenameFromImage(NamingPane.java:55)
at org.sikuli.ide.CaptureButton.update(CaptureButton.java:149)
at org.sikuli.script.CapturePrompt.notifyObserver(CapturePrompt.java:44)
at org.sikuli.script.CapturePrompt$1.mouseReleased(CapturePrompt.java:197)
at java.awt.Component.processMouseEvent(Componen

t.java:6505)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Window.processEvent(Window.java:2022)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(

Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)

我怎样才能摆脱这个错误。我花了好几天的时间来纠正这个错误,真的受够了:-(专家请帮助我)

我在你的堆栈跟踪中注意到了这一点:

线程“AWT-EventQueue-0”java.lang.unsatifiedlinkerror:/home/ususadmin/sikuli/sikuli IDE/libs/libVisionProxy.so:libml.so.2.1:无法打开共享对象文件:没有此类文件或目录

关于libml.so.2.1没有被找到的抱怨让我怀疑你有一个旧版本的Sikuli

因此,我建议使用最新的Sikuli版本(1.0.1),并确保至少安装了OpenCV 2.4.0

请注意,Sikuli 1.0.1依赖于OpenCV 2.4.0,而您链接的指南是从2.3.0可接受的日期开始的

我会尝试删除libcv-dev包的2.3版本(如果您有),而是从opencv2.4 PPA repo中安装libcv-dev:

sudo add-apt-repository ppa:gijzelaar/opencv2.4
另外,我注意到Sikuli的人发布了一个libVisionProxy.so的特殊版本供下载;不确定它是否有助于像您这样的系统,但如果使用Sikuli 1.0.1和OpenCV 2.4.0没有帮助,可能值得一试

所涉及的文件是
Sikuli-1.0.1-Supplemental-LinuxVisionProxy.zip

最后,如果有帮助,下面是我在Ubuntu 12.04上启动并运行Sikuli 1.0.1的全部步骤:

  • 安装Oracle JRE(我正在使用1.7.0_51,就像您的环境一样)

  • 安装OpenCV 2.4.0

    sudo add-apt-repository ppa:gijzelaar/opencv2.4
    
    sudo apt-get update
    
    sudo apt-get libcv-dev
    
    或者,您也可以通过按照以下步骤从源代码处构建/安装OpenCV 2.4.0来实现这一点:

    注意,当我尝试这样做时,我省略了安装QT包的步骤,并在构建OpenCV时从cmake命令中删除了“-D WITH_QT=ON”

  • 安装Tesseract 3:

    sudo apt get安装libtesseract3

  • 下载sikuli-setup.jar并将其保存到~/SikuliX

  • 启动sikuli-setup.jar并将sikuli安装到~/SikuliX

    cd~/SikuliX&&java-jar sikuli setup.jar

    我选择了“pack1”选项,让安装程序正常进行

  • 在IDE中创建一个Sikuli脚本并运行它

    此外,我发现使用“runIDE-r”选项运行.sikuli项目对于排除依赖性问题非常有帮助;与在IDE中运行脚本相比,这似乎会导致更多有关错误的信息。例如:

    ~/SikuliX/runIDE-r foo.sikuli

  • 以下是我的操作系统和JRE环境的详细信息:

    $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 12.04.3 LTS
    Release:    12.04
    Codename:   precise
    
    $ java -version
    java version "1.7.0_51"
    Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
    

    我在堆栈跟踪中注意到:

    线程“AWT-EventQueue-0”java.lang.unsatifiedlinkerror:/home/ususadmin/sikuli/sikuli IDE/libs/libVisionProxy.so:libml.so.2.1:无法打开共享对象文件:没有此类文件或目录

    关于libml.so.2.1没有被找到的抱怨让我怀疑你有一个旧版本的Sikuli

    因此,我建议使用最新的Sikuli版本(1.0.1),并确保至少安装了OpenCV 2.4.0

    请注意,Sikuli 1.0.1依赖于OpenCV 2.4.0,而您链接的指南是从2.3.0可接受的日期开始的

    我会尝试删除libcv-dev包的2.3版本(如果您有),而是从opencv2.4 PPA repo中安装libcv-dev:

    sudo add-apt-repository ppa:gijzelaar/opencv2.4
    
    另外,我注意到Sikuli的人发布了一个libVisionProxy.so的特殊版本供下载;不确定它是否有助于像您这样的系统,但如果使用Sikuli 1.0.1和OpenCV 2.4.0没有帮助,可能值得一试

    所涉及的文件是
    Sikuli-1.0.1-Supplemental-LinuxVisionProxy.zip

    最后,如果有帮助,下面是我在Ubuntu 12.04上启动并运行Sikuli 1.0.1的全部步骤:

  • 安装Oracle JRE(我正在使用1.7.0_51,就像您的环境一样)

  • 安装OpenCV 2.4.0

    sudo add-apt-repository ppa:gijzelaar/opencv2.4
    
    sudo apt-get update
    
    sudo apt-get libcv-dev
    
    或者,您也可以通过按照以下步骤从源代码处构建/安装OpenCV 2.4.0来实现这一点:

    注意,当我尝试这样做时,我省略了安装QT包的步骤,并在构建OpenCV时从cmake命令中删除了“-D WITH_QT=ON”

  • 安装Tesseract 3:

    sudo apt get安装libtesseract3

  • 下载sikuli-setup.jar并将其保存到~/SikuliX

  • 启动sikuli-setup.jar并将sikuli安装到~/SikuliX

    cd~/SikuliX&&java-jar sikuli setup.jar

    我选择了“pack1”选项,让安装程序正常进行

  • 在IDE中创建一个Sikuli脚本并运行它

    此外,我发现使用“runIDE-r”选项运行.sikuli项目对于排除依赖性问题非常有帮助;与在IDE中运行脚本相比,这似乎会导致更多有关错误的信息。例如:

    ~/SikuliX/runIDE-r foo.sikuli

  • 以下是我的操作系统和JRE环境的详细信息:

    $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 12.04.3 LTS
    Release:    12.04
    Codename:   precise
    
    $ java -version
    java version "1.7.0_51"
    Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)