Closed millette closed 4 years ago
Possible clues: https://github.com/mapnik/node-mapnik/issues/710#issuecomment-296837789
Yeah, I might just suggest you update Debian. Appreciate that you filed this though!
I have same issue on CentOS Linux release 7.4.1708
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
Probably no easy way to Fix it :
https://www.centos.org/forums/viewtopic.php?t=64860&p=272794
Yeah, if you're getting that error, the simplest solution is to build from source.
Thanks a lot ! It worked like a charm. Amazing project.
Thanks! 😄
FYI, Debian 8.10 still has this issue :-) .
Will try building from source...
Hmm! Noted
@elimisteve, Debian 8 (Jessie, oldstable) isn't supported by the current AppImage, but Debian 9 (Stretch, stable) is.
@pfrazee I'm getting almost identical issue, on Mint (Ubuntu-fork) -- BUT I have some (potential) good news!
After doing some research, it seems this is a common issue when compiling on and for very different *nix platforms/environments. Others' coding projects ALSO get error -- not when compiling, but when running executable AppImage.
I've found a clear culprit(s)...... incl reports of similar issues (on other GitHub projects)... ... as well as potential workarounds or solutions.
Similar end-user bug-reports (from other projects -- please read to understand the validity of this issue): [1] https://github.com/typora/typora-issues/issues/504
Clear explanations of what's causing these symptoms -- and possible work-arounds [2] https://stackoverflow.com/questions/36816570/glibcxx-3-4-21-not-defined-in-file-libstdc-so-6-with-link-time-reference [3] https://github.com/conan-io/conan/issues/1684
A JavaScript error occurred in the main process Uncaught Exception: Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found (required by /tmp/.org.chromium....
.
GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
I'm currently as up-to-date as can be! What happened: First -- on Mint 17.2, before distro & other upgrades -- was getting this error:
$ ./beaker-browser-0.8.0-prerelease.7-x86_64.AppImage --help
installed: X-AppImage-BuildId=77d91d70-93a3-11a8-36a3-27d1fc992174 image: X-AppImage-BuildId=77d91d70-93a3-11a8-36a3-27d1fc992174 A JavaScript error occurred in the main process Uncaught Exception: _Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found (required by /tmp/.org.chromium.Chromium.vEeo0S)_ at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:172:20) at Object.Module._extensions..node (module.js:671:18) at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:186:18) at Module.load (module.js:561:32) at tryModuleLoad (module.js:504:12) at Function.Module._load (module.js:496:3) at Module.require (module.js:586:17) at require (internal/module.js:11:18) at Object.
(/tmp/.mount_beakeraMS36U/app/resources/app.asar/node_modules/sqlite3/lib/sqlite3.js:4:15) at Object. (/tmp/.mount_beakeraMS36U/app/resources/app.asar/node_modules/sqlite3/lib/sqlite3.js:190:3)
But now -- AFTER the distro 17.2 -> 17.3... and other software upgrades... ... here is my current system:
$ uname -a Linux freekbox 4.4.0-135-generic #161~14.04.1-Ubuntu SMP Tue Aug 28 11:17:49 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ $ cat /etc/*-release DISTRIB_ID=LinuxMint DISTRIB_RELEASE=17.3 DISTRIB_CODENAME=rosa DISTRIB_DESCRIPTION="Linux Mint 17.3 Rosa" NAME="Ubuntu" VERSION="14.04.5 LTS, Trusty Tahr" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 14.04.5 LTS" VERSION_ID="14.04"
... and now the error has changed:
$ ./beaker-browser-0.8.0-prerelease.7-x86_64.AppImage --help installed: X-AppImage-BuildId=77d91d70-93a3-11a8-36a3-27d1fc992174 image: X-AppImage-BuildId=77d91d70-93a3-11a8-36a3-27d1fc992174 Logfile: /home/joseph/.config/Beaker Browser/debug.log
/tmp/.mount_beakerlCIsXO/app/beaker-browser --help: relocation error: /tmp/.org.chromium.Chromium.Jza1Ay: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
Note that in both of the above cases, the errors are basically saying, "We're looking within your existing libstdc++.so.6 ... to try to find glibcxx_3.4.21 ... but we're not finding it!"
... So.... (per advice from another websearch forum result)... ... I ran this, to check what I /do/ have!
# strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep -i glibcxx
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_DEBUG_MESSAGE_LENGTH
As you can see... It should totally be recognizing the GLIBCXX versions I do have! Both in the first error (before upgrade, when it says 'not found') AND in the second error (after upgrade, when it says 'symbol not defined...').
Both of the strings libstdc++.so.6
command outputs -- prior and post upgrade -- gave the exact same GLIBCXX_* info.
Yet, after a full systems upgrade, the error changed.
...
There's a clue -- after the upgrade, it says 'there are /symbols/ which are not defined //with a link time reference.//'
.
The best two or three answers seem to be here: PLEASE READ THIS CAREFULLY! Many relevant nuggets here: [2] https://stackoverflow.com/questions/36816570/glibcxx-3-4-21-not-defined-in-file-libstdc-so-6-with-link-time-reference (read all of the comments on this Q&A!) Other highly relevant(?) useful sources: [3] https://github.com/conan-io/conan/issues/1684 and this last one really gets into details... [4] https://stackoverflow.com/questions/34571583/understanding-gcc-5s-glibcxx-use-cxx11-abi-or-the-new-abi
... Without a) refining a little code in the build instructions, or b) recompiling from scratch in an environment like those of us having issues, I don't know of any way for me to fix this.
Nevertheless... ... I'll see whether I can successfully compile & run from source -- just to see whether it resolves the issue for me or not. . I hope this comment is helpful! P.S. I am absolutely on the latest version of Linux Mint available. There's no more upgrading to be done.
P.P.S. I just used binaries .8 and .9 -- still same exact issue; not fix. So this hasn't been resolved in newer versions.
$ ./beaker-browser-0.8.0-prerelease.9-x86_64.AppImage
installed: X-AppImage-BuildId=51aa4c70-b1f1-11a8-049c-adf2b6174326 image: X-AppImage-BuildId=e12df640-b3ad-11a8-2561-43b21886f10d
(node:7241) Warning: N-API is an experimental feature and could change at any time.
Logfile: /home/joseph/.config/Beaker Browser/debug.log
/tmp/.mount_beakern7thQR/app/beaker-browser: relocation error: /tmp/.org.chromium.Chromium.4kBHBX: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
(BTW... the debug.log is always empty, 0-byte file.)
. . Can we change the title of this bug, to e.g.: _"beaker-browser AppImage won't work -- errors referencing GLIBCXX3.4.21" ?
p.p.p.s. <3 all the work y'all are doing is amazing. thank you. <3
Got a similar bug with Debian 8:
A JavaScript error occurred in the main process
Uncaught Exception:
Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.org.chromium.Chromium.0WiPR5)
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:172:20)
at Object.Module._extensions..node (module.js:671:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:186:18)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:504:12)
at Function.Module._load (module.js:496:3)
at Module.require (module.js:586:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/tmp/.mount_beakerGA0iI4/app/resources/app.asar/node_modules/sqlite3/lib/sqlite3.js:4:15)
at Object.<anonymous> (/tmp/.mount_beakerGA0iI4/app/resources/app.asar/node_modules/sqlite3/lib/sqlite3.js:190:3)
Hi.. Only know to ask this because it's been mentioned a few times in my own *nix'ing lately.. Does $PATH play any part in this where it might not be (properly) defined or something?
Or maybe there's something about relative linking or something where it's not pointing in the right direction maybe? Like maybe it's pointing up too high or not pointing up high enough into the parent directory tree while seeking what's alleged to be missing?
It's that part about "can't find" AND yet at least that one instance reports it IS there on that computer that brought those to mind. :smile:
I just updated my linux build machine to Ubuntu 16.x, which is one of the suggestions in the linked stackoverflow.
I created a new build, would somebody with this issue try it for me? https://drive.google.com/file/d/1jqZyPRki8nAfsZdH5HHUXVteM7PCeq7o/view?usp=sharing
I'm still running Debian Jessie but thought I'd give it a try. That what happens:
A JavaScript error occurred in the main process
Uncaught Exception:
Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /tmp/.org.chromium.Chromium.dtorfm)
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:166:20)
at Object.Module._extensions..node (module.js:671:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:180:18)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:504:12)
at Function.Module._load (module.js:496:3)
at Module.require (module.js:586:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/tmp/.mount_beakerbWCJhv/app/resources/app.asar/node_modules/sqlite3/lib/sqlite3.js:4:15)
at Object.<anonymous> (/tmp/.mount_beakerbWCJhv/app/resources/app.asar/node_modules/sqlite3/lib/sqlite3.js:190:3)
Yeah this new build should only help recent versions.
Also, I don't think supporting Jessie matters at this point. I should definately upgrade my OS :-)
I will try it with Debian 9 too and see if that works better.
I couldn't run Beaker >= 0.8.0 AppImage on NixOS. It looks like a missing lib in the package:
installed: X-AppImage-BuildId=1d7f2c70-e9bb-11a8-3317-8344e09c9cf4 image: X-AppImage-BuildId=1d7f2c70-e9bb-11a8-3317-8344e09c9cf4
/home/kamil/.cache/appimage-run/a70de60a6b53ab3d9ab954f42735320adc5648ac256906d446aca7c369556395//squashfs-root/app/beaker-browser: error while loading shared libraries: libatk-bridge-2.0.so.0: cannot open shared object file: No such file or directory
0.8.0-prerelease.9 works fine
@kamilchm while I think, this should be a separate ticket, I can confirm the same issue on NixOS for both the 0.8.0 and the 0.8.1 appimage. When I have the time, I will crosscheck on NixOS IRC if this could be a problem with appimage-run.
@mkroehnert it looks like appimage-run
issue. I've fixed it with https://github.com/NixOS/nixpkgs/pull/51060
@TheAssassin pointed me to the list of libraries excluded from AppImages https://github.com/AppImage/AppImages/blob/master/excludelist
It looks like there's no libatk-bridge
so it could be a potential error in the Beaker Browser packaging.
@kamilchm can you check with lddtree
which library pulls it in? It doesn't seem like a direct dependency at a first glance, so possibly one of the libraries within NixOS is built differently (i.e., w/o that dependency), leading to this bug.
I don't know how to interpret this:
$ lddtree /home/kamil/.cache/appimage-run/a70de60a6b53ab3d9ab954f42735320adc5648ac256906d446aca7c369556395//squashfs-root/app/beaker-browser
beaker-browser => /home/kamil/.cache/appimage-run/a70de60a6b53ab3d9ab954f42735320adc5648ac256906d446aca7c369556395//squashfs-root/app/beaker-browser (interpreter => /lib64/ld-linux-x86-64.so.2)
libnode.so => /home/kamil/.cache/appimage-run/a70de60a6b53ab3d9ab954f42735320adc5648ac256906d446aca7c369556395//squashfs-root/app/libnode.so
libpthread.so.0 => not found
libgtk-3.so.0 => not found
libgdk-3.so.0 => not found
libpangocairo-1.0.so.0 => not found
libpango-1.0.so.0 => not found
libatk-1.0.so.0 => not found
libcairo.so.2 => not found
libgdk_pixbuf-2.0.so.0 => not found
libgio-2.0.so.0 => not found
libgobject-2.0.so.0 => not found
libatk-bridge-2.0.so.0 => not found
libdbus-1.so.3 => not found
libX11-xcb.so.1 => not found
libxcb.so.1 => not found
libXi.so.6 => not found
libXcursor.so.1 => not found
libXdamage.so.1 => not found
libXrandr.so.2 => not found
libXcomposite.so.1 => not found
libXext.so.6 => not found
libXfixes.so.3 => not found
libXrender.so.1 => not found
libX11.so.6 => not found
libXtst.so.6 => not found
libXss.so.1 => not found
libglib-2.0.so.0 => not found
libnss3.so => not found
libnssutil3.so => not found
libsmime3.so => not found
libnspr4.so => not found
libffmpeg.so => /home/kamil/.cache/appimage-run/a70de60a6b53ab3d9ab954f42735320adc5648ac256906d446aca7c369556395//squashfs-root/app/libffmpeg.so
libasound.so.2 => not found
libcups.so.2 => not found
librt.so.1 => not found
libdl.so.2 => not found
libfontconfig.so.1 => not found
libexpat.so.1 => not found
libm.so.6 => not found
libgcc_s.so.1 => not found
libc.so.6 => not found
ld-linux-x86-64.so.2 => not found
Not sure what this means either, it looks strange.
Does appimage-run really extract all AppImages? What a crappy design -- that degrades AppImages to self-extracting-archives!
Checked locally, this output seems right (the libs are direct dependendencies, we can just not see their dependencies because of the not found
issues).
An analysis of this issue on NixOS doesn't make sense, as they have some weird organization of their OS files.
Update at my end: Using a newer version of Mint (18.3, instead of 17.3):
So, yes: Older versions (even by a couple years) of distros.... ain't gonna cut it w this browser (for now).
https://packages.debian.org/jessie/libstdc++6 is the "culprit", it's 4.9.2 in jessie (oldstable), but 6.3.0 in stretch (debian stable).