Atom does not run on Linux (related to protobuf?)


#1

Atom builds fine from source, but running ./atom-shell/atom gives the following message.

[libprotobuf FATAL ../../third_party/protobuf/src/google/protobuf/stubs/common.cc:61] This program requires version 2.5.1 of the Protocol Buffer runtime library, but the installed version is 2.5.0.  Please update your library.  If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library.  (Version verification failed in "gen/proto_out/config/config.pb.cc".)

…followed by a segfault. I’m having trouble debugging this, since I can’t find the directory it’s talking about, but the message seems to be originating from ./atom-shell/libchromiumcontent.so. This message doesn’t change whether I have protobuf 2.6.1 installed or no version at all, so libchromiumcontent.so seems to be a prebuild.


#2

Could you give the following information?

  • Which version of Atom are you using?
  • What OS and version are you running?
  • Have you followed the Build Instructions for your platform?

#3
  • the latest source, from the GitHub. I’ve tried a few times in the past month with the same result.
  • Arch Linux, with and without protobuf 2.6.1
  • Yes

#4

A minor quibble. Don’t ever say “current version” in a bug report. A month from now no one reading this will know what version you were referring to.


#5

Right, of course.

For the purposes of this bug report, I am using v0.194.0, but this is not a problem with Atom itself, but of libchromiumcontent. However, I can’t figure out where the Atom build system is getting the libchromiumcontent.so binary from, so that I can report it to those in charge of building it. It’s not included in the atom/atom repo, and grepping libchromiumcontent.so returns nothing in the source except the built atom binary that calls it.


#6

@AndrewBelt libchromiumcontent is brought in by Electron (formerly atom-shell). You might want to post a question against that repository so that @zcbenz can take a look.


#7

@AndrewBelt you also may want to ask butangmucat over at the Arch User Repository. He provides the Arch binary for Atom. If your goal is to just to get it up and running, look into installing this package: https://aur.archlinux.org/packages/atom-editor-bin/


#8

I’ve almost got it resolved. I discovered that running it as root works, which is odd, but why would that be?


#9

Fixed. Protobuf, a dependency of libchromiumcontent, is incompatible (at the moment) with uim-mozc, which allows Japanese text to be typed on Linux. This is probably a niche issue, and way downstream, but someone else might run into it.


#11

@AndrewBelt, you said it is fixed, but how did you fix it?


#12

A workaround is disabling UIM only for Atom. Using a terminal:

unset GTK_IM_MODULE QT_IM_MODULE XMODIFIERS
atom

Note: I set this variables while installing uim-mozc as described in Archlinux wiki.


#13

Citing cemsbr’s solution here (from the arch user repository’s comments):

$ unset GTK_IM_MODULE QT_IM_MODULE XMODIFIERS
$ atom

Can anyone else confirm this?


#14

A Mozc (and Chromium) developer here. I suspect that both libchromiumcontent.so and libuim-mozc.so depend on system-installed libprotobuf.so, which is a typical reason that libprotobuf.so crashes at run time (e.g. Mozc #14). My suggestion would be linking to Protocol Buffers statically whenever possible.

@AndrewBelt Can you find the locations of libchromiumcontent.so and libuim-mozc.so then pass each file path to ldd command like /usr/lib/uim/plugin/libuim-mozc.so? If both of them show the dependency to libprotobuf.so, that’s likely to be the problem.


#15

Hi Yukawa,
I did not expect to attract a developer for Mozc and Chromium to this issue. Unfortunately I have switched back to Sublime Text due to the overwhelming frequency of crashes and performance issues.
However, when I get some free time, I will install it again and let you know what I find, for the sake of current users of Atom.


#16

Hi there,

I’m running Fedora 21+Gnome and Atom 1.0.0 and none of the workaround works.

If launch atom as root and switch to japanese input it just keep writing in alphabet.

with the unset command it just writes a grabled text.