背景:
阅读文章

mips交叉编译fluffos过程总结

[日期:2021-04-07] 来源:  作者:原作者mok [字体: ]

1.先装好交叉编译的环境,例如mips,安装好mipsel-linux-gnu-g++的工具链

sudo apt-get install gcc-mipsel-linux-gnu

sudo apt-get install g++-mipsel-linux-gnu

下载必要库的源码--没错是源码

libevent prce libz openssl

./configure --host=mipsel-linux-gnu 

make

make install

这样环境就完成了。

sudo dpkg-reconfigure dash 选no 关闭dash这步非常重要。

会导致bash运行出错。

 

2.先用原来环境编译一次

./builf.FluffOS

make

获得并备份以下5个文件:

vm/internal/compiler/grammar.autogen.y

vm/internal/applies_table.autogen.cc

vm/internal/applies_table.autogen.h

vm/internal/efuns.autogen.cc

vm/internal/efuns.autogen.h

make clean命令清除

把以上的5个备份文件复杂回原来的目录里面。

 

3.修改configure.h

删除

#define malloc rpl_malloc

#define realloc rpl_realloc

两行

 

4.修改makefile文件

CXX=g++ 改为CAA=g++

增加一项,内容为CXX=mipsel-linux-gnu-g++ 你需要的编译器

 

复制CXXFLAGS=的所有内容

增加一项,CAAFLAGS=内容为以上复杂的内容,修改其中-march=的内容,该为你需要的cpu型号,例如-march=mips32r2

 

把USE_JEMALLOC=1 改为USE_JEMALLOC=0

把@echo '#define USE_JEMALLOC 1' >> cc.h 改为@echo '#define USE_JEMALLOC 0' >> cc.h

 

找到并删除以下3句

@./tools/build_applies.autogen

@./tools/make_func.autogen packages/packages.autogen.fullspec

@./tools/make_grammar.sh $(CXX) $(CXXFLAGS)

 

找到

$(CXX) $(CXXFLAGS) -x c++ dtrace_compile.cc -o dtrace_compile

修改为

$(CAA) $(CAAFLAGS) -x c++ dtrace_compile.cc -o dtrace_compile

 

5.修改dtrace_compile.cc

找到64,修改为32

 

6.make 恭喜你完成了交叉编译

 

                                       --by mok 

                                        2017.8.11

 

 

使用前授权 chmod -v +x ./driver

另外自行安装必要的裤头

libpcre.so.1

libc.so.6                         libstdc++.so.6

libc6_2.19-18+deb8u10_mipsel.deb  libstdc++6_7.1.0-13_mipsel.deb

libevent-2.1.so.6

 

9月7日版本交叉编译问题

#@ASAN_OPTIONS="detect_leaks=0" ./tools/make_func.autogen packages/packages.autogen.fullspec

把这句注释掉就ok

                                        2017.9.18

收藏 推荐 打印 | 录入:sbso | 阅读:
相关内容      
本文评论   [发表评论]   全部评论 (0)
内容推送
52mud提供
一起回忆泥巴游戏QQ群68186072
52mud官方微信公众平台
热门评论