Menu

"Support for selected protocol is not installed" after RDP compiled okay..?

Help
Steve
2015-04-06
2016-05-07
  • Steve

    Steve - 2015-04-06

    I've been running the Ubuntu (14.04, AMD64) packaged version of Guacamole for a while now but have been tempted by some of the tasty new features so decided to install from source. Unfortunately I wasn't careful enough to uninstall before compiling the latest (0.9.6) (although I've since uninstalled the old version, make cleaned, remaked and reinstalled)...
    I have everything running and am able to connect to servers via SSH fine, but whenever I try to connect via RDP I always get an "internal error," catalina.out shows:

    21:37:06.060 [http-bio-8080-exec-14] ERROR o.g.g.s.GuacamoleHTTPTunnelServlet - HTTP tunnel request failed: End of stream while waiting for "args".
    

    and syslog reports:

    Apr  6 21:29:44 localhost guacd[23990]: Protocol "rdp" selected
    Apr  6 21:29:44 localhost guacd[23990]: Support for selected protocol is not installed
    

    This is in spite of this output from ./configure:

    ------------------------------------------------
    guacamole-server version 0.9.6
    ------------------------------------------------
    
    Library status:
    
     freerdp ............. yes
     pango ............... yes
     libssh2 ............. yes
     libssl .............. yes
     libtelnet ........... no
     libVNCServer ........ yes
     libvorbis ........... no
     libpulse ............ no
    
    Protocol support:
    
      RDP ....... yes
      SSH ....... yes
      Telnet .... no
      VNC ....... yes
    
    Init scripts: /etc/init.d
    

    ...and no errors I could see in the compile or install.
    An example of one of my user mappings is:

        <connection name="caliban Mint">
            <protocol>rdp</protocol>
            <param name="hostname">localhost</param>
            <param name="port">3364</param>
            <param name="disable-auth">true</param>
        </connection>
    

    I've also confirmed that the guacd is 0.9.6 when it's started. libfreerdp-dev is 1.0.2-2ubuntu1.
    Been at this all day without joy - I'll really miss this great tool if I can't get it working!
    Thanks in advance - let me know if there's anything else I need to provide to help someone help me.
    Cheers,
    Steve

     
  • Michael Jumper

    Michael Jumper - 2015-04-10

    Did you remember to run ldconfig after make install?

     
  • Starlingfire

    Starlingfire - 2015-10-16

    I'm experiencing the same problem. I uninstalled Guacamole 0.9.4 and installed 0.9.8 from source. Before installing, I installed FreeRDP from source, using the stable-1.1 branch. I did run ldconfig after each installation.

    Guacd is running, and I can authenticate to the server and connect via VNC. I have also verified that I can connect to my remote desktop when using xfreerdp from the terminal.

    Syslog:

    Oct 16 16:31:31 minty guacd[20693]: Protocol "rdp" selected
    Oct 16 16:31:31 minty guacd[20693]: Support for selected protocol is not installed
    

    Log from /var/log/tomcat7/catalina.out:

    16:39:45.181 [http-bio-8080-exec-7] ERROR o.g.g.n.b.w.t.GuacamoleWebSocketTunnelServlet - Creation of WebSocket tunnel to guacd failed: End of stream while waiting for "args".
    16:39:45.402 [http-bio-8080-exec-3] ERROR o.g.g.s.GuacamoleHTTPTunnelServlet - HTTP tunnel request failed: End of stream while waiting for "args".
    

    Log from /var/log/tomcat7/localhost.2015-10-16.log:

    Oct 16, 2015 4:39:45 PM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet [default] in context with path [/guacamole] threw exception
    java.lang.ClassCastException: org.apache.coyote.Request cannot be cast to org.apache.coyote.http11.upgrade.UpgradeInbound
        at org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:860)
        at org.apache.coyote.Request.action(Request.java:344)
        at org.apache.catalina.connector.Request.doUpgrade(Request.java:2836)
        at org.apache.catalina.connector.RequestFacade.doUpgrade(RequestFacade.java:1102)
        at org.apache.catalina.websocket.WebSocketServlet.doGet(WebSocketServlet.java:135)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
        at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
        at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
    

    My non-expert theory is that Guacamole is not able to find the FreeRDP binaries in my libraries--and this could be fixed with symlinks--but I'm not sure where Guacamole is looking for them. Any help is appreciated!

     

    Last edit: Starlingfire 2015-10-16
  • Yee_Keat Phuah

    Yee_Keat Phuah - 2015-12-22

    I got this as well, the problem is not that it can't find the libguac-client-rdp.so, its that it can't find the freerdp libs. So try to run ldd on the /usr/local/lib/libguac-client-rdp.so, and it should have some that is not found, look for those files, and then add them into /etc/ld.so.conf.

    For me I added
    /usr/local/lib64
    /usr/local/lib
    /usr/local/lib/freerdp

    And then run ldconfig, it works after this.

     
    • Josh Burger

      Josh Burger - 2016-05-07

      Could you please elaborate on this? I'm having a problem with this as well. I'm not too sure how to read the output of ldd /usr/local/lib/libguac-client-rdp.so.
      I have error on "libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0.
      I'm running Debian 8.3.
      Thanks!