Uploaded image for project: 'Open Development'
  1. Open Development
  2. OPEN-28

libmedia_plugin_webkit.so doesn't find libqgif.so on standalone, all web features defunct

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Component/s: viewer build
    • Labels:
    • Environment:

      Description

      To reproduce

      On Gentoo or Funtoo Linux:

      1. Add Techwolf's portage overlay as described on http://gentoo.techwolf.net/
      2. From the overlay, install dev-libs/llqtwebkit-hg (and any other build and runtime dependencies of the viewer)
        e.g. with

                     sudo emerge --onlydeps games-simulation/secondlife-hg
          

      3. Build viewer-development 14319:9e99b2c8fb28 or any of its descendants in standalone mode (thus using the dev-libs/llqtwebkit-hg installed system wide above)
        (I don't know whether it matters that I build out-of-source.)
      4. Run the viewer by calling

        ${BUILD_DIR}/newview/packaged/secondlife

      5. Press F1

      Expected

      • Internal Browser floater opens
      • A website is being displayed (if only a 404 error message page, due to channel mismatch)

      Observed

      • Internal Browser floater opens
      • The floater stays dark gray
      • Terminal shows

        2011-01-13T19:47:25Z INFO: LLMediaCtrl::handleVisibilityChange: visibility changed to true
        2011-01-13T19:47:25Z INFO: LLViewerMediaImpl::navigateInternal: media id= d34f5d31-e143-59f6-41c8-578d5822b8ac url=http://viewer-help.secondlife.com/en/LindenDeveloper/2.5.0.0/pre_login_help mime_type=
        2011-01-13T19:47:25Z INFO: nextFrame: Slow frame, fast timers inaccurate
        2011-01-13T19:47:26Z INFO: LLViewerMedia::getCurrentUserAgent: SecondLife/2.5.0.0 (LindenDeveloper; default skin)
        2011-01-13T19:47:26Z INFO: LLViewerMediaImpl::loadURI: Asking media source to load URI: http://viewer-help.secondlife.com/en/LindenDeveloper/2.5.0.0/pre_login_help
        2011-01-13T19:47:26Z INFO: parse: LLSDXMLParser::Impl::parse: XML_STATUS_ERROR parsing:HTTP/1.1 404 NOT FOUND
        2011-01-13T19:47:26Z INFO: LLCurl::error: http://viewer-help.secondlife.com/en/LindenDeveloper/2.5.0.0/pre_login_help [404]: NOT FOUND
        2011-01-13T19:47:26Z WARNING: LLPluginInstance::load: apr_dso_load of ${BUILD_DIR}/newview/packaged/bin/llplugin/libmedia_plugin_webkit.so failed with error 20019 , additional info string: libqgif.so: cannot open shared object file: No such file or directory
        2011-01-13T19:47:26Z INFO: LLPluginMessagePipe::pumpInput: Got EOF from plugin socket. 
        2011-01-13T19:47:26Z WARNING: LLFunctorRegistry<boost::function<void ()(LLSD const&, LLSD const&)> >::getFunctor: tried to find 'MediaPluginFailed' in LLFunctorRegistry, but it wasn't there.
        2011-01-13T19:47:26Z WARNING: LLFunctorRegistry<boost::function<void ()(LLSD const&, LLSD const&)> >::log_functor: log_functor called with payload: {}
        

        where ${BUILD_DIR} is the absolute path to the build directory.

      Regression

      On revisions before 14319:9e99b2c8fb28 (e.g. 14318:f742516edede), with the exactly same system-wide installed llqtwebkit one observes the expected behavior with output like this:

      2011-01-13T21:53:30Z INFO: LLMediaCtrl::handleVisibilityChange: visibility changed to true
      2011-01-13T21:53:30Z INFO: LLViewerMediaImpl::navigateInternal: media id= ccac2a7e-aad2-826b-fb1f-a37f9bcd5fec url=http://viewer-help.secondlife.com/en/LindenDeveloper/2.5.0.0/pre_login_help mime_type=
      2011-01-13T21:53:30Z INFO: LLViewerMedia::getCurrentUserAgent: SecondLife/2.5.0.0 (LindenDeveloper; default skin)
      2011-01-13T21:53:30Z INFO: LLViewerMediaImpl::loadURI: Asking media source to load URI: http://viewer-help.secondlife.com/en/LindenDeveloper/2.5.0.0/pre_login_help
      2011-01-13T21:53:30Z INFO: parse: LLSDXMLParser::Impl::parse: XML_STATUS_ERROR parsing:HTTP/1.1 404 NOT FOUND
      2011-01-13T21:53:30Z INFO: LLCurl::error: http://viewer-help.secondlife.com/en/LindenDeveloper/2.5.0.0/pre_login_help [404]: NOT FOUND
      2011-01-13T21:53:30Z INFO: nextFrame: Slow frame, fast timers inaccurate
      2011-01-13T21:53:30Z INFO: LLPluginProcessParent::receiveMessage: plugin version string: Webkit media plugin, Webkit version 2.02.38519 (QtWebKit version 4.6.3)
      2011-01-13T21:53:30Z INFO: LLPluginProcessParent::receiveMessage: message class: base -> version: 1.0
      2011-01-13T21:53:30Z INFO: LLPluginProcessParent::receiveMessage: message class: media -> version: 1.0
      2011-01-13T21:53:30Z INFO: LLPluginProcessParent::receiveMessage: message class: media_browser -> version: 1.0
      ** (<unknown>:4694): DEBUG: NP_Initialize
      ** (<unknown>:4694): DEBUG: NP_Initialize succeeded
      ** (<unknown>:4694): DEBUG: NP_Initialize
      ** (<unknown>:4694): DEBUG: NP_Initialize succeeded
      ** (<unknown>:4694): DEBUG: NP_Initialize
      ** (<unknown>:4694): DEBUG: NP_Initialize succeeded
      ** (<unknown>:4694): DEBUG: NP_Initialize
      ** (<unknown>:4694): DEBUG: NP_Initialize succeeded
      Gtk-Message: Failed to load module "canberra-gtk-module": libcanberra-gtk-module.so: cannot open shared object file: No such file or directory
      Gtk-Message: Failed to load module "gnomebreakpad": libgnomebreakpad.so: cannot open shared object file: No such file or directory
      

      (Yes I notice this still fails to load (other) shared libraries, but the internal browser seems to work fine anyway.)

      Workaround

      Set LD_LIBRARY_PATH=/usr/lib64/qt4/plugins/imageformats before or when running the viewer.

      • Internal browser will work again.
      • Terminal output will be the same as it was with unaffected revisions.

      Further Observations

      • On revisions before 14319:9e99b2c8fb28 (e.g. 14318:f742516edede), the CMake variable QT_PLUGIN_qgif wasn't set at all, while since 14319:9e99b2c8fb28 it is set. (On my system to the apparently correct /usr/lib64/qt4/plugins/imageformats/libqgif.so)
      • The CMake variable WEBKITLIBPLUGIN defaults to OFF on standalone and to ON on non-standalone. This was the case already before 14319:9e99b2c8fb28 and hasn't changed. Though, changing WEBKITLIBPLUGIN doesn't seem to have any effect at all, and it doesn't appear anywhere in the source tree other than the places where it is being set. It should probably be removed.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              boroondas.gupte Boroondas Gupte
              Extended Group Visibility:
              jira-users
            • Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: