但是我得到错误…
配置选项是
../configure CFLAGS="-march=native -Wp,-D_FORTIFY_SOURCE=2 -O2 -pipe" --prefix=$PREFIX --libdir=$PREFIX/lib --libexecdir=$PREFIX/lib --with-headers=$PREFIX/include --enable-bind-now --enable-cet --enable-kernel=5.10 --enable-stack-protector=strong --disable-profile --disable-crypt --disable-werror --enable-systemtap --target=aarch64-linux-android --host=aarch64-linux-android
我正在尝试编译glibc Android(仿生)基地Termux ..
使用gcc
编译但依赖于bionic
aarch64-linux-android
我的主机处理器aarch64我的目标处理器是aarch64我的主机平台Android 12 (termux)我的目标平台Android 12 (termux)
我想建立&安装在termux..和termux不依赖于aarch64-linux-gnu..Termux依赖于aarch64-linux-android
也许这是不可能的……但我只是想做实验。我已经安装了所有的依赖包,如gcc, clang, python等。
我在某处找到了glibc for termux..但这并不取决于aarch64-linux-android
我知道开发者可以做任何事情…我不懂任何计算机语言,所以我需要帮助。
My error log
In file included from <command-line>:
syslog.c: In function '__vsyslog_internal':
syslog.c:94:30: error: inlining failed in call to 'always_inline' 'syslog': function not inlinable
不知何故,我从syslog.c
中删除了一行134
,解决了这个问题。
但是在最后一个位置之后,我收到了太多未定义的错误引用…
https://pastebin.com/U8NcNf97
不知道该怎么解决…谢谢你. .
我不想冒犯您,但是您实际上是在浪费时间,试图用bionic
编译器编译glibc
。要编译glibc
,你需要glibc
(即基于glibc的编译器和依赖项)——这是最正确的方法。也许可以用bionic
编译glibc
,但是设置过程将非常复杂和耗时(另外,它实际上将是一个完全不同的库)。
另外,我想说你在configure
中错误地配置了PREFIX
。最好将glibc
及其所有碱基从基于仿生学的termux系统中分离出来,否则可能会破坏termux。除了正确配置configure
之外,还应该删除正在运行的不支持的系统调用在glibc
源文件中,这很重要,因为系统调用在启动任何基于glibc的程序时会导致Bad system call
错误。
为了理解,我有经验编译glibc
为termux - https://github.com/Maxython/glibc-for-termux。