由于DragonOS已经具有Linux二进制兼容性,并且由于编译时间的问题,计划在0.2.0版本中移除relibc的依赖,以及旧的libc。
任务
- 删除旧版shell
- 移除relibc的依赖,并把相关的应用程序改为依赖musl
- 在DragonOS中安装musl库
联系方式
感兴趣进行这项工作的同学,欢迎回帖认领。
由于DragonOS已经具有Linux二进制兼容性,并且由于编译时间的问题,计划在0.2.0版本中移除relibc的依赖,以及旧的libc。
感兴趣进行这项工作的同学,欢迎回帖认领。
在DragonOS中安装musl库,具体需要做哪些
就是把musl库编译好安装进去而已。
直接把$(HOME)/opt/{riscv64/x86_64}-linux-musl-cross-gcc-9.4.0/{riscv64/x86_64}-linux-musl/复制进去行吧?
我打算做这项任务
并不是。那个是gcc。我指的是musl库。
?我说的是cross-gcc的那个子目录,那里不是库吗?
那个是gcc编译器。
gcc编译出来的东西。
目前已经去除了relibc,不过还有些问题,但在linux中都不出现
bind failed: Address in use
这个怎么说?这么神奇???哈哈哈
是用的apps下面的那个测试sqlite3的程序吗
参考errno.h里面改的,这里面40号后面的位置是EWOULDBLOCK,但是它和11号类似,也用了11号
是的,需要实现pread
对哦,貌似没有41号。然后systemerror写错了。
貌似pread和pwrite跟read和write的最大区别是pread不改变文件的偏移量,这个感觉很好实现
musl库中make后的lib目录吗?
usr/include是不是可以直接复制musl项目的include目录
musl make install之后的那个目录应该就对了(记得指定DEST_DIR