pelya / commandergenius

Port of SDL library and several games to the Android OS.
http://libsdl-android.sourceforge.net/
GNU Lesser General Public License v2.1
531 stars 248 forks source link

Build incomplete due to harfbuzz dependency on freetype #145

Open protoman opened 1 year ago

protoman commented 1 year ago

Got a clean copy of the git, run my build,, but it can't compile sdl_gfx due to messy dependencies that were moved to sdl2, for some reason.

[armeabi-v7a] Install : libsdl_gfx.so => libs/armeabi-v7a/libsdl_gfx.so install -p ./obj/local/armeabi-v7a/libsdl_gfx.so ./libs/armeabi-v7a/libsdl_gfx.so jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: error: undefined reference to 'hb_buffer_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: error: undefined reference to 'hb_buffer_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: error: undefined reference to 'hb_buffer_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: error: undefined reference to 'hb_buffer_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: error: undefined reference to 'hb_buffer_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: error: undefined reference to 'hb_buffer_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: error: undefined reference to 'hb_buffer_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: error: undefined reference to 'hb_buffer_create' [x86] Install : libsdl_gfx.so => libs/x86/libsdl_gfx.so install -p ./obj/local/x86/libsdl_gfx.so ./libs/x86/libsdl_gfx.so jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:127: error: undefined reference to 'hb_font_get_face' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:135: error: undefined reference to 'hb_ot_tags_from_script' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:165: error: undefined reference to 'hb_set_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:166: error: undefined reference to 'hb_ot_layout_collect_lookups' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:173: error: undefined reference to 'hb_set_is_empty' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:184: error: undefined reference to 'hb_set_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:185: error: undefined reference to 'hb_set_next' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:193: error: undefined reference to 'hb_ot_layout_lookup_collect_glyphs' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:185: error: undefined reference to 'hb_set_next' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:212: error: undefined reference to 'hb_set_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:213: error: undefined reference to 'hb_ot_layout_collect_lookups' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:224: error: undefined reference to 'hb_set_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:225: error: undefined reference to 'hb_set_next' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:233: error: undefined reference to 'hb_ot_layout_lookup_collect_glyphs' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:225: error: undefined reference to 'hb_set_next' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:280: error: undefined reference to 'hb_ot_layout_lookup_would_substitute' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:345: error: undefined reference to 'hb_set_subtract' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:385: error: undefined reference to 'hb_set_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:386: error: undefined reference to 'hb_set_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:387: error: undefined reference to 'hb_set_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:388: error: undefined reference to 'hb_set_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:468: error: undefined reference to 'hb_font_set_scale' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:480: error: undefined reference to 'hb_buffer_clear_contents' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:481: error: undefined reference to 'hb_buffer_add_utf8' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:484: error: undefined reference to 'hb_buffer_guess_segment_properties' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:488: error: undefined reference to 'hb_shape' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:505: error: undefined reference to 'hb_buffer_clear_contents' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:506: error: undefined reference to 'hb_buffer_add_utf8' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:507: error: undefined reference to 'hb_buffer_guess_segment_properties' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:508: error: undefined reference to 'hb_shape' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:510: error: undefined reference to 'hb_buffer_get_glyph_infos' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: error: undefined reference to 'hb_buffer_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:511: error: undefined reference to 'hb_buffer_get_glyph_infos' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: error: undefined reference to 'hb_buffer_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:525: error: undefined reference to 'hb_buffer_clear_contents' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: error: undefined reference to 'hb_buffer_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:530: error: undefined reference to 'hb_buffer_get_length' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: error: undefined reference to 'hb_buffer_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:557: error: undefined reference to 'hb_buffer_get_glyph_infos' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: error: undefined reference to 'hb_buffer_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:558: error: undefined reference to 'hb_buffer_get_glyph_positions' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: error: undefined reference to 'hb_buffer_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: error: undefined reference to 'hb_buffer_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: error: undefined reference to 'hb_buffer_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: error: undefined reference to 'hb_buffer_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: error: undefined reference to 'hb_buffer_destroy' [arm64-v8a] Install : libsdl_image.so => libs/arm64-v8a/libsdl_image.so install -p ./obj/local/arm64-v8a/libsdl_image.so ./libs/arm64-v8a/libsdl_image.so jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:127: error: undefined reference to 'hb_font_get_face' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: error: undefined reference to 'hb_buffer_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:135: error: undefined reference to 'hb_ot_tags_from_script' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: error: undefined reference to 'hb_buffer_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afglobal.c:362: error: undefined reference to 'hb_ft_font_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:165: error: undefined reference to 'hb_set_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: error: undefined reference to 'hb_buffer_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:166: error: undefined reference to 'hb_ot_layout_collect_lookups' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: error: undefined reference to 'hb_buffer_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:173: error: undefined reference to 'hb_set_is_empty' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afglobal.c:408: error: undefined reference to 'hb_font_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: error: undefined reference to 'hb_buffer_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:184: error: undefined reference to 'hb_set_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: error: undefined reference to 'hb_buffer_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:185: error: undefined reference to 'hb_set_next' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In function af_shaper_buf_create': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: undefined reference tohb_buffer_create' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In function af_shaper_buf_destroy': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: undefined reference tohb_buffer_destroy' ./obj/local/arm64-v8a/libfreetype.a(autofit.o)jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:193: error: undefined reference to 'hb_ot_layout_lookup_collect_glyphs' : In function af_shaper_buf_create': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: undefined reference tohb_buffer_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:127: error: undefined reference to 'hb_font_get_face' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In function af_shaper_buf_destroy': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: undefined reference tohb_buffer_destroy' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: undefined reference to hb_buffer_destroy' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In functionaf_shaper_buf_create': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: undefined reference to hb_buffer_create' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In functionaf_shaper_buf_destroy': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: undefined reference to hb_buffer_destroy' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In functionaf_shaper_buf_create': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: undefined reference to hb_buffer_create' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In functionaf_shaper_buf_destroy': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: undefined reference to hb_buffer_destroy' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In functionaf_shaper_get_coverage': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:127: undefined reference to hb_font_get_face' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:135: undefined reference tohb_ot_tags_from_script' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:165: undefined reference to hb_set_create' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:166: undefined reference tohb_ot_layout_collect_lookups' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:173: undefined reference to hb_set_is_empty' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:385: undefined reference tohb_set_destroy' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:386: undefined reference to hb_set_destroy' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:387: undefined reference tohb_set_destroy' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:388: undefined reference to hb_set_destroy' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:184: undefined reference tohb_set_create' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:193: undefined reference to hb_ot_layout_lookup_collect_glyphs' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:185: undefined reference tohb_set_next' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:212: undefined reference to hb_set_create' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:213: undefined reference tohb_ot_layout_collect_lookups' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:224: undefined reference to hb_set_create' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:233: undefined reference tohb_ot_layout_lookup_collect_glyphs' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:225: undefined reference to hb_set_next' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:352: undefined reference tohb_set_next' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:352: undefined reference to hb_set_next' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:274: undefined reference tohb_set_next' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:280: undefined reference to hb_ot_layout_lookup_would_substitute' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:345: undefined reference tohb_set_subtract' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In function af_shaper_buf_create': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: undefined reference tohb_buffer_create' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In function af_shaper_buf_destroy': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: undefined reference tohb_buffer_destroy' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In function af_shaper_get_cluster': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:468: undefined reference tohb_font_set_scale' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:480: undefined reference to hb_buffer_clear_contents' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:481: undefined reference tohb_buffer_add_utf8' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:484: undefined reference to hb_buffer_guess_segment_properties' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:185: error: undefined reference to 'hb_set_next' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:488: undefined reference tohb_shape' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:505: undefined reference to jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:135: error: undefined reference to 'hb_ot_tags_from_script' hb_buffer_clear_contents' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:506: undefined reference tohb_buffer_add_utf8' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:507: undefined reference to hb_buffer_guess_segment_properties' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:508: undefined reference tohb_shape' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:510: undefined reference to hb_buffer_get_glyph_infos' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:511: undefined reference tohb_buffer_get_glyph_infos' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:525: undefined reference to hb_buffer_clear_contents' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:530: undefined reference tohb_buffer_get_length' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In function af_shaper_get_elem': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:557: undefined reference tohb_buffer_get_glyph_infos' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:558: undefined reference to hb_buffer_get_glyph_positions' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In functionaf_shaper_buf_create': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: undefined reference to hb_buffer_create' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In functionaf_shaper_buf_destroy': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: undefined reference to hb_buffer_destroy' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: undefined reference tohb_buffer_destroy' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In function af_shaper_buf_create': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:430: undefined reference tohb_buffer_create' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In function af_shaper_buf_destroy': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:440: undefined reference tohb_buffer_destroy' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In function af_face_globals_new': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afglobal.c:362: undefined reference tohb_ft_font_create' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afglobal.c:363: undefined reference to hb_buffer_create' ./obj/local/arm64-v8a/libfreetype.a(autofit.o): In functionaf_face_globals_free': /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afglobal.c:408: undefined reference to hb_font_destroy' /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project/jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afglobal.c:409: undefined reference tohb_buffer_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:212: error: undefined reference to 'hb_set_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:165: error: undefined reference to 'hb_set_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:213: error: undefined reference to 'hb_ot_layout_collect_lookups' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:166: error: undefined reference to 'hb_ot_layout_collect_lookups' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:224: error: undefined reference to 'hb_set_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:173: error: undefined reference to 'hb_set_is_empty' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:225: error: undefined reference to 'hb_set_next' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:184: error: undefined reference to 'hb_set_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:233: error: undefined reference to 'hb_ot_layout_lookup_collect_glyphs' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:185: error: undefined reference to 'hb_set_next' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:225: error: undefined reference to 'hb_set_next' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:193: error: undefined reference to 'hb_ot_layout_lookup_collect_glyphs' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:185: error: undefined reference to 'hb_set_next' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:280: error: undefined reference to 'hb_ot_layout_lookup_would_substitute' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:212: error: undefined reference to 'hb_set_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:345: error: undefined reference to 'hb_set_subtract' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:385: error: undefined reference to 'hb_set_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:213: error: undefined reference to 'hb_ot_layout_collect_lookups' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:386: error: undefined reference to 'hb_set_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:224: error: undefined reference to 'hb_set_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:387: error: undefined reference to 'hb_set_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:388: error: undefined reference to 'hb_set_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:225: error: undefined reference to 'hb_set_next' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:233: error: undefined reference to 'hb_ot_layout_lookup_collect_glyphs' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:468: error: undefined reference to 'hb_font_set_scale' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:225: error: undefined reference to 'hb_set_next' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:480: error: undefined reference to 'hb_buffer_clear_contents' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:481: error: undefined reference to 'hb_buffer_add_utf8' [x86] Install : libsdl_mixer.so => libs/x86/libsdl_mixer.so install -p ./obj/local/x86/libsdl_mixer.so ./libs/x86/libsdl_mixer.so jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:484: error: undefined reference to 'hb_buffer_guess_segment_properties' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:488: error: undefined reference to 'hb_shape' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:505: error: undefined reference to 'hb_buffer_clear_contents' clang++: error: linker command failed with exit code 1 (use -v to see invocation) jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:506: error: undefined reference to 'hb_buffer_add_utf8' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:280: error: undefined reference to 'hb_ot_layout_lookup_would_substitute' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:507: error: undefined reference to 'hb_buffer_guess_segment_properties' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:345: error: undefined reference to 'hb_set_subtract' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:508: error: undefined reference to 'hb_shape' make: [obj/local/arm64-v8a/libsdl_ttf.so] Error 1 make: Waiting for unfinished jobs.... jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:510: error: undefined reference to 'hb_buffer_get_glyph_infos' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:385: error: undefined reference to 'hb_set_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:511: error: undefined reference to 'hb_buffer_get_glyph_infos' clang++: error: linker command failed with exit code 1 (use -v to see invocation) jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:386: error: undefined reference to 'hb_set_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:525: error: undefined reference to 'hb_buffer_clear_contents' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:387: error: undefined reference to 'hb_set_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:530: error: undefined reference to 'hb_buffer_get_length' make: [obj/local/x86_64/libsdl_ttf.so] Error 1 jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:388: error: undefined reference to 'hb_set_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:557: error: undefined reference to 'hb_buffer_get_glyph_infos' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:558: error: undefined reference to 'hb_buffer_get_glyph_positions' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:468: error: undefined reference to 'hb_font_set_scale' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:480: error: undefined reference to 'hb_buffer_clear_contents' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:481: error: undefined reference to 'hb_buffer_add_utf8' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:484: error: undefined reference to 'hb_buffer_guess_segment_properties' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:488: error: undefined reference to 'hb_shape' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afglobal.c:362: error: undefined reference to 'hb_ft_font_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:505: error: undefined reference to 'hb_buffer_clear_contents' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:506: error: undefined reference to 'hb_buffer_add_utf8' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afglobal.c:408: error: undefined reference to 'hb_font_destroy' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:507: error: undefined reference to 'hb_buffer_guess_segment_properties' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:508: error: undefined reference to 'hb_shape' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:510: error: undefined reference to 'hb_buffer_get_glyph_infos' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:511: error: undefined reference to 'hb_buffer_get_glyph_infos' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:525: error: undefined reference to 'hb_buffer_clear_contents' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:530: error: undefined reference to 'hb_buffer_get_length' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:557: error: undefined reference to 'hb_buffer_get_glyph_infos' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afshaper.c:558: error: undefined reference to 'hb_buffer_get_glyph_positions' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afglobal.c:362: error: undefined reference to 'hb_ft_font_create' jni/../jni/sdl2_ttf/external/freetype-2.10.4/./src/autofit/afglobal.c:408: error: undefined reference to 'hb_font_destroy' clang++: error: linker command failed with exit code 1 (use -v to see invocation) make: [obj/local/x86/libsdl_ttf.so] Error 1 clang++: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [obj/local/armeabi-v7a/libsdl_ttf.so] Error 1 make: Leaving directory `/media/iuri/SamsungEXT4/development/SDK/Android/Sdk/pelya/project'

protoman commented 1 year ago

In case someone else is facing this issue,, I got the build moving ahead by adding the following lines to each command that failed (I do not know how to fix the build scripts themselves): ./obj/local/x86/libfreetype.a \ ./obj/local/x86/libharfbuzz.a \ ./obj/local/x86/libfreetype.a \

Now I am facing another issue: /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -Wl,-soname,libsdl_main.so -shared ./obj/local/x86/objs/sdl_main/sdl_main.o ./obj/local/x86/libfreetype.a ./obj/local/x86/libharfbuzz.a ./obj/local/x86/libfreetype.a -lgcc -Wl,--exclude-libs,libgcc.a -latomic -Wl,--exclude-libs,libatomic.a ./obj/local/x86/libsdl-1.2.so ./obj/local/x86/libapplication.so -target i686-none-linux-android21 -no-canonical-prefixes -Wl,--exclude-libs,libgcc.a -Wl,--build-id -nostdlib++ -Wl,--no-undefined -Wl,-z,noexecstack -Wl,--warn-shared-textrel -Wl,--fatal-warnings -llog -lc -lm -o ./obj/local/x86/libsdl_main.so jni/../jni/sdl_main/sdl_main.c:135: error: undefined reference to 'SDL_main' jni/../jni/sdl_main/sdl_main.c:59: error: undefined reference to 'SDL_main' clang++: error: linker command failed with exit code 1 (use -v to see invocation)

pelya commented 1 year ago

To fix SDL_main issue, add #include to your file where main() is defined, it will redefine 'main' to 'SDL_main' as a macro.

As Android apps are compiled as shared libraries, you cannot use main() as-is, it should be named as something else.

On Sat, 13 Aug 2022, 15:27 Iuri Fiedoruk, @.***> wrote:

In case someone else is facing this issue,, I got the build moving ahead by adding the following lines to each command that failed (I do not know how to fix the build scripts themselves): ./obj/local/x86/libfreetype.a ./obj/local/x86/libharfbuzz.a ./obj/local/x86/libfreetype.a \

Now I am facing another issue: /media/iuri/SamsungEXT4/development/SDK/Android/Sdk/android-ndk-r20/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -Wl,-soname,libsdl_main.so -shared ./obj/local/x86/objs/sdl_main/sdl_main.o ./obj/local/x86/libfreetype.a ./obj/local/x86/libharfbuzz.a ./obj/local/x86/libfreetype.a -lgcc -Wl,--exclude-libs,libgcc.a -latomic -Wl,--exclude-libs,libatomic.a ./obj/local/x86/libsdl-1.2.so ./obj/local/x86/libapplication.so -target i686-none-linux-android21 -no-canonical-prefixes -Wl,--exclude-libs,libgcc.a -Wl,--build-id -nostdlib++ -Wl,--no-undefined -Wl,-z,noexecstack -Wl,--warn-shared-textrel -Wl,--fatal-warnings -llog -lc -lm -o ./obj/local/x86/libsdl_main.so jni/../jni/sdl_main/sdl_main.c:135: error: undefined reference to 'SDL_main' jni/../jni/sdl_main/sdl_main.c:59: error: undefined reference to 'SDL_main' clang++: error: linker command failed with exit code 1 (use -v to see invocation)

— Reply to this email directly, view it on GitHub https://github.com/pelya/commandergenius/issues/145#issuecomment-1214148919, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABF5QEKIWBSTUSXNHSAO4TVY6IE3ANCNFSM56MYWZ4Q . You are receiving this because you are subscribed to this thread.Message ID: @.***>

protoman commented 1 year ago

Yeah, I know, but this error seems to happen well before it reaches my own code,, ut is on the SDL_main lib itself. But no worries, I'll keep trying until I get it working, or cherry pick an older commit.

protoman commented 12 months ago

All right, I took a bit of time and got my build working, but I did need some changes I will describe here so anyone in the future can find it. I had to use -lc++ for the linker in my project, otherwise it would faild due to not finding ndk C++ classes like string and vector. In build.sh, I added the following to copy the lib from NDK to the app, after line ./copyAssets.sh:

pushd project && \ echo "### COPY LIBSTDC++ ###" && \ cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi/libc++_shared.so ./libs/armeabi-v7a/ && \ cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so ./libs/arm64-v8a/ && \ cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/x86_64-linux-android/libc++_shared.so ./libs/x86_64/ && \ cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/i686-linux-android/libc++_shared.so ./project/libs/x86/ && \

Also, the linker was breaking due to the harfbuzz, as previous stated, so I went into sdl_ttf/Android.mk and added it like this, LOCAL_STATIC_LIBRARIES := freetype harfbuzz, and also added it to my AndroidAppSettings.cfg both in CompiledLibraries and AppLdflags.

By looking at the logcat, when running the app, I found an error of it missing libmikmod.so, as the project was building it as static. While it did not crash due to that error, I found better to change it to shared, so in mikmod/Android.mk I used:

LOCAL_LDLIBS := include $(BUILD_STATIC_LIBRARY)

And in mikmod/mdreg.c I had to comment out line //_mm_registerdriver(&drv_raw); And then, I moved the mikmod to shared in libsdl_mixer/Android.mk:

LOCAL_SHARED_LIBRARIES := sdl-1.2 mikmod LOCAL_STATIC_LIBRARIES := flac

Sadly that still did not fix the audio issues playing mod files give in some devices.

With those changes, I was able to finally build my game again with latest version. Once I have a bit of free time, I'll make separate MRs for harbuzz and mikmod fixes.