Problem loading shared libraries from mojo_runner but only if Ozone GBM is built |
|||||
Issue descriptionThis 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.
,
Sep 20 2016
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
,
Dec 1 2016
,
Apr 24 2018
,
Oct 17
,
Nov 14
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 |
|||||
Comment 1 by yzshen@chromium.org
, Sep 20 2016