toolchains clang script no working #2050
-
I'm trying cross compiling cairo 1.18.0 in android, which is use meson build system. cross compile file is:
when I execute meson the error occurs:
check log, seems the clang script is not received arguments properly:
and I found clang and clang++ files in r25c bin just simple txt
clang++
execute clang-14 in bin, it works:
I have another r26d version, it works normal, the difference of bin directory with r25c is that the clang and clang++ is actual executable binary, no txt, it download about 3 months ago, now I found the same r26d version downloaded from the NDK official site have clang and clang++ are txt files just like r25c and its later version r27, and same compile error in meson. I have no idea whether is any configure I need be done or I just choose the false download repository? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
ok, in my r26d the clang and clang++ is not executable file but symlinks, but I still don't know why my r26d is different from the same version I downloaded from official site since then.
|
Beta Was this translation helpful? Give feedback.
-
Can you migrate to not using those? There's really no reason to use them. You can replace I see that https://developer.android.com/ndk/guides/other_build_systems recommends both, but then the examples use only the thing I just said to not do. I've just sent a CL to make it clear on that page that If you want them fixed, file a bug with a repro case (though it seems like this may just be an install failure, and theres's nothing to fix on our end).
This is what happens when a zip with symlinks in it is extracted by a tool that doesn't know how to handle those. You probably used different tools to extract each NDK, and not all of them were capable of understanding symlinks. |
Beta Was this translation helpful? Give feedback.
Can you migrate to not using those? There's really no reason to use them. You can replace
c = toolchain / 'bin/i686-linux-android23-clang'
with `c = toolchain / 'bin/clang --target=i686-linux-android23'. It's the same intended effect without the occasional bugs introduced by the intermediate script. The only reason the trampolines exist is to work in build systems that for some reason can't handle using clang normally.I see that https://developer.android.com/ndk/guides/other_build_systems recommends both, but then the examples use only the thing I just said to not do. I've just sent a CL to make it clear on that page that
--target
should be preferred, and the prefixed launchers are a las…