-
Notifications
You must be signed in to change notification settings - Fork 183
Update build-unix.md #1127
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
Update build-unix.md #1127
Conversation
Added Raspberry guide. Probably we should add the BerkeleyDB 4.8 guide also to the other guides? Also I needed sudo to install the daemon in the last step. I guess this is also necessary for the common user on Linux in general
./autogen.sh | ||
./configure CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768" CPPFLAGS="-I/usr/local/BerkeleyDB.4.8/include -O2" LDFLAGS="-L/usr/local/BerkeleyDB.4.8/lib" | ||
make -j4 | ||
sudo make install |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sudo make install
should not be used on any linux system with package manager. It would make it hard to remove, or update, later. For debian checkinstall
(...) should be used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tomasbrod TIL :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had to use sudo in my case I think :(
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would have to use sudo if compiling under a normal privileged account. if compiling as root you don't need sudo. least in ubuntu anyway
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The discussion is not about using sudo. Priviledge escalation should be used when writing to root. Checkinstall should be used over make install. make install
is fine for some systems, but on Raspbian (which is Debian based), checkinstall
should be used instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so I could try "checkinstall" instead of "sudo make install" ? I will check and report back when I tried
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you already run something in there with sudo, chances are it messed up permissions. Either delete the folder and start from scratch, or fix the permissions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Quezacoatl1 Did you get a chance to try it out?
Is this needed when we have Depends? It should be the only supported way of building a wallet. |
Arguably cross compiling is much faster, however it does not necessarily preserve back-compatibility. I am still waiting for bitcoin to release a new back compatibility patch for ubuntu 18.04's c libraries. I believe in freedom of choice when it comes to ones dependencies. There are good reasons for not linking everything statically. |
@TheCharlatan That is true but I still think we should officially only support Depends as the way to build a wallet with known dependencies. With "support" I mean "this is the way we know works. If you do it any other way it may or may not work, and you are on your own". I don't think there's a need to also provide instructions for manually compiling individual dependencies when we have a system in place to do so. |
About the sudo. The build steps (autogen.sh, configure, make) should be executed without sudo. The last one, make install, requires sudo. However on debian, |
I've just been trying checkinstall as suggested on the latest testnet builds. One problem is that it takes whatever is after the hyphen (-) in the Package name to be the version. So, as we use "Gridcoin-Research" as our name, checkinstall fails with a bad version name unless you manually override it. It thinks "Gridcoin" is the application name and "Research" is the application version. Edit:
|
This was superseded by #1686. |
Added Raspberry guide. Probably we should add the BerkeleyDB 4.8 guide also to the other guides?
Also I needed sudo to install the daemon in the last step. I guess this is also necessary for the common user on Linux in general