:observer.start is not working on Ubuntu

It’s something weird, but from last week :observer.start is not working in my machine. This is the error that I’m receiving:

Erlang/OTP 20 [RELEASE CANDIDATE 2] [erts-9.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]

Interactive Elixir (1.4.4) - press Ctrl+C to exit (type h() ENTER for help)

iex(1)> :observer.start

21:52:25.399 [error] WX Failed loading 'wxe_driver'@'/usr/lib/erlang/lib/wx-1.8.1/priv' 

{:error,
 {{:load_driver,
   'symbol _ZThn704_N17wxGenericListCtrl31GetSizeAvailableForScrollTargetERK6wxSize, version WXU_3.0 not defined in file libwx_gtk2u_core-3.0.so.0 with link time reference'},
  [{:wxe_server, :start, 1, [file: 'wxe_server.erl', line: 65]},
   {:wx, :new, 1, [file: 'wx.erl', line: 115]},
   {:observer_wx, :init, 1, [file: 'observer_wx.erl', line: 98]},
   {:wx_object, :init_it, 6, [file: 'wx_object.erl', line: 372]},
   {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 247]}]}}

I have tried to remove Erlang/Elixir and install it again, but without results. Indeed there are some weird things. For example, Erlang Solutions repository is installing a RC Version of esl-erlang and I don’t know why.

Any help, will be appreciated

I have faced the same problem.
It turns out that there are different releases of Erlang, and both the one that comes standard with Canonical’s package repository as well as the one that asdf provides are missing certain natively-compiled modules, including the ones that are required to run WX (the GUI toolkit that :observer uses).

The esl-erlang version contains (many of?) these optional parts. Installing Erlang from esl-erlang after adding the PPA of Erlang Solutions (see this page) solved it for me.

2 Likes

For posterity: The maintainer of asdf-erlang replied to the issue I made on that source repository. It turns out that you can install the required files for WX manually, and if you do that before installing erlang through ASDF, then everything will work as intended.

It’s not working for me. I’m not using ASDF but if I run xw-config --version it seems to be already installed (it says I have 3.0.2 version). My Erlang version is esl-erlang too, but :observer.start throws the error of my first message.

Thanks for your help.

You do have a windowing system and all for it to use? You installed Erlang with the Wx components after the windowing system was installed?

Yes, I’m using Ubuntu 16.04 LTS with Gnome. The strange thin is that :observer was working fine two weeks ago. I don’t know what is broken now.

I have installed elixir and all his dependencies, with esl-erlang. I’m sure I’m forgetting something, but I don’t know what.

Thanks for your help.

Best regards.

If you start an Erlang shell, are you able to open observer?

$ erl
1> observer:start().

Nop. I doesn’t work. But no error message is displayed. Nothing happens.

Regards.

This happened to me as well. I also had trouble with Tesla (using hackney) making api requests. The Erlang Solutions repo is now installing esl-erlang 1:20.0-rc2.

Once I rolled back to esl-erlang 1:19.3 Tesla & :observer started working again. You’ll need to pin the package in apt to prevent updating.

For what little time I had it running 20.0-rc2 did seem to feel a little faster.

2 Likes

Many thanks, @l00ker that worked for me too. Curiously I have installed 1.9.3.6 at first, but it doesn’t work either. After that, I have downgraded the package one more time, to version 1.9.3, and now it’s working.

Thanks to everyone for your help.

1 Like

Has anyone else been able to resolve this problem with OTP 20/Elixir 1.5?

I get the identical error, with the same version numbers for wx-1.8.1 and “version WXU_3.0 not defined in file…” on Linux Mint 18.

It’s working for me with that configuration on Ubuntu.

Have you tried to downgrade your OTP version? That worked for me with 1.19.

I can do that. I was curious if there was a fix for OTP 20

Hi everyone,

I am using ubuntu 14LTS and this worked for me on both OPT20 Elixir 1.4 and Elixir 1.5:

apt-get install libwxgtk3.0-0

But my error was:

{:load_driver, 'libwx_gtk2u_stc-3.0.so.0: cannot open shared object file: No such file or directory'}

Anyway I hope it can help some of you !

2 Likes

reinstall fixed it for me:

sudo apt-get remove elixir
sudo apt-get remove esl-erlang
sudo apt-get update
sudo apt-get install esl-erlang
sudo apt-get install elixir

after that I have a normal release and not an RC any more:

Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:10] [hipe] [kernel-poll:false]

somehow it was only doable with reinstall and not with update. My guess is RC made it there by mistake and we who updated to it were stuck with it

1 Like

Unfortunately, it looks like it still doesn’t work on Mint.

It’s possible that I installed a stray dependency that needs to be cleared out.

Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]

Interactive Elixir (1.5.1) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> :observer.start

19:14:01.894 [error] WX Failed loading 'wxe_driver'@'/usr/lib/erlang/lib/wx-1.8.1/priv' 

{:error,
 {{:load_driver,
   'symbol _ZThn776_N17wxGenericListCtrl31GetSizeAvailableForScrollTargetERK6wxSize, version WXU_3.0 not defined in file libwx_gtk2u_core-3.0.so.0 with link time reference'},
  [{:wxe_server, :start, 1, [file: 'wxe_server.erl', line: 65]},
   {:wx, :new, 1, [file: 'wx.erl', line: 115]},
   {:observer_wx, :init, 1, [file: 'observer_wx.erl', line: 98]},
   {:wx_object, :init_it, 6, [file: 'wx_object.erl', line: 372]},
   {:proc_lib, :init_p_do_apply, 3, [file: 'proc_lib.erl', line: 247]}]}}
iex(2)>

Well if your Erlang was RC, it’s not anymore so that’s something

this was the RC error, now you get “WX Failed loading”

would be my guess too

I am also running Linux Mint 18.1 Serena, and I have been able to get Erlang/OTP 19 with :observer-support installed using the ASDF version manager, by following the ‘before install’ steps here, so maybe that helps :slight_smile:

Installing libwxgtk3.0-0-dev helped me

Me too. apt-get install libwxgtk3.0-dev fixed the issue.

1 Like