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

Unable to connect on Linux: `GLIBCXX_3.4.26' not found #3430

Closed
Beanow opened this issue Dec 31, 2020 · 8 comments
Closed

Unable to connect on Linux: `GLIBCXX_3.4.26' not found #3430

Beanow opened this issue Dec 31, 2020 · 8 comments

Comments

@Beanow
Copy link

Beanow commented Dec 31, 2020

Ledger Live Version and Operating System

  • tested on Ledger Live 2.19.0-linux-x86_64
  • Platform and version: Ubuntu 18.04

Expected behavior

Ledger device connects.

Actual behavior

Ledger live remains stuck on "Connect and unlock your device".

Further details

I've exported logs with CTRL+E and inspected on https://ledger-live-tools.now.sh/logsviewer.
Full log: ledgerlive-logs-2020.12.31-15.00.22-110ce0dc.zip

It's flooded entirely with:

  • CMD listenDevices.send()
  • CMD listenDevices error

With the error object containing (indentation mine):

Error: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /tmp/.org.chromium.Chromium.Fs95RG)
	at process.func [as dlopen] (electron/js2c/asar.js:140:31)
	at Object.Module._extensions..node (internal/modules/cjs/loader.js:1034:18)
	at Object.func [as .node] (electron/js2c/asar.js:149:18)
	at Module.load (internal/modules/cjs/loader.js:815:32)
	at Module._load (internal/modules/cjs/loader.js:727:14)
	at Function.Module._load (electron/js2c/asar.js:769:28)
	at Module.require (internal/modules/cjs/loader.js:852:19)
	at require (internal/modules/cjs/helpers.js:74:18)
	at bindings (/tmp/.mount_ledger5BlVcU/resources/app.asar/node_modules/bindings/bindings.js:112:48)
	at loadBinding (/tmp/.mount_ledger5BlVcU/resources/app.asar/node_modules/node-hid/nodehid.js:19:46)
	at Object.showdevices [as devices] (/tmp/.mount_ledger5BlVcU/resources/app.asar/node_modules/node-hid/nodehid.js:126:5)
	at getDevices (/tmp/.mount_ledger5BlVcU/resources/app.asar/node_modules/@ledgerhq/hw-transport-node-hid-noevents/lib/TransportNodeHid.js:28:27)
	at Observable.TransportNodeHidSingleton.listen [as _subscribe] (/tmp/.mount_ledger5BlVcU/resources/app.asar/node_modules/@ledgerhq/hw-transport-node-hid-singleton/lib/TransportNodeHid.js:106:62)
	at Observable._trySubscribe (/tmp/.mount_ledger5BlVcU/resources/app.asar/node_modules/rxjs/internal/Observable.js:44:25)
	at Observable.subscribe (/tmp/.mount_ledger5BlVcU/resources/app.asar/node_modules/rxjs/internal/Observable.js:30:22)
	at executeCommand (/tmp/.mount_ledger5BlVcU/resources/app.asar/.webpack/main.bundle.js:2881:42)
	at process.<anonymous> (/tmp/.mount_ledger5BlVcU/resources/app.asar/.webpack/main.bundle.js:2985:7)
	at process.emit (events.js:223:5)
	at process.EventEmitter.emit (domain.js:475:20)
	at emit (internal/child_process.js:876:12)
	at processTicksAndRejections (internal/process/task_queues.js:82:21)

The available versions of glibc++ appear to be 1 patch version behind (guide).
Up to GLIBCXX_3.4.25, while mentioning GLIBCXX_3.4.26 in the stacktrace.

$ /sbin/ldconfig -p | grep stdc++
	libstdc++.so.6 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
	libstdc++.so.6 (libc6) => /usr/lib/i386-linux-gnu/libstdc++.so.6

$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep LIBCXX
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

I've checked, but no updates are available in apt.

I've confirmed that 2.18.0-linux-x86_64 can connect with the device. And ledgerctl info displays the correct device info as well.

Possibly relates to #3408 #3428

@Beanow
Copy link
Author

Beanow commented Dec 31, 2020

Ah I found later you've already reproduced this: #3408 (comment) / #3408 (comment).

I've tested the suggestion there by @gre:

Typically, if you take the CI build (equivalent of the 2.19.0 we published) https://github.com/LedgerHQ/ledger-live-desktop/actions/runs/427842994 it actually works properly even on older Linux. We will improve the way we build our releases and make sure this no longer reproduce.

Indeed the build 2.19.0-sha.110ce0d-linux-x86_64.AppImage does not have this issue.

@rbndg
Copy link

rbndg commented Jan 4, 2021

This is an issue for me as well.

@ccmawo
Copy link

ccmawo commented Jan 5, 2021

I also have this issue.
"message": "\/usr\/lib\/x86_64-linux-gnu\/libstdc++.so.6: version GLIBCXX_3.4.26' not found (required by \/tmp\/.org.chromium.Chromium.57W8hr)",

@carlsverre
Copy link

I also have this issue.

@MihailYotov
Copy link

MihailYotov commented Jan 10, 2021

I can confirm that 2.18 and previous works on Ubuntu 16.04 and 2.19 not. Great time to be unable to use the Leader, don’t you think?

@Beanow
Copy link
Author

Beanow commented Jan 10, 2021

@MihailYotov There's a workaround posted by the devs. You can use one of the CI builds for now, or downgrade to 2.18. I've used the CI build without issues. While I don't feel like a CI build would be great for firmware upgrades, regular transactions should be fine since you can confirm everything on the ledger.

@Carlos-Augusto
Copy link

Downgrading to 2.18 worked out. It would be very good that this bug be fixed as soon as possible. Thanks

@gre
Copy link
Contributor

gre commented Jan 12, 2021

Ledger Live v2.20.0 have fixed the problem.
https://github.com/LedgerHQ/ledger-live-desktop/releases/tag/v2.20.0

v2.20.0 is still a pre-release but is planned to be released next Monday.
Thanks.

@gre gre closed this as completed Jan 12, 2021
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

7 participants