# how to go ethereum (geth) on gentoo

## newtonian

Here is a simple guide to get the latest version of geth going on gentoo:

create your overlay directory

```
mkdir /usr/local/portage
```

let portage portage where to find the overlay directory

```
echo 'PORTDIR_OVERLAY=/usr/local/portage' >> /etc/portage/make.conf
```

create a new directory for geth

```
mkdir -p /usr/local/portage/net-p2p/go-ethereum/

```

let's get in and download the files

```
cd /usr/local/portage/net-p2p/go-ethereum/

wget https://data.gpo.zugaina.org/didactic-duck/net-p2p/go-ethereum/{Manifest,go-ethereum-9999.ebuild,metadata.xml}

```

get keywords sorted

```
echo '=net-p2p/go-ethereum-9999 **' >> /etc/portage/package.keywords
```

emerge go-ethereum

```
emerge go-ethereum 
```

run geth

```
geth version

Geth

Version: 1.4.8-stable-98be7cd8

Protocol Versions: [63 62 61]

Network Id: 1

Go Version: go1.6.1

OS: linux

GOPATH=

GOROOT=/usr/lib/go
```

Cheers,Last edited by newtonian on Mon Jul 25, 2016 1:13 am; edited 6 times in total

----------

## Hu

It looks like that server is HTTPS enabled with a valid certificate and has a Manifest already generated.  It would be better to tell users to download via https to avoid problems with walled gardens, bad web proxies, and malicious tampering.  Some people may run these commands from insecure wireless connections.

A better command would be wget https://data.gpo.zugaina.org/didactic-duck/net-p2p/go-ethereum/{Manifest,go-ethereum-9999.ebuild,metadata.xml}.  This will download all three files in one process, rather than three as you showed, will download over https, and removes the need to generate a Manifest by fetching the one created by the overlay maintainer.  Using the maintainer's Manifest protects against corrupted or malicious source tarballs.

----------

## newtonian

Very cool and much appreciated.

Have updated as per suggestion.  I left out the s in http because it didn't work for me.

```

wget https://data.gpo.zugaina.org/didactic-duck/net-p2p/go-ethereum/{Manifest,go-ethereum-9999.ebuild,metadata.xml}

--2016-06-29 12:26:10--  https://data.gpo.zugaina.org/didactic-duck/net-p2p/go-ethereum/Manifest

Resolving data.gpo.zugaina.org... 176.31.182.181

Connecting to data.gpo.zugaina.org|176.31.182.181|:443... connected.

Unable to establish SSL connection.

--2016-06-29 12:26:11--  https://data.gpo.zugaina.org/didactic-duck/net-p2p/go-ethereum/go-ethereum-9999.ebuild

Connecting to data.gpo.zugaina.org|176.31.182.181|:443... connected.

Unable to establish SSL connection.

--2016-06-29 12:26:12--  https://data.gpo.zugaina.org/didactic-duck/net-p2p/go-ethereum/metadata.xml

Connecting to data.gpo.zugaina.org|176.31.182.181|:443... connected.

Unable to establish SSL connection.

```

With the s in http removed all works well.

Cheers,

----------

## Hu

The server certificate was signed by the CA from EFF's Let's Encrypt project.  Perhaps your CA bundle does not recognize that as a valid CA.  My system accepts it for both Firefox and wget.

----------

## newtonian

Strange, is working now.

```
wget https://data.gpo.zugaina.org/didactic-duck/net-p2p/go-ethereum/{Manifest,go-ethereum-9999.ebuild,metadata.xml}

--2016-06-29 14:24:17--  https://data.gpo.zugaina.org/didactic-duck/net-p2p/go-ethereum/Manifest

Resolving data.gpo.zugaina.org... 176.31.182.181

Connecting to data.gpo.zugaina.org|176.31.182.181|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 1519 (1.5K) [text/plain]

Saving to: ‘Manifest’

Manifest                         100%[=========================================================>]   1.48K  --.-KB/s    in 0s      

2016-06-29 14:24:21 (248 MB/s) - ‘Manifest’ saved [1519/1519]

--2016-06-29 14:24:21--  https://data.gpo.zugaina.org/didactic-duck/net-p2p/go-ethereum/go-ethereum-9999.ebuild

Reusing existing connection to data.gpo.zugaina.org:443.

HTTP request sent, awaiting response... 200 OK

Length: 921 [text/plain]

Saving to: ‘go-ethereum-9999.ebuild’

go-ethereum-9999.ebuild          100%[=========================================================>]     921  --.-KB/s    in 0s      

2016-06-29 14:24:21 (200 MB/s) - ‘go-ethereum-9999.ebuild’ saved [921/921]

--2016-06-29 14:24:21--  https://data.gpo.zugaina.org/didactic-duck/net-p2p/go-ethereum/metadata.xml

Reusing existing connection to data.gpo.zugaina.org:443.

HTTP request sent, awaiting response... 200 OK

Length: 277 [application/xml]

Saving to: ‘metadata.xml’

metadata.xml                     100%[=========================================================>]     277  --.-KB/s    in 0s      

2016-06-29 14:24:22 (150 MB/s) - ‘metadata.xml’ saved [277/277]

FINISHED --2016-06-29 14:24:22--

Total wall clock time: 4.8s

Downloaded: 3 files, 2.7K in 0s (216 MB/s)
```

Thanks for the help!

Cheers,

----------

## newtonian

noticed that geth is now in portage

 *Quote:*   

> *  net-p2p/go-ethereum [ Masked ]
> 
>       Latest version available: 1.5.5
> 
>       Latest version installed: [ Not Installed ]
> ...

 

```
emerge --autounmask-write net-p2p/go-ethereum

etc-update

emerge net-p2p/go-ethereum
```

----------

