Skip to content
This repository has been archived by the owner on Jun 16, 2022. It is now read-only.

Ubuntu 18.04 LTS - version 'GLIBCXX_3.4.26' not found #4016

Closed
cryptonik opened this issue Jul 14, 2021 · 13 comments
Closed

Ubuntu 18.04 LTS - version 'GLIBCXX_3.4.26' not found #4016

cryptonik opened this issue Jul 14, 2021 · 13 comments

Comments

@cryptonik
Copy link

cryptonik commented Jul 14, 2021

Ledger Live Version and Operating System

  • tested on Ledger Live 2.30.0 (ledger-live-desktop-2.30.0-linux-x86_64.AppImage)
  • Platform and version: Ubuntu 18.04 LTS

Expected behavior

  • Successful application startup

Actual behavior

  • Application failed on startup with the error:
Internal process error (1)
Error
    at createCustomErrorClass (file:///tmp/.mount_ledgerqrA8Hp/resources/app.asar/.webpack/renderer.bundle.js:11608:19)
    at deserializeError (file:///tmp/.mount_ledgerqrA8Hp/resources/app.asar/.webpack/renderer.bundle.js:11636:35)
    at EventEmitter.handleCommandEvent (file:///tmp/.mount_ledgerqrA8Hp/resources/app.asar/.webpack/renderer.bundle.js:461212:61)
    at EventEmitter.emit (events.js:315:20)
    at Object.onMessage (electron/js2c/renderer_init.js:91:925)

Steps to reproduce the behavior

  • Open ledger-live-desktop-2.30.0-linux-x86_64.AppImage on Ubuntu 18.04 LTS (or similar)
  • Error found in logs:
/tmp/.mount_ledgerovAV0H/resources/app.asar/node_modules/bindings/bindings.js:121
throw e;
^
    Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /tmp/.mount_ledgerovAV0H/resources/app.asar.unpacked/node_modules/@ledgerhq/ledger-core/build/Release/ledger-core-node.node)
at process.func [as dlopen] (electron/js2c/asar_bundle.js:5:1812)
at Object.Module._extensions..node (internal/modules/cjs/loader.js:1203:18)
at Object.func [as .node] (electron/js2c/asar_bundle.js:5:2039)
at Module.load (internal/modules/cjs/loader.js:992:32)
at Module._load (internal/modules/cjs/loader.js:885:14)
at Function.f._load (electron/js2c/asar_bundle.js:5:12738)
at Module.require (internal/modules/cjs/loader.js:1032:19)
at require (internal/modules/cjs/helpers.js:72:18)
at bindings (/tmp/.mount_ledgerovAV0H/resources/app.asar/node_modules/bindings/bindings.js:112:48)
at Object.<anonymous> (/tmp/.mount_ledgerovAV0H/resources/app.asar/node_modules/@ledgerhq/ledger-core/js/index.js:1:55)
  • Confirmation on Ubuntu 18.04 LTS that the said GLIBCXX_3.4.26 is missing:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep -i glib
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
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.14
GLIBC_2.4
GLIBC_2.18
GLIBC_2.16
GLIBC_2.3.4
GLIBC_2.17
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH
@dbstraffin
Copy link

I am experiencing the same issue with 2.30.0 on Ubuntu 18.04.5 LTS and have gone back to using 2.29.0 for now. I've made sure all my packages are up to date.

@DamianB-BitFlipper
Copy link

DamianB-BitFlipper commented Jul 17, 2021

Thirded. Ubuntu 18.04.5 LTS LL2.30.0

@spiritualcrab
Copy link

I am having the same issue, Ubuntu 18.04, LL 2.30.0.

@Ratio2
Copy link

Ratio2 commented Jul 17, 2021

Same issue on latest debian 10.10 #4023

@dandycyclone
Copy link

The gcc version included in Ubuntu 18.04 is gcc-8 as seen here, which only supports up to libstdc++.so.6.0.25.

lrwxrwxrwx   1 root root       19 Mar 10  2020 libstdc++.so.6 -> libstdc++.so.6.0.25
-rw-r--r--   1 root root  1594864 Mar 10  2020 libstdc++.so.6.0.25

A possible remedy/workaround for this problem might be upgrading compiler to gcc-9 from Toolchain test builds;

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-9

++>
Unpacking libstdc++6:amd64 (11.1.0-1ubuntu1~18.04.1) over (8.4.0-1ubuntu1~18.04) ...

root@Lenovo-G50-30:~# ls -l /usr/lib/x86_64-linux-gnu/libstdc++.so.6
lrwxrwxrwx 1 root root 19 Apr 28 20:05 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.29
root@Lenovo-G50-30:~# strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.2[5-9]
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_3.4.29

Feel free to update LL 2.29 to 2.30
Apply this workaround on your own risk: actions/runner-images#3432

for infos: https://packages.ubuntu.com/bionic/libstdc++6 -> gcc 8.4.0 not gcc 11.1.0, if user want the last gcc, they should use the last ubuntu image, not the 18.04

@dbstraffin
Copy link

Add the ppa and upgrading libstdc++6 worked around the issue for me. Adding the ppa automatically did an update on my system and I did not need to install gcc-9:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt upgrade libstdc++6
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4.2[5-9]
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_3.4.29

@dandycyclone
Copy link

dandycyclone commented Jul 29, 2021 via email

@Ratio2
Copy link

Ratio2 commented Aug 1, 2021

All this issues has same error reason:
Error: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found
#4016
#4023
#4041
#4064

Actually 2.30/2.31.1 versions not work on:
Debian stable
Ubuntu 18.04 LTS
And many other latest distro...

Ledger, what are you waiting for? Just rebuild the application with the previous environment like 2.29.

@gre
Copy link
Contributor

gre commented Aug 6, 2021

Hey everyone. We put together a release (2.32.2) that should fix it and is planned to be released about a week from now (we'll first release a 2.32.1 because we'll need more time to continue validating that 2.32.2).

This is currently a Pre-release (please consider it a release candidate version until we finish to validate it), we have at least confirmed internally it is fixed on a Debian, but it is still interesting to hear if it also fixes it for y'all. Thanks a lot.

https://github.com/LedgerHQ/ledger-live-desktop/releases/tag/v2.32.2

@dbstraffin
Copy link

I can confirm that 2.32.2 works for me on 18.04. Here's how i tested:

I first removed the PPA for ppa:ubuntu-toolchain-r/test:

$ sudo add-apt-repository --remove ppa:ubuntu-toolchain-r/test
 Toolchain test builds; see https://wiki.ubuntu.com/ToolChain

 More info: https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
Press [ENTER] to continue or Ctrl-c to cancel removing it.

I downgraded libstdc++6:

$ sudo apt-get install libstdc++6=8.4.0-1ubuntu1~18.04
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libatomic1:i386 libbsd0:i386 libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386 libedit2:i386 libelf1:i386 libexpat1:i386 libffi6:i386 libglapi-mesa:i386 libglvnd0:i386 libpciaccess0:i386 libsensors4:i386 libx11-6:i386
  libx11-xcb1:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386 libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxshmfence1:i386 libxxf86vm1:i386 linux-headers-4.15.0-147
  linux-headers-4.15.0-147-generic linux-image-4.15.0-147-generic linux-modules-4.15.0-147-generic linux-modules-extra-4.15.0-147-generic linux-tools-4.15.0-147 linux-tools-4.15.0-147-generic
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  libgl1:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libglx-mesa0:i386 libglx0:i386 libllvm10:i386 libstdc++6:i386
The following packages will be DOWNGRADED:
  libstdc++6
0 upgraded, 0 newly installed, 1 downgraded, 7 to remove and 0 not upgraded.
Need to get 400 kB of archives.
After this operation, 341 MB disk space will be freed.
Do you want to continue? [Y/n] 
Get:1 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libstdc++6 amd64 8.4.0-1ubuntu1~18.04 [400 kB]
Fetched 400 kB in 0s (3,399 kB/s)  
(Reading database ... 248639 files and directories currently installed.)
Removing libgl1-mesa-glx:i386 (20.0.8-0ubuntu1~18.04.1) ...
Removing libgl1:i386 (1.0.0-2ubuntu2.3) ...
Removing libglx0:i386 (1.0.0-2ubuntu2.3) ...
Removing libglx-mesa0:i386 (20.0.8-0ubuntu1~18.04.1) ...
Removing libgl1-mesa-dri:i386 (20.0.8-0ubuntu1~18.04.1) ...
Removing libllvm10:i386 (1:10.0.0-4ubuntu1~18.04.2) ...
Removing libstdc++6:i386 (11.1.0-1ubuntu1~18.04.1) ...
dpkg: warning: downgrading libstdc++6:amd64 from 11.1.0-1ubuntu1~18.04.1 to 8.4.0-1ubuntu1~18.04
(Reading database ... 248611 files and directories currently installed.)
Preparing to unpack .../libstdc++6_8.4.0-1ubuntu1~18.04_amd64.deb ...
Unpacking libstdc++6:amd64 (8.4.0-1ubuntu1~18.04) over (11.1.0-1ubuntu1~18.04.1) ...
Setting up libstdc++6:amd64 (8.4.0-1ubuntu1~18.04) ...
Processing triggers for libc-bin (2.27-3ubuntu1.4) ...

I reinstalled packages removed during downgrade:

$ sudo apt install libgl1:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libglx-mesa0:i386 libglx0:i386 libllvm10:i386 libstdc++6:i386
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-4.15.0-147 linux-headers-4.15.0-147-generic linux-image-4.15.0-147-generic linux-modules-4.15.0-147-generic linux-modules-extra-4.15.0-147-generic linux-tools-4.15.0-147 linux-tools-4.15.0-147-generic
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  libgl1:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libglx-mesa0:i386 libglx0:i386 libllvm10:i386 libstdc++6:i386
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 26.0 MB of archives.
After this operation, 340 MB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu bionic-updates/main i386 libstdc++6 i386 8.4.0-1ubuntu1~18.04 [432 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu bionic-updates/main i386 libllvm10 i386 1:10.0.0-4ubuntu1~18.04.2 [15.4 MB]
Get:3 http://us.archive.ubuntu.com/ubuntu bionic-updates/main i386 libgl1-mesa-dri i386 20.0.8-0ubuntu1~18.04.1 [9,890 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu bionic-updates/main i386 libglx-mesa0 i386 20.0.8-0ubuntu1~18.04.1 [148 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu bionic-updates/main i386 libglx0 i386 1.0.0-2ubuntu2.3 [29.6 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu bionic-updates/main i386 libgl1 i386 1.0.0-2ubuntu2.3 [78.6 kB]
Get:7 http://us.archive.ubuntu.com/ubuntu bionic-updates/main i386 libgl1-mesa-glx i386 20.0.8-0ubuntu1~18.04.1 [5,532 B]
Fetched 26.0 MB in 1s (24.0 MB/s)                
Selecting previously unselected package libstdc++6:i386.
(Reading database ... 248611 files and directories currently installed.)
Preparing to unpack .../0-libstdc++6_8.4.0-1ubuntu1~18.04_i386.deb ...
Unpacking libstdc++6:i386 (8.4.0-1ubuntu1~18.04) ...
Selecting previously unselected package libllvm10:i386.
Preparing to unpack .../1-libllvm10_1%3a10.0.0-4ubuntu1~18.04.2_i386.deb ...
Unpacking libllvm10:i386 (1:10.0.0-4ubuntu1~18.04.2) ...
Selecting previously unselected package libgl1-mesa-dri:i386.
Preparing to unpack .../2-libgl1-mesa-dri_20.0.8-0ubuntu1~18.04.1_i386.deb ...
Unpacking libgl1-mesa-dri:i386 (20.0.8-0ubuntu1~18.04.1) ...
Selecting previously unselected package libglx-mesa0:i386.
Preparing to unpack .../3-libglx-mesa0_20.0.8-0ubuntu1~18.04.1_i386.deb ...
Unpacking libglx-mesa0:i386 (20.0.8-0ubuntu1~18.04.1) ...
Selecting previously unselected package libglx0:i386.
Preparing to unpack .../4-libglx0_1.0.0-2ubuntu2.3_i386.deb ...
Unpacking libglx0:i386 (1.0.0-2ubuntu2.3) ...
Selecting previously unselected package libgl1:i386.
Preparing to unpack .../5-libgl1_1.0.0-2ubuntu2.3_i386.deb ...
Unpacking libgl1:i386 (1.0.0-2ubuntu2.3) ...
Selecting previously unselected package libgl1-mesa-glx:i386.
Preparing to unpack .../6-libgl1-mesa-glx_20.0.8-0ubuntu1~18.04.1_i386.deb ...
Unpacking libgl1-mesa-glx:i386 (20.0.8-0ubuntu1~18.04.1) ...
Setting up libstdc++6:i386 (8.4.0-1ubuntu1~18.04) ...
Setting up libllvm10:i386 (1:10.0.0-4ubuntu1~18.04.2) ...
Setting up libgl1-mesa-dri:i386 (20.0.8-0ubuntu1~18.04.1) ...
Setting up libglx-mesa0:i386 (20.0.8-0ubuntu1~18.04.1) ...
Setting up libglx0:i386 (1.0.0-2ubuntu2.3) ...
Setting up libgl1:i386 (1.0.0-2ubuntu2.3) ...
Setting up libgl1-mesa-glx:i386 (20.0.8-0ubuntu1~18.04.1) ...
Processing triggers for libc-bin (2.27-3ubuntu1.4) ...

I started 2.31.1, confirming it had the problem again. I started 2.32.2 and it no longer displayed the issue. (I had to use ps aux | grep ledger to find the pid and kill it before 2.32.2 would start)

@dandycyclone
Copy link

Hey everyone. We put together a release (2.32.2) that should fix it and is planned to be released about a week from now (we'll first release a 2.32.1 because we'll need more time to continue validating that 2.32.2).

This is currently a Pre-release (please consider it a release candidate version until we finish to validate it), we have at least confirmed internally it is fixed on a Debian, but it is still interesting to hear if it also fixes it for y'all. Thanks a lot.

https://github.com/LedgerHQ/ledger-live-desktop/releases/tag/v2.32.2

I can confirm as well, that with Ubuntu 18.04 and libstdc++.so.6.0.25 Ledger Live 2.32.2 works stable.

@cryptonik
Copy link
Author

v2.32.2 works, thanks!

@sgehrman
Copy link

2.33.1 doesn't work for me.

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

No branches or pull requests

8 participants