记录:交叉编译安***cl于sparc t2服务器T5220
commonlisp吧
全部回复
仅看楼主
level 3
zzk981 楼主
整来了一台sparc t2的机器,单路8核32线程,线程多且省电,打算用来多开lisp爬虫爬网页[滑稽],自己装好了gentoo linux,内核版本5.5.11,由于sbcl官网提供的安装版本只到1.0.28,跑hunchentoot,lla啥的基本是没戏了,所以研究了一***cl的交叉编译
1.下载sbcl源码并解压
2.内网另找一台安装有sbcl的x86机器,两台机器开启nfs,吧sparc机器上的源码目录挂到x86机器上(反过来也行)
3.x86机(host)上设定相关编译主机架构和交叉编译器:
host # export SBCL_ARCH=x86
host # export SBCL_XC_HOST=sbcl
4.sparc机(target)上设定目标架构:
target # export SBCL_ARCH=sparc
5.重要!修改源码目录里的src/runtime/Config.sparc-linux
把原来的-m32全改成机器对应的架构,可参照gcc对sparc架构的options:
https://gcc.gnu.org/onlinedocs/gcc/SPARC-Options.html
6.sparc机运行make-config.sh
target # sh make-config.sh --arch=sparc --prefix=/usr
7.host机和target机交替运行两阶段host和target的生成脚本:
host # sh make-host-1.sh
target # sh make-target-1.sh
host # sh make-host-2.sh
target # sh make-target-2.sh
target # sh make-target-contrib.sh
这里两次target的生成如果出错,跟第5步Config的设定有一定关系
8.安装
target # sh install.sh
9.运行安装好的sbcl
貌似OK[OK] ,接下来看看往后会出现什么坑
2020年03月31日 14点03分 1
level 1
Sparc哎,这个少见
2020年04月03日 11点04分 2
据说sparc的设计寄存器窗口时参照了LISP
2020年04月04日 05点04分
没玩过,不知道。有个octane,不会玩
2020年04月04日 12点04分
level 3
zzk981 楼主
'Steel Bank' = 煞鼻
[喷]
2020年04月04日 05点04分 3
level 3
zzk981 楼主
这个sparc v9架构单线程跑sbcl速度也就跟数梅派3单线程差不多,也就能跑网页采集了,快照检索一下要等十好几秒[揉脸]
另外cl+ssl里面的reload函数编译出错,估计跟这个架构的libssl的ffi有关,装hunchentoot前只好把:hunchentoot-no-ssl先push到*features*里,反正暂时用不着开https[摊手]
不过话说hunchentoot具体咋开ssl变https?我以前随便生成过密钥试过一下,浏览器上报错,然后就没仔细研究
2020年04月07日 06点04分 4
1