Skip to content

Conversation

Quezacoatl1
Copy link
Contributor

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

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
Copy link
Member

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.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tomasbrod TIL :)

Copy link
Contributor Author

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 :(

Copy link
Member

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

Copy link
Contributor

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.

Copy link
Contributor Author

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

Copy link
Member

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.

Copy link
Member

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?

@denravonska
Copy link
Member

Is this needed when we have Depends? It should be the only supported way of building a wallet.

@TheCharlatan
Copy link
Contributor

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.

@denravonska
Copy link
Member

@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.

@denravonska denravonska changed the base branch from master to development October 24, 2018 03:08
@tomasbrod
Copy link
Member

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, checkinstall -D make install should be used, see debian admin. Package installation, like apt install libsomething, also requires sudo.

@G-UK
Copy link
Contributor

G-UK commented Feb 19, 2019

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:
I suppose an install script could be created where the version and release are pulled from the current build, something like this.

#!/bin/bash
sudo checkinstall \
    --maintainer="https://github.com/gridcoin-community" \    
    --pkgname=gridcoinresearch \
    --pkgversion="4.0.1.3" \
    --pkgrelease="TESTNET" \
    --pkglicense="MIT" \
    --pkgsource="https://github.com/gridcoin-community/Gridcoin-Research"

@jamescowens
Copy link
Member

This was superseded by #1686.

@jamescowens jamescowens closed this Jun 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants