簡體   English   中英

想要在 Android(仿生)中構建和安裝 Glibc

[英]Want to build & install Glibc in Android (bionic)

但我收到錯誤..

我的配置選項是

../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

我正在嘗試為 Android(仿生)基礎 Termux 編譯 glibc。

使用gcc編譯,但取決於 bionic

aarch64-linux-android

我的主機處理器 aarch64 我的目標處理器 aarch64 我的主機平台 Android 12 (termux) 我的目標平台 Android 12 (termux)

我想在 termux 中構建和安裝 .. 而 termux 不依賴於 aarch64-linux-gnu .. Termux 依賴於 aarch64-linux-android

我是不可能的..但我正在嘗試這樣做用於實驗目的..

我安裝了所有依賴項 package,如 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                                                                                                                        

我以某種方式從syslog.c中刪除了一行134解決了這個問題..

但是在最后一個 position 之后我收到了太多未定義的錯誤引用..

https://pastebin.com/U8NcNf97

不知道怎么解決。。謝謝。。

我不想冒犯您,但您實際上是在浪費時間嘗試使用bionic編譯器編譯glibc 要編譯glibc ,您需要glibc (即基於 glibc 的編譯器和依賴項)——這是最正確的方法。 bionic編譯glibc是可能的,但設置過程將非常復雜和耗時(另外,實際上它將是一個完全不同的庫)。

另外,我想說你在 configure 中錯誤地configurePREFIX 最好將glibc及其所有基礎與基於仿生的 termux 系統分開,這樣你就有破壞 termux 的風險。 除了正確配置configure之外,還應該刪除glibc源文件中運行不受支持的系統調用,這一點很重要,因為在啟動任何基於 glibc 的程序時,此類系統調用可能會導致Bad system call錯誤。

為了便於理解,我有為 termux 編譯glibc的經驗 - https://github.com/Maxython/glibc-for-termux

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM