-
Notifications
You must be signed in to change notification settings - Fork 19.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Surprised by the hard dependency on github.com/karalabe/usb #21773
Comments
A nice way to fix this problem would be to have the user opt into the USB features by importing the node package as well as some other package like |
Hmm, you should be able to disable it via |
A universal A "nousb" build tag would be better than nothing, but I still think opting in via import paths is the best option. The default build (with no build tags) should do the right thing, and the user should be in control of what optional dependencies are pulled in via imports. |
Ah, you're talking about the |
This issue should be addressed by restructuring wallet initialization. At this time, wallets are initialized in package node: Line 480 in c0c0161
This is very unfortunate because it means that all code using package node will depend on usbwallet (and scwallet!). |
Indeed, I agree that would be the best solution. Then the extra package/module dependencies need to be explicitly imported by the user's code. |
I run make in
|
didn't we fix this already @fjl ? |
Yup, fixed
|
@youngqqcn hello mate, did you manage to compile on termux? I'm having a similar issue... I've tried lots of thing but still no luck... |
I had solved this issue by removing All modifies in here : https://github.com/orientwalt/go-ethereum/tree/v1.8.39 |
System information
github.com/ethereum/go-ethereum v1.9.20
Linux
Expected behaviour
No hard dependency on USB libraries to run a basic Ethereum node.
Actual behaviour
For example, this will mean failures to build on golang alpine images unless linux-headers is installed:
I get that this probably provides good features to some people, but I'm pretty sure that we don't use any USB devices for our Ethereum nodes. It would be nice if this indirect dependency wasn't mandated by the node package, which we can't really stop using.
This "tricky hard dependency" issue is similar to #20590, which I filed a while ago.
The text was updated successfully, but these errors were encountered: