target=debug build for iOS fails to link
Created by: staalduinen
Godot version: 244cc11edd7ba5cae95a909ada2fec207631ffc8
OS/device including version: iOS
Issue description:
I made an target=debug
build for platform iOS. But when trying to build an example app the linker failed with:
Undefined symbols for architecture arm64:
"_z_error", referenced from:
_inflate_codes in godot.a(ftgzip.iphone.debug.arm64.o)
"_z_verbose", referenced from:
_inflateInit2_ in godot.a(ftgzip.iphone.debug.arm64.o)
_inflate in godot.a(ftgzip.iphone.debug.arm64.o)
_inflateEnd in godot.a(ftgzip.iphone.debug.arm64.o)
_inflateReset in godot.a(ftgzip.iphone.debug.arm64.o)
_inflate_blocks_reset in godot.a(ftgzip.iphone.debug.arm64.o)
_inflate_codes_free in godot.a(ftgzip.iphone.debug.arm64.o)
_inflate_blocks_new in godot.a(ftgzip.iphone.debug.arm64.o)
...
ld: symbol(s) not found for architecture arm64
So my analysis is: target=debug
for iOS enables the DEBUG
macro. This macro gets used in
freetype
the z_error
and z_verbose
externals are however never defined. They used to be when Godot used and older version of zlib. Zlib is however now using ZLIB_DEBUG
as macro.
Steps to reproduce:
scons p=iphone tools=no bits=64 target=debug arch=arm64
- Make an xcode project using the binary from step 1
- try to run it on an iphone
Minimal reproduction project: