想要在Android中构建和安装Glibc(仿生)

iswrvxsc  于 2023-01-07  发布在  Android
关注(0)|答案(1)|浏览(323)

但我得到的错误..
我的配置选项是

../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
我的主机处理器aarch 64我的目标处理器aarch 64我的主机平台Android 12(termux)我的目标平台Android 12(termux)
我想在termux中构建和安装..和termux不依赖于aarch 64-linux-gnu.. Termux依赖于aarch 64-linux-android
也许这是不可能的,但我是为了实验而试着做的。
我有所有的依赖包安装像gcc,clang,python等。
在某个地方我找到了termux的glibc..但它不依赖于aarch64-linux-android
我知道开发人员可以做任何事情..我不知道任何计算机语言,所以我想要帮助..
我的错误日志

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

不知何故,我删除了一个单行134syslog.c解决了这个问题。
但是在最后一个位置之后,我收到了太多未定义的错误引用。
https://pastebin.com/U8NcNf97
我不知道该怎么解决..谢谢..

t8e9dugd

t8e9dugd1#

我不想冒犯您,但是您试图使用bionic编译器编译glibc实际上是在浪费时间。(即基于glibc的编译器和依赖项)-这是最正确的方法。用bionic编译glibc是可能的,但是安装过程将非常复杂和耗时(另外,实际上它将是一个完全不同的库)。
另外,我想说的是,您在configure中错误地配置了PREFIX。最好将glibc及其所有基础从基于仿生学的termux系统中分离出来,否则您将面临破坏termux的风险。除了正确配置configure之外,您还应该删除glibc源文件中运行的不受支持的系统调用。这一点很重要,因为在启动任何基于glibc的程序时,系统调用可能导致Bad system call错误。
为了便于理解,我有为termux -https://github.com/Maxython/glibc-for-termux编译glibc的经验。

相关问题