libretro / easyrpg-libretro

⚠️⚠️⚠️ DON'T USE THIS FORK FOR YOUR OWN BUILDS / PACKAGES / ETC ⛔️⛔️⛔️ NO SUPPORT WHEN YOU USE IT ⚠️⚠️⚠️ It is only used by the libretro buildbot. ❤️❤️❤️ For your own builds use the upstream repository: https://github.com/EasyRPG/Player/ (See: "Building a libretro core" in the Readme) ❤️❤️❤️
https://easyrpg.org/
GNU General Public License v3.0
10 stars 8 forks source link

Does not compile on iOS arm64 anymore #44

Closed jet082 closed 5 years ago

jet082 commented 5 years ago

I have used brew to install cmake and pkg-config. That got the install as far as this, when it seemed to run into a 32/64-bit version conflict with some icu libraries.

This did use to compile on ios arm64, but broke some time ago.

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: ../lib/libicuuc.a(ucnv2022.ao) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: ../lib/libicuuc.a(ucnv_set.ao) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
ranlib ../lib/libicuuc.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: ../lib/libicuuc.a(ucnv2022.ao) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive member: ../lib/libicuuc.a(ucnv_set.ao) cputype (16777223) does not match previous archive members cputype (16777228) (all members must match)
Ghabry commented 5 years ago

Which version of OSX are you using?

Ghabry commented 5 years ago

Works for me, I use OSX 10.13.6 and make -f Makefile.libretro platform=ios-arm64

jet082 commented 5 years ago

I am currently using 10.14.6. I am compiling via libretro-super. Using libretro-build-ios-arm64.sh easyrpg on the latest xcode.

jet082 commented 5 years ago

I just ran make -f Makefile.libretro platform=ios-arm64 in libretro-super/libretro-easyrpg/builds/libretro and the same error popped up.

Ghabry commented 5 years ago

guess I have to retest this when I find time to update my OSX install.

jet082 commented 5 years ago

I was able to get it to build by commenting out the following line:

install_lib_icu_native

in builds/libretro/deps/libretro/2_build_cross_toolchain.sh

Ghabry commented 5 years ago

thats strange because ICU native is needed to generate the datafile for the cross build. Did you start from a fresh git repo checkout before building?

jet082 commented 5 years ago

So, just to verify, I deleted the directory and fetched it again. Editing that one line was insufficient to build it after all.

So I ran a few tests starting from scratch each time trying to recreate my success and I got one to work without commenting any files out. It turns out all you need to do is run git submodule update --init --recursive from the root directory.

Ghabry commented 5 years ago

That you need a submodule is documented in the README.md. Okay, closing this then.

jet082 commented 5 years ago

Once you have built this once, it will not build again without doing the following (or deleting and re-fetching):

git clean -xfd
git submodule foreach --recursive git clean -xfd
git reset --hard
git submodule foreach --recursive git reset --hard
git submodule update --init --recursive