Skip to content

Commit

Permalink
Merge pull request #6738 from ipfs/doc/xc-cgo
Browse files Browse the repository at this point in the history
doc(README): document requirements for cross-compiling with OpenSSL support
  • Loading branch information
Stebalien committed Oct 31, 2019
2 parents 3a793a4 + 55ea6ad commit b3aa770
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,23 @@ Alternatively, you can run `make build` to build the go-ipfs binary (storing it

**NOTE:** If you get an error along the lines of "fatal error: stdlib.h: No such file or directory", you're missing a C compiler. Either re-run `make` with `CGO_ENABLED=0` or install GCC.

##### Cross Compiling

Compiling for a different platform is as simple as running:

```
make build GOOS=myTargetOS GOARCH=myTargetArchitecture
```

##### OpenSSL

To build go-ipfs with OpenSSL support, append `GOFLAGS=-tags=openssl` to your `make` invocation. Building with OpenSSL should significantly reduce the background CPU usage on nodes that frequently make or receive new connections.

Note: OpenSSL requires CGO support and, by default, CGO is disabled when cross compiling. To cross compile with OpenSSL support, you must:

1. Install a compiler toolchain for the target platform.
2. Set the `CGO_ENABLED=1` environment variable.

#### Troubleshooting

- Separate [instructions are available for building on Windows](docs/windows.md).
Expand Down

0 comments on commit b3aa770

Please sign in to comment.