Skip to content
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

ARMv8 builds #60

Closed
mnaser opened this issue Nov 19, 2018 · 20 comments
Closed

ARMv8 builds #60

mnaser opened this issue Nov 19, 2018 · 20 comments
Labels
Type: Enhancement Minor update(s) to existing features

Comments

@mnaser
Copy link
Contributor

mnaser commented Nov 19, 2018

While ARMv6 is popular, aarch64 (armv8) is pretty neat and used in a lot of modern hardware, it'd be nice for CloudFlare to publish builds for that.

We can provide some infrastructure if necessary.

@moderation
Copy link

moderation commented Nov 19, 2018

I'm installing / building cloudflared on aarch64 (Rock64 and RockPro 64) without issue. go get -u github.com/cloudflare/cloudflared/cmd/cloudflared

@mnaser
Copy link
Contributor Author

mnaser commented Nov 19, 2018

@moderation

Interesting -- We're trying to see how we can get this integrated to our Ansible playbooks, so RPMs are pretty easy to add there vs maintaining our own locally built $foo. Also, I believe that this wouldn't support automatic update.

@sssilver sssilver added the Type: Enhancement Minor update(s) to existing features label Dec 7, 2018
@sssilver
Copy link
Contributor

sssilver commented Dec 7, 2018

@moderation did you build it with CGO?

@sssilver sssilver added the Needs clarification Unable to move forward on the reported issue label Dec 7, 2018
@moderation
Copy link

moderation commented Dec 7, 2018

I don't recall having to set any configuration. I just build using go get -u github.com/cloudflare/cloudflared/cmd/cloudflared and run as a systemd service.

Just in case here is my go env:

go env
GOARCH="arm64"
GOBIN="~/Library/code/bin"
GOCACHE="~/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="~/Library/code"
GOPROXY=""
GORACE=""
GOROOT="~/Library/go"
GOTMPDIR=""
GOTOOLDIR="~/Library/go/pkg/tool/linux_arm64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-Wno-unused-command-line-argument"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build358646182=/tmp/go-build -gno-record-gcc-switches"

@sssilver sssilver removed the Needs clarification Unable to move forward on the reported issue label Dec 10, 2018
@fuelflo
Copy link

fuelflo commented Feb 25, 2019

+1 for the port to aarch64

@MadSpindel
Copy link

Any updates on this?

@cadroguett
Copy link

any news on this?

@bebo-dot-dev
Copy link

I tried and failed to build this for armbian aarch64 on a nanopi neo2. My attempts were with go v1.12.6 (the latest at the time of writing) and with go get -u github.com/cloudflare/cloudflared/cmd/cloudflared

After some time, my build attempts unfortunately fail with an out of memory error.

An official aarch64/armv8 version pre-built here would be really really nice and very much appreciated: https://developers.cloudflare.com/argo-tunnel/downloads/

@Zer0CoolX
Copy link

Any word on this?

I would love to see official download links for this.

I cannot even find directions for how I could potentially compile aarch64 for myself, if anyone has directions I would be interested.

Thanks

@moderation
Copy link

@Zer0CoolX I'm building on a Pine64 Rock64 and RockPro64 aarch64 boards with no issues with a simple go get -u github.com/cloudflare/cloudflared/cmd/cloudflared. Both of these boards have 4GB of RAM so I'm not hitting the memory issues others are having. Having said that I'm running the same command without issue on a Raspberry Pi too (but that is not aarch64).

@bebo-dot-dev
Copy link

There's a really helpful comment here from @bcatubig: #115 (comment)

After trying and failing to get this to build targetting aarch64 due to resource constraints with my nanopi neo2 as the build device, I followed this approach and have got this to successfully build using a full fat amd64 linux distro that targets aarch64 with go build

Thank you @bcatubig, very much appreciated.

@danacr
Copy link

danacr commented Aug 28, 2019

@jjssoftware @Zer0CoolX here you go: https://github.com/danacr/drone-cloudflared

let me know if you want me to actually support this

@bebo-dot-dev
Copy link

Nice work @danacr. This issue is resolved for me now personally since I was able to build for arm64 as described in my previous comment. Your drone-cloudflared repo might still be useful for other people though.

@samuelaguilera
Copy link

@danacr Thank you a lot man! I don't know if you're going to get a community for your builds, but since months trying to make CloudFlare DNS-Over-HTTPS working on my pihole (over an Orange Pi Win board), thanks to your build it's finally working.

@QC-FreAk
Copy link

QC-FreAk commented Sep 15, 2019

Chiming in, @danacr you saved my bacon, building the same thing for my home network.

@danacr
Copy link

danacr commented Oct 5, 2019

@samuelaguilera @jjssoftware @QC-FreAk I just had the time to fully automate the repository. Now it creates the appropriate releases. Feel free to update your versions when needed.

@samuelaguilera
Copy link

Great news! Thanks @danacr

@yieme
Copy link

yieme commented Dec 9, 2019

@ cloudflare when is this going to be available at https://developers.cloudflare.com/argo-tunnel/downloads/ ???

@sodabrew
Copy link

edc6969 was merged in time for the 2020.8.0 release, please see https://github.com/cloudflare/cloudflared/releases for recent releases with an arm64 build.

@TownLake
Copy link
Contributor

TownLake commented Sep 6, 2020

Closing this request with the latest releases; please open a new ticket if you run into issues with the new builds. Thanks for the feedback.

@TownLake TownLake closed this as completed Sep 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Enhancement Minor update(s) to existing features
Projects
None yet
Development

Successfully merging a pull request may close this issue.