首先,这不是我第一次尝试构建LFS系统 – 我已经成功构建了LFS 7.8和LFS 7.8-systemd.
我想用ELLCC替换GCC GlibC,这是Clang / LLVM musl.
它有一些限制 – 其中最值得注意的是它目前缺乏对动态链接的支持 – 但是预期的结果是交叉编译(或更好的,编译在设备上)armhf LFS构建,作为实验的一部分在我的旧设备上用Linux完全替换Android,因此二进制文件的效率很重要(因此我有兴趣使用ELLCC.)
真正的问题是,我将如何做到这一点?简单地用ELLCC替换GCC和GlibC甚至不会让我过去安装Linux API头文件.我可以单独从源代码编译一些程序,但它们总是以这种或那种方式依赖于主机系统.
解决方法:
你是对的 – 简单地交换工具链不会神奇地使它工作.
作为一个经验丰富的musl用户,我可以说这不会“开箱即用”.许多程序仍然需要特殊情况glibc只提供甚至不是musl,特别是许多GNU项目程序甚至不编译没有glibc存在.
目前正在修复流行但破坏程序的大工作正在进行中,如果您愿意,您可以进行监控和参与.像sabotage linux这样的项目为这些程序生成补丁以使它们与musl(以及其他不太知名的libcs)一起工作,所以如果你足够勇敢,你可以尝试在这些项目的帮助下修复主要的构建破坏.
为了使普通的LFS工作,你最终可能会大量攻击这本书. (回到2009年,当我上次建立LFS时,我记得还有一些无法解释的指令可以解决一些glibc特殊情况)
作为替代方案,您可以尝试:
> CLFS embedded,用musl取代了glibc.您可以将两本书合并,以制作适合您情况的内容.虽然它完全省略了经典的GNU软件.
>使用其中一个新的基于musl的Linux发行版.举个例子,我可以说破坏和高山,但musl wiki更多.至少你可以在主机上构建二进制文件,并尝试将它们导入你的设备.
既然你正在尝试为嵌入式平台构建二进制文件,我强烈建议你不要搞砸GNU软件,而是试试lightweight alternatives.
标签:linux,clang,llvm,lfs 来源: https://codeday.me/bug/20190816/1672299.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。