cocos2d / cocos2d-x-3rd-party-libs-src

Dependencies of cocos2d-x.
142 stars 169 forks source link

Is this project broken? #185

Open freemouser opened 1 year ago

freemouser commented 1 year ago

I tried to compile this without success. Everything seems broken. I couldn't get a single library or arch to compile. All I get is:

Compiler error reporting is too harsh for ./configure (perhaps remove -Werror).

The first problem i encountered is that more recent NDK's have removed make-standalone-toolchain.sh and replaced it with make_standalone_toolchain.py. But even after overcoming that hurdle, it seems zlib is failing. The error output above is entirely unhelpful.

Manually going into contrib//build and running make on zlib results in this error:

./zconf.h:421:14: fatal error: 'sys/types.h' file not found include <sys/types.h> / for off_t /

Which is odd considering /usr/include/sys/types.h is clearly there.

Other libs also fail for various reasons. Clang is working fine on the terminal and through Android studio. The only conclusion i can come to is that this project is outdated and broken.

freemouser commented 1 year ago

After a lot of experimentation I found the problem and solution. 'types.h' is missing from the toolchain sysroot /usr/include directory for both x86 and x86_64. I copied my system '/usr/include/sys/types.h' to the toolchain directories and that seemed to fix the problem.

The second problem, which was completely masked by the erroneous description

Compiler error reporting is too harsh for ./configure (perhaps remove -Werror).

Was due to the included toolchain's 'clang'/'clang50' dependency on libncurses.so.5:

./clang50: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

I only discovered this by manually running it in the terminal . After installing the compat libs from the AUR It successfully compiles zlib.

pamac build ncurses5-compat-libs lib32-ncurses5-compat-libs

It would have been helpful had the initial error been more descriptive, but hopefully this helps others searching for the cause of it.

freemouser commented 1 year ago

Unfortunately, it appears many of the module builds are broken - OpenSSL, Jpeg, Box2D. I was able to fix OpenSSL(changed version to 1.1.1q with updated hash) and Jpeg(updated hash), but not Box2D, where the branch no longer exists:

fatal: Remote branch master not found in upstream origin