cloudflare / cloudflared

Cloudflare Tunnel client (formerly Argo Tunnel)

Home Page:https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

'illegal instruction' on ARM platforms 🐛

JeremyLoy opened this issue · comments

I just upgraded to 2024.1.5 via apt which contains 3ad4b73 but I'm still seeing Illegal instruction, even when just trying to run cloudflared --version.

I'm not trying to be a bother, but #1163, #1162, and #1136 are all closed

I did find #583 from several years ago that does have a solution, albeit it lets you install arm instead of armhf via the package manager.


If I scp the linux-arm binary over to my Pi, that one indeed works correctly.

~~I believe that 3ad4b73 needs to apply to armhf as well (not just arm). ~~


EDIT:

golang/go#61588

Actually, looks like this relatively recent go issue might have the solve we're looking for.

The principal issue here is whether soft/hardware floating point exists, not necessarily the ARM version. Having to specify ARM=5 was a weird workaround but now it seems to be parameterized

Hello, I wanted to confirm that I've also been experiencing this issue; using the latest deb/binary file(s).
where the binary seems to crash and the simply return the message Illegal instruction
Specifically armv6l arch

I believe this was fixed in the latest release. you should use the arm deb

commented

Issue is still there, even with the latest version.

$ cloudflared --help
Illegal instruction

$ dpkg --print-architecture
armhf

$ dpkg -l cloudflared
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii cloudflared 2024.4.0 armhf Cloudflare Tunnel daemon

A bit strange to suggest to use a different architecture.

Not the best solution, but I managed to install cloudflared on my Raspberry Pi Zero by adding the arm architecture to the system and specifying arm as the architecture in my sources.list file:

dpkg --add-architecture arm

entry in sources.list

deb [arch=arm signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared buster main