说明
由于龙芯 3A5000 已彻底抛弃 mips 架构,转向自主研发的 loongarch 架构,许多在之前的龙芯平台上适用的软件、工具均无法使用。
在这其中,虽然 Go 社区为龙芯预留了 loong64 关键字,但由于龙芯的代码还未合并至上游,目前只能使用龙芯团队移植的 go 1.15.6 ,以及单独移植的 sys 包与 net 包。
经过实测, net 包尚有问题,需要使用第三方fork的版本。
一、环境
系统:loongnix 20 (基于debian buster)
CPU:Loongson 3A5000
架构:loongarch64
二、下载源码
1.下载龙芯团队移植的 sys 库:
git clone https://github.com/loongson/sys.git
打开 go.mod ,修改版本号为 go 1.15
2.下载龙芯移团队植的net库的第三方修正版:
git clone https://github.com/chenguoqi-cc/net
3.下载 frp v0.37.1 版本,并解压:
wget https://github.com/fatedier/frp/archive/refs/tags/v0.37.1.tar.gz
tar -zxvf v0.37.1.tar.gz
进入 frp 源码目录,打开 go.mod ,修改版本号为 go 1.15
同时,在 go.mod 文件最下方添加如下两行,指向上两步操作中拉取的 sys 包与 net 包路径
replace golang.org/x/sys => {目录}/sys
replace golang.org/x/net => {目录}/net
例如,
replace golang.org/x/sys => /home/go/sys
replace golang.org/x/net => /home/go/net
三、编译
执行命令:
make all
编译完成后,可执行文件 frps 与 frpc 可在 bin 目录下找到