Thanks for your comments Pengcheng.
On 20/07/01 10:07PM, Pengcheng Xu wrote:
It's good that you chose to get familiar with the GNU build system (autotools); it will save you large amounts of time when meddling with toolchain-related work. I would also suggest taking a look at the "GNU Hello" project; it serves as a genuine example of the basics for a GNU project, which GCC is as well. Get familiar with how to read the configuration and compilation logs, especially when they're littered with libtool calls instead of directly calling the compiler.
Thanks for the tip, I will definitely look into it.
But while building the toolchain, I was not able to compile `gcc` as
I was riddled with errors along the way. Most of them are related to the
newer `gcc` (version 9.x) finding incompatibility in the sources of the
`gcc` I am trying to build (version 4.9).
I will continue to build the toolchain and hopefully move onto
separating `Bionic` from the other side of Android mid-week.
Just as Benda pointed out, 4.9 may be the one I chose two years ago, but it's not a hard requirement: most Android things should compile fine with any newer versions of GCC as long as the toolchain is correctly configured for an Android target; in many occasions even Clang works perfectly fine. You may try to fix the problems in the 4.9 tree, tweak the options for the "build" compiler (gcc-9) to accept older, non-compliant sources, or try to find a newer version of GCC source tree with Android (i.e. Bionic) support. You may have better luck looking for such a source tree in the AOSP codebase.
I agree, and I just realised that even though NDK requires gcc-4.9,
Android 8.0 and above uses Clang for compilation. This differs from my
days of compiling custom ROMs (pre Android 8). I am sorry for the
confusion created with gcc, I should have known better.
Let me switch to building a clang based toolchain now onwards.
And, we'd love to see a link to your weekly writeup of your efforts and problems encountered in greater detail. We can find out more about your progress and perhaps provide assistance if we can see the exact problem; for example, it would be helpful if you quoted or linked to the exact error message in the gcc build process you just mentioned. It's also a good idea to keep these in track for archival purposes, such that future contributors can have an idea of what's going on if they run into the same problem.
I wasn't planning on keeping the logs of errors I face, but since it is
requested, I will provide them in a new segment of "weekly blogs" now
onwards (keeping in mind that I have switched to using clang based
toolchains). Furthermore, I will be actively indicating the errors in
the IRC chatroom, which is logged as well.
Please let me know if you have more comments.
Regards,
Gunwant