문제

I'm currently writing a small terminal application, using what I find a very cool Java library : Lanterna. it allows me to write ncurses-like application using similar concepts to Swing.

As that application ultumate goal is to be run on servers, I test it on a Vagrant ubuntu box. Unfortunatly, at each start-up, I get the following error :

vagrant@precise64:~/myProject/target$ java -jar myProject-1.1.0-SNAPSHOT.jar -Djava.awt.headless=true
Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/jvm/jdk1.6.0_37/jre/lib/amd64/xawt/libmawt.so: libXtst.so.6: 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:1807)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1703)
        at java.lang.Runtime.load0(Runtime.java:770)
        at java.lang.System.load(System.java:1003)
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1724)
        at java.lang.Runtime.loadLibrary0(Runtime.java:823)
        at java.lang.System.loadLibrary(System.java:1028)
        at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.Toolkit.loadLibraries(Toolkit.java:1605)
        at java.awt.Toolkit.<clinit>(Toolkit.java:1627)
        at java.awt.Font.<clinit>(Font.java:210)
        at com.googlecode.lanterna.terminal.swing.TerminalAppearance.createDefaultNormalFont(TerminalAppearance.java:46)
        at com.googlecode.lanterna.terminal.swing.TerminalAppearance.<clinit>(TerminalAppearance.java:33)
        at com.googlecode.lanterna.terminal.swing.SwingTerminal.<init>(SwingTerminal.java:77)
        at com.googlecode.lanterna.TerminalFacade.createSwingTerminal(TerminalFacade.java:115)
        at com.googlecode.lanterna.TerminalFacade.createSwingTerminal(TerminalFacade.java:104)
        at com.googlecode.lanterna.TerminalFacade.createTerminal(TerminalFacade.java:95)
        at com.googlecode.lanterna.TerminalFacade.createTerminal(TerminalFacade.java:65)
        at com.googlecode.lanterna.TerminalFacade.createTerminal(TerminalFacade.java:54)
        at com.googlecode.lanterna.TerminalFacade.createScreen(TerminalFacade.java:247)
        at com.googlecode.lanterna.TerminalFacade.createGUIScreen(TerminalFacade.java:261)

I guess there is a problem with my Java installation, which come from the Chef solo Java recipe using this configuration

    chef.json = {
        :java => {
            :install_flavor => "oracle",
            :oracle => {
                "accept_oracle_download_terms" => true
            }               
        },
        :maven => {
            :version => '3',
            :setup_bin => 'true'
        }
    }

But how can I fix it ?

도움이 되었습니까?

해결책

libXtst.so comes with a package named: libxtst6 ; than is in debian. Check if that package is installed, maybe chef does not install that package automatically .

Good-luck

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top