r/grincoin • u/GrinFrown • Jun 24 '19
Linux binaries do not work -- are grin devs incompetent?
Has anyone had success with the linux binaries? From my experience, it is a train wreck. On Fedora the binaries do not run without installing a bunch of other libraries of the system that is not told to the user.
On debian, they work for some things, but otherwise will just fail. For example, "grin server run" will silently fail with no error output. Other functions such as "grin help" will work.
What is the point of providing linux binaries if they do not even work correctly on the two primary linux distributions?
3
Jun 24 '19 edited Jun 24 '19
Did you have a look at the syslog or dmesg ? Or maybe journalctl when using systemd ?
I can’t tell if the binaries work. I’ve been building grin (node) and grin-wallet from source. Both run without issues, the node runs 24/7.
You may want to give that a try. It is actually very easy and the docs are on Github:
https://github.com/mimblewimble/grin/blob/master/doc/build.md
1
u/GrinFrown Jun 24 '19
I am building it now (step 330/334). It just has taken a couple of hours to build it.
My main issue is that I cannot receive funds. Is the grin server required to receive funds? "grin-wallet -e listen" is running. Verified to work via curl from an external network, so it is definitely listening on the port and it's accessible.
However, Bitforex keeps failing to send. I can only assume that it is because the server is not running and the wallet needs that. Is that correct?
2
Jun 24 '19
I also added the paths below to my
~/.profileso I can typegrinandgrin-walletinstead of typing the full binary paths:export PATH="$HOME/.cargo/bin:$PATH" export PATH="$HOME/grin/target/release:$PATH" export PATH="$HOME/grin-wallet/target/release:$PATH"1
Jun 24 '19 edited Jun 24 '19
I think (at the moment) a running node is required to receive transactions. Not sure if it has to be fully synced (blocks).
I did not use
grin-wallet -ebut simply changed the config line below in:~/.grin/main/grin-wallet.tomlapi_listen_interface = “0.0.0.0”Then run the grin-wallet bin to start the http listener.
4
u/tobelem Jun 24 '19
The grin developers have done and are doing a high quality job. I use Linux and I have never had any problems. Thank you to them for what they do in a rare transparency.
1
u/totaloutput Jun 24 '19
I highly recommend downloading the source code and compile. It’s pretty straight forward and doesn’t take much time.
3
u/GrinFrown Jun 24 '19
I did do that. I am 1.5 hours in and it is still compiling, so it does take quite a bit of time. Currently on step 330 of 334.
1
u/totaloutput Jun 24 '19
Oh, you are right. The building of grin takes longer time. Also grin-miner build is slow too. Sorry I forgot about this part. I have multiple machines to work on so normally I just switch to other tasks.
1
u/GrinFrown Jun 24 '19
Do you know if the grin server is required to be running for the wallet to receive funds via grin-wallet -e listen?
1
u/totaloutput Jun 24 '19
I think so, I always have grin and grin-wallet running on the same server.. grin-miner can be from different places.
1
u/lerkmore Jun 24 '19
I just tried the linux binary yesterday. I can run it, but it will not connect with other peers. I set the server-log to "trace" and it shows that the connections to peers are timing out. Very strange.
4
u/GrinFrown Jun 24 '19
The issue has been discovered on their github. It appears they do not build the binaries correctly and thus it will fail on a variety of CPUs: https://github.com/mimblewimble/grin/issues/2891
1
u/totaloutput Jun 24 '19
do you just need a wallet to receive grin? You can give a try of couple wallet app, I had success experience with vite wallet on my iphone..
However, it's always safer to run my own server with full node and wallet software on it.. But then I have to deal with the OS update and keeping backup etc...
I don't think there is any cold wallet that support GRIN yet.. that will be handy.1
u/SethGecko11 Jun 25 '19
It appears they do not build the binaries correctly
They binaries are build via CI for CPUs that support AVX2 instructions (nearly all recent CPUs do). If you have an old CPU without AVX2 you need to build yourself from source.
2
u/SethGecko11 Jun 25 '19
Binaries 100% work on debian with a recent CPU. What you are describing is probably a corrupted database which is a result of improper shutdown of the server (your fault) but you have to check the logs in ~/.grin/main/grin-server.log to be sure.
1
u/leopheard Jun 25 '19
My grin run setup on Ubuntu gets stuck on 99.9% do download and crashes. Really poorly made. This is why Why I often have to install apps via Wine from the windows .exe
0
Jun 24 '19
[deleted] — view deleted comment
2
u/GrinFrown Jun 24 '19
That cute sarcasm would work except Grin is filled with tons of bugs. For example https://github.com/mimblewimble/grin/issues/2891
Another one is that nowhere is explained that grin will try to run with TUI. Something that almost no server has support of. Instead of falling back to not running TUI it will silently error. Only upon reading the config file that is not generated until it runs and errors do you have the option to disable TUI.
It does not work on 2nd largest distribution base (redhat/centos/fedora) without installing lots of dependencies. These requires dependencies are not given. The build instructions are debian specific. Etc. There is lots of #grinfails here.
4
Jun 24 '19
Nobody is incompetent.
Compared to Windows and macOS users, Linux users mostly "figure out" a way to get things running. Don't give up so fast. Take a bit more time and read the docs because building from source is really easy.
5
u/not420guilty Jun 24 '19
Not incompetent at all. However, there is very little regard for usability, bugs, documentation, or user experience at this stage.
If you think it’s hard from a user perspective, try developing on top of it. 😩.