-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
update ndk to 17 and switch some packages to clang build #2415
Conversation
I tried an ./clean.sh; ./build-all.sh Initial findings:
I'll update the list when find more |
EDIT 4: pushed a fix for libnl. somewhat ugly. |
Weird, I'm still seeing it:
Can confirm your libnl patch works. |
I get "the same" error with libisl:
Solved with LDFLAGS+=" -lgmp" so seems something fundamental has changed. |
…huffle (#1) Required to make package build with ndk17.
@Grimler91 that libisl error occurs in aarch64. arm build works fine. working on it |
Interesting. Seems like
|
@Grimler91 pull latest changes, delete existing toolchain and build again. |
Yeah, works now. Next error is on libzmq:
|
grimler add --disable-Werror and libzmq compiles |
remove gio-gsocket.c.patch from glib not needed? |
We also need to switch over most packages to clang now. I have a feeling that they are serious about this being the last release with gcc included. |
@its-pointless for libzmq: I guess we might just as well remove the entire test that fails, since I suppose it will be optimized away anyways if the package is built with edit: --disable-Werror is of course easier though.. |
Strangely I don't get the error when building for arm |
I get this when building elinks. Can anybody else try and see if they get the same errors?
|
this |
guess that elf.h won't be going away after all |
@vishalbiswas I get no error for elinks when building for aarch64. |
@Grimler91 probably occurring because I don't build inside docker. I used to get similar errors previously. |
Hmm, doesn't the build system of Termux has a general approach that make sure only features of API 21 are available? |
--disable-gst_v4l2 to be added to gst-plugins-good |
torsocks needs a patch. I've opened a PR. Edit: Vishal beat me to it. |
@Grimler91 I don't think it really has something to do with the architectures. It's just somehow you have files of libllvm-dev (but not libclang-dev) in the build directories of the 64-bit ones. See my tests here: https://ptpb.pw/2H3a |
k built ruby on arm with clang |
emacs now builds on clang |
termux_step_pre_configure() { |
Makes me wonder if |
no all of the compiler_rt stuff neccesary to replace libgcc is not there. Or we could just add all the stuff from libcompiler_rt-extras into libgcc |
contents of libcompiler_rt-extras fuck it just add that file to libgcc.a and we are done |
nope this won't work consistently m4 on aarch64 using clang requires __muloti4 which is not in libcompiler_rt-extras.a for aarch64. |
@its-pointless |
@tomty89 Is your device aarch64? I believe the libobjc2 solution makes more sense than the libboost_python/opencv solution did. Seems to be several ways to to get these block functions though: libobjc2, blocksruntime. Maybe blocksruntime would make more sense to use. |
@Grimler91 yes it is:
I can't tell for sure if it's exactly the same case as my test, since it's cross-compiling. As for whether the solution makes sense, IMHO we can come to a conclusion in that only if we know what exactly we are using libobjc2 as a supplement to, and why it is needed now. Any |
Where do we get libLLVMDemangle.a from? This file isn't present in
Sure, I should perhaps research the issues more before attacking them.
They can be found in several libraries: libobjc2, BlocksRuntime, compiler-rt (BlocksRuntime seems to be identical to the compiler-rt code). |
@Grimler91 Both files are products of the llvm source and has nothing to do with clang. |
The fix seems to be in r321996, but the NDK r17 changelog says |
About gcc->clang transitions: We don't need to have any more of these in this PR, that can be made in separate ones (and some may wait till NDK r18). |
I can make a script which finds all packages that links against |
Do that.
…On Fri., 18 May 2018, 2:41 am Fredrik Fornwall, ***@***.***> wrote:
Oh right I missed that, but still anything linked to it should have their
revision bumped.
I can make a script which finds all packages that links against
libc++_shared.so and revision bump them. Should I do that or is anyone
else working on it?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2415 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AP-Otwnm51O0X6fviGsNugt0f6rudNsnks5tzahXgaJpZM4T5gOT>
.
|
@vishalbiswas You can remove Besides the version bump of libc++-using packages, is there anything else remaining here that we know of? |
This reverts commit 43850b8. Already applied on base branch.
Done! |
@vishalbiswas Could you fix the conflicts, and I'll merge this PR ASAP (and bump the libc++-using packages on master)? EDIT: Ok, the merge conflict was trivial, so this is merged now. Great work everyone involved! |
The docker image has been updated - run |
@fornwall , @Grimler91 , @xeffyr Can you guys please help me with this, #2451 |
I've tried to update the build process to use Android NDK 17 released on May 8th, 2018 according to the changes mentioned in #1905.
Please note that android/ndk#294 has not been included in r17 and as such we still have to use
gcc
for emacs and m4 to work aroundUndefined reference to '__muloti4'
.