New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 648582 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Nov 14
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Problem loading shared libraries from mojo_runner but only if Ozone GBM is built

Project Member Reported by kylec...@chromium.org, Sep 20 2016

Issue description

This is a bit strange. When building a Mojo application the inclusion of the Ozone GBM platform breaks shared library loading, even if we're not actually running the Ozone GBM platform.

Broken Configuration:

$ gn args out_demo
use_goma = true
is_component_build = true
is_debug = false 
use_ozone = true
ozone_auto_platforms = false
ozone_platform_x11 = true
ozone_platform_gbm = true
target_os = "chromeos"

$ ninja -j1000 -C out_demo services/ui/demo

$ out_demo/mojo_runner mojo:mus_demo --ozone-platform=x11
[72416:72416:0920/091354:497032327931:ERROR:native_application_support.cc(46)] Failed to load app library (path: /usr/local/google/data/chrome/src/out_demo/Packages/mus_demo/mus_demo.library reason: libskia.so: cannot open shared object file: No such file or directory)
[72416:72416:0920/091354:497032328912:ERROR:child_process.cc(46)] Failure to RunNativeApplication()

Those GN args are used to build //services/ui/demo for Ozone X11 and GBM platforms. I'm then trying to run the Mojo application using the Ozone X11 platform and it's looking in the wrong place for *.so files. If I remove "ozone_platform_gbm = true" this changes.

Working Configuration:

$ gn args out_demo
use_goma = true
is_component_build = true
is_debug = false 
use_ozone = true
ozone_auto_platforms = false
ozone_platform_x11 = true
target_os = "chromeos"

$ ninja -j1000 -C out_demo services/ui/demo

$ out_demo/mojo_runner mojo:mus_demo --ozone-platform=x11

The demo runs successfully at this point. I'm not sure why the inclusion of ozone_platform_gbm breaks things. It's only ozone_platform_gbm that breaks things too, the other Ozone platforms don't cause the same problem.
 

Comment 1 by yzshen@chromium.org, Sep 20 2016

(I don't know anything about ozone_platform*)

Did you check where libskia.so was (and whether it was actually created)?
In both cases libskia.so is created in the main output directory eg. ./out_demo/libskia.so. For some reason the directory where mojo_runner looks for shared libraries  changes when you compile Ozone GBM. Instead of looking for shared libraries in ./out_demo it looks in ./out_demo/Packages/mus_demo for some reason?

If you add ./out_demo to the LD_LIBRARY_PATH it'll work as expected in the broken configuration.

$ LD_LIBRARY_PATH=out_demo ./out_demo/mojo_runner mojo:mus_demo --ozone-platform=x11
Cc: jamescook@chromium.org
Components: Internals>Services>WindowService
Labels: -Proj-Mustash-Mus
Cc: -roc...@chromium.org rockot@google.com
Status: WontFix (was: Untriaged)
No longer relevant as mojo_runner no longer exists and we no longer build services as shared libraries. (yay)

Sign in to add a comment