javaubuntugtkvirtualboxcommandbox

Getting "GTK+ 2.x symbols detected." error when trying to start a server using CommandBox


I am trying to start a Lucee server under an Ubuntu 16.10 VirtualBox virtual machine using CommandBox 3.5.0. For debugging purposes I use this command:

server start --debug --console --noopenbrowser

This seems to start up the server but the last lines of the console output read like this:

Runwar: started servlet deployment manager Runwar: started stop monitor ******************************************************************************
*** starting 'stop' listener thread - Host: 127.0.0.1 - Socket: 42799 ******************************************************************************
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

(java:2864): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported

To me it looks like some part of CommandBox was compiled using both versions of GTK. So, I'm wondering now whether that can be circumvented somehow without having to touch CommandBox' code.


Solution

  • The error only happens when running CommandBox from the Ubuntu GUI, but not from the pure shell.

    So the workaround for this error is:

    1. Change to Linux console with Ctrl+Alt+F1
    2. Start CommandBox
    3. Start your server
    4. Change back to GUI-mode with Ctrl+Alt+F7

    After this the server is running and you can see your app in the browser.