fatedier / frp

A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
Apache License 2.0
86.02k stars 13.31k forks source link

Expecting loong64 release ... #3782

Closed XiaoboYang closed 10 months ago

XiaoboYang commented 11 months ago

Describe the feature request

Go has already ported and supported Loongarch64 by GOARCH=loong64. Do you have plan to release loong64 version in the future? In fact, I tried to cross compile frp versions from 0.29.0 to the latest 0.52.3, but all failed. Since I'm new to golang, to investigate the compile errors seems impossible for me. So I'm expecting the loong64 release...

Describe alternatives you've considered

No response

Affected area

fatedier commented 11 months ago

If there is a compilation error, it may be related to Go itself and the compilation environment. The code of frp does not have any special parts.

Currently, we will not include all supported systems and architectures in the release asserts. Users with these requirements can compile them themselves.

XiaoboYang commented 11 months ago

How to cross compile frpc for loongarch64

  1. Download the Go

Please visit page http://www.loongnix.cn/zh/toolchain/Golang/downloads-Go1.21/index.html. For my case, I use the one for ABI 1.0.

mkdir -p ~/tmp/
cd ~/tmp/
wget http://ftp.loongnix.cn/toolchain/golang/go-1.21/abi1.0/go1.21.0.linux-amd64.tar.gz -O ./go1.21.0.linux-amd64.tar.gz
  1. Unpack

tar xf go1.21.0.linux-amd64.tar.gz -C ~/tmp/

  1. Download frp source and unpack it. For my case I use 0.29.0. Assumes the source folder is ~/tmp/frp-0.29.0. Then modify the version on the line golang.org/x/net in the file ~/tmp/frp-0.29.0/go.mod to v0.18.0 as below. golang.org/x/net v0.18.0

  2. Compile

    cd ~/tmp/frp-0.29.0
    GOPROXY=https://goproxy.cn PATH=~/tmp/go/bin:${PATH} GOPATH=~/tmp/go go mod tidy
    GOPROXY=https://goproxy.cn PATH=~/tmp/go/bin:${PATH} GOPATH=~/tmp/go CGO_ENABLED=0 GOOS=linux GOARCH=loong64 go build -a -v -x -ldflags "-s -w" -o ./frpc_linux_loong64 ./cmd/frpc
github-actions[bot] commented 10 months ago

Issues go stale after 30d of inactivity. Stale issues rot after an additional 7d of inactivity and eventually close.