Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Opera does not starts #33479

Closed
TerkiKerel opened this issue Jan 5, 2018 · 8 comments
Closed

Opera does not starts #33479

TerkiKerel opened this issue Jan 5, 2018 · 8 comments

Comments

@TerkiKerel
Copy link

Hi,

I updated opera browser. But now it does not starts. I try to open it from command line to see the error:

/nix/store/09fg6vjwv1fq875b6450gyqxd6mvdlzn-opera-48.0.2685.52/lib/x86_64-linux-gnu/opera/opera: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
[0105/223712.829145:FATAL:zygote_host_impl_linux.cc(182)] Check failed: ReceiveFixedMessage(fds[0], kZygoteBootMessage, sizeof(kZygoteBootMessage), &boot_pid).
#0 0x000001cbca87
#1 0x000001cd1c01
#2 0x000000f674b7
#3 0x000000f66816
#4 0x000000f66d2d
#5 0x000000c132c5
#6 0x000000c198b9
#7 0x00000078d976
#8 0x000001cb6afe
#9 0x000001cb742d
#10 0x000002cf2e77
#11 0x000001cb60b2
#12 0x0000004294ec OperaMain
#13 0x7f274a935040 __libc_start_main
#14 0x000000428860

/nix/store/09fg6vjwv1fq875b6450gyqxd6mvdlzn-opera-48.0.2685.52/lib/x86_64-linux-gnu/opera/opera_crashreporter: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Aborted (core dumped)

Thank you

@dtzWill
Copy link
Member

dtzWill commented Jan 5, 2018

Can you post the output of nix-info (it describes your system so we can help)?

As per the issue template ;) the command to run is this nix-shell -p nix-info --run "nix-info -m"

I can't reproduce the problem you're having on unstable, master, or release-17.09. Information would probably help!

@TerkiKerel
Copy link
Author

TerkiKerel commented Jan 6, 2018

@dtzWill I don't have a nix-info command :/

BUt I check these:
nix-env --version: 1.11.16
opera : 48.0.2685.52

I am using Ubuntu 16.04.

Update:
nix-shell -p nix-info --run "nix-info -m" command ouput:

system: "x86_64-linux"

  • host os: Linux 4.10.0-42-generic, Ubuntu, 16.04.3 LTS (Xenial Xerus)
  • multi-user?: no
  • sandbox: no
  • version: nix-env (Nix) 1.11.16
  • channels(user2): "nixpkgs-18.03pre124071.310ad4345bb"
  • nixpkgs: /home/user2/.nix-defexpr/channels/nixpkgs

@dtzWill
Copy link
Member

dtzWill commented Jan 6, 2018

Thank you!

Hmm...

Here's my best explanation/'guess' as to what's happening:

  • opera uses RUNPATH not RPATH, as reported by readelf -d.
  • libstdc++.so.6 is not in NEEDED, presumably it's a transitive dependency
  • RUNPATH is not used for resolving dependencies of things like plugins or transitive dependencies

@TerkiKerel
If you could try running it with LD_DEBUG=libs (like so: $ LD_DEBUG=libs opera) and post the output that would help confirm (or deny, and probably point to whatever else is wrong). I'll poke at this a bit more in the meantime...

Opera is chrome-like and so I looked at what we do for chrome, and there we don't only patchelf the binaries but also create a wrapper that sets a number of things but most relevant to this is that it sets LD_LIBRARY_PATH. This would explain why that might work when opera doesn't, which I bet is the case.

So!

Solutions I see:

Idea 1: Use --force-rpath in the patchelf invocations

This is an easy change, assuming it works and solves your problem.

Idea 2: Port over wrapper bits from Chrome expression, possibly other fixups too

This probably should only be done by someone confident in understanding the structure of Opera and internals, which unfortunately is not me.

Depending on how "chrome-like" Opera is, it might make sense to refactor things a bit and treat Opera like another chrome variant? Not sure.

@dtzWill
Copy link
Member

dtzWill commented Jan 6, 2018

@TerkiKerel actually you might want to try just setting LD_LIBRARY_PATH yourself and see if that resolves the issue?

Something like (path taken from the RUNPATH in your opera binary):

$ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/nix/store/09fg6vjwv1fq875b6450gyqxd6mvdlzn-opera-48.0.2685.52/lib:/nix/store/6n2i3r811qk7rwv548cq8mkjy6y4ngfa-alsa-lib-1.1.5/lib:/nix/store/d1ghfd0m7nsn68s42xb8bx01vz2j28ps-atk-2.26.1/lib:/nix/store/xsc1vqqs5d72f1pjfds5sdf6qzjgqj7b-cairo-1.14.10/lib:/nix/store/yylfgx2vf0a7jhvrybfidhsw9l1fr9b2-cups-2.2.6-lib/lib:/nix/store/2si4avra3z5w9hz9wipyrbsq35jcc9vc-curl-7.57.0/lib:/nix/store/a0xkfv05rp8saarb1ik314p57ljqxywn-dbus-1.10.24-lib/lib:/nix/store/gy0dzs61plxccdyw7j6m699g9z2lif6d-expat-2.2.5/lib:/nix/store/93n4kksb0bkmx8j980pg1yxin4xfmzdn-fontconfig-2.12.1-lib/lib:/nix/store/gxyg8jmcfw3khyj1qi1sha15ysd8yvig-freetype-2.7.1/lib:/nix/store/v8ypi220jcdj3hvw55cjk6b29nin7l1j-gdk-pixbuf-2.36.7/lib:/nix/store/ciz98qjymi65iaq535nylgi36mx9m6jl-glib-2.54.2/lib:/nix/store/0nqrj2qacsdc9q9li611ad035vrx8xdf-gconf-2.32.4/lib:/nix/store/v2n1kfxk63p6ypwv3yi9yjp676hcsdyj-gtk+3-3.22.26/lib:/nix/store/x4cqrnzcvcc1lqvz41cp0dxqbnvsmhfk-libX11-1.6.5/lib:/nix/store/bp2pkcprw9wrp14pbfcbzqyqv6hbc6sx-libXScrnSaver-1.2.2/lib:/nix/store/mk0bgbf7y6ixygmr7yrkr0287bijmhdp-libXcomposite-0.4.4/lib:/nix/store/4hmx8hhk6dxdvckbx4y4z03v3lcycn2y-libXcursor-1.1.15/lib:/nix/store/ihc09b12dnl7a596shvanrw34bvnkgkm-libXdamage-1.1.4/lib:/nix/store/bbj04daarh3hszv6q4krv3rypp3yqv21-libXext-1.3.3/lib:/nix/store/8jhjp4v16arm59cww1s9aha6hbjz7cwr-libXfixes-5.0.2/lib:/nix/store/jkgrv5ga89j8z4wfh9c3qk5xm01qzcby-libXi-1.7.9/lib:/nix/store/h2p4nfvzn3fyqs5drmrn551avwcpyz2a-libXrandr-1.5.1/lib:/nix/store/wrbbi6rl6mkbykcbjc5wsl6nykhlys1k-libXrender-0.9.10/lib:/nix/store/75p8xhyid8j378qa91slqqxxa0il7h50-libXtst-1.2.3/lib:/nix/store/zjidmc2mj80myiw6r3k3dpgr8h6f6kqh-libxcb-1.12/lib:/nix/store/7k0mf06vicsadbhb822dhkx9qydkp05a-libnotify-0.7.7/lib:/nix/store/4slsczsbxrz3f3xyihjkqk8n8bcz9cg4-nspr-4.17/lib:/nix/store/y8y9aa0qw1c623gyxvgn21b5ryb6nv7h-nss-3.33/lib:/nix/store/ir2qdvcbj3zbgsicq3cdi2ccschxilw1-pango-1.40.14/lib:/nix/store/bg8v2akp47f9b2g8awwgbvawmqa0y5in-gcc-6.4.0-lib/lib:/nix/store/2a75pbs2x42qg9dg5g20fqyrvf8rznjz-systemd-234-lib/lib:/nix/store/4jbrigw8wma722fl58dzcp5y0wc9m585-libpulseaudio-11.0/lib opera

LMK if that works? O:)

@TerkiKerel
Copy link
Author

@dtzWill your command worked. opera started.

(please upgrade opera to 50. version :) )

I dont know if it matters but it gives this output:

Gtk-Message: Failed to load module "canberra-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"
[0108/132251.102077:ERROR:gconf_listener.cc(116)] Error with gconf key '/apps/metacity/general': Failed to contact configuration server; the most common cause is a missing or misconfigured D-Bus session bus daemon. See http://projects.gnome.org/gconf/ for information. (Details - 1: GetIOR failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Method "GetIOR" with signature "" on interface "org.gnome.GConf" doesn't exist
)
GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
[0108/132254.382225:ERROR:gl_context_glx.cc(186)] Failed to create GL context with glXCreateContextAttribsARB.
[0108/132254.396090:ERROR:gpu_info_collector.cc(51)] gl::init::CreateGLContext failed
[0108/132254.396138:ERROR:gpu_info_collector.cc(119)] Could not create context for info collection.
[0108/132254.396176:ERROR:gpu_init.cc(96)] gpu::CollectGraphicsInfo failed (fatal).
[0108/132254.722438:ERROR:gpu_child_thread.cc(255)] Exiting GPU process due to errors during initialization
[0108/132255.225314:ERROR:browser_gpu_channel_host_factory.cc(103)] Failed to launch GPU process.

@dtzWill
Copy link
Member

dtzWill commented Jan 8, 2018

@TerkiKerel I actually did that already while investigating (#33530), should be included next time the channel updates 😁

Regarding the output, do you know if it printed similar output previously?

Finding drivers/GL libraries on non-NixOS is a bit sketchy if I remember correctly, not sure there's much to be fixed (that's not already part of an ongoing issue).

@TerkiKerel
Copy link
Author

@dtzWill today I updated Opera:

opera --version
50.0.2762.45

But when I want to start it it gives this error:

/nix/store/gqffp7scsi5v8qsmlriag58rp26gv0hw-opera-50.0.2762.45/lib/x86_64-linux-gnu/opera/opera: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
/nix/store/gqffp7scsi5v8qsmlriag58rp26gv0hw-opera-50.0.2762.45/lib/x86_64-linux-gnu/opera/opera_crashreporter: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
/nix/store/gqffp7scsi5v8qsmlriag58rp26gv0hw-opera-50.0.2762.45/lib/x86_64-linux-gnu/opera/opera_crashreporter: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Illegal instruction (core dumped)

@TerkiKerel
Copy link
Author

I try opera on another computer. opera worked. I will close this issue now. because i will remove my old computer soon. so we are not able to re-try this issue again...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants