Created attachment 205690 [details] stk.patch - add Wayland dependency/option - add one line fix for non-x86 (submitted as https://github.com/supertuxkart/stk-code/pull/3997) — tested on aarch64 One more thing I've discovered is that we have a graphics/squish port (that nothing seems to depend on, yet somehow I've had it installed) and having it installed breaks the build (since it's too old). Once it gets updated, we can depend on it instead of the built-in squish copy.
This does not build at least on armv6: FAILED: lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_arm_gcc.S.o /nxb-bin/usr/bin/cc -DANGELSCRIPT_EXPORT -DNO_IRR_COMPILE_WITH_OPENGL_ -DSUPERTUXKART_VERSION=\"1.0\" -DUSE_GLES2 -D_IRR_COMPILE_WITH_OGLES2_ -D_LIB -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/bullet/src -I/usr/local/include -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/graphics_utils -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/libsquish -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/irrlicht/include -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/src -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/angelscript/projects/cmake/../../include -O3 -DNDEBUG -Wa,-mimplicit-it=always -MD -MT lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_arm_gcc.S.o -MF lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_arm_gcc.S.o.d -o lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_arm_gcc.S.o -c /wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/angelscript/source/as_callfunc_arm_gcc.S cc: error: unsupported argument '-mimplicit-it=always' to option 'Wa,'
Created attachment 207620 [details] stk.patch v2 v2: ok, let's try to fix armv6/7. (also rebased on top of bug 240554, which shouldn't've happened, the as_config.h part from here would've fixed powerpc64)
Piotr, could you please confirm that this does not break powerpc64? Confirmed that it fixes armv6 and arm64. Greg, any idea on how to fix i386? --- FAILED: lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_x86.cpp.o /usr/local/libexec/ccache/c++ -DANGELSCRIPT_EXPORT -DGLEW_NO_GLU -DSUPERTUXKART_VERSION=\"1.0\" -D_LIB -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/bullet/src -I/usr/local/include -I/usr/local/include/libdrm -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/graphics_utils -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/libsquish -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/irrlicht/include -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/src -I/wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/angelscript/projects/cmake/../../include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -DNO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_ -D__FREE_BSD_ -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -DNO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_ -D__FREE_BSD_ -MD -MT lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_x86.cpp.o -MF lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_x86.cpp.o.d -o lib/angelscript/projects/cmake/CMakeFiles/angelscript.dir/__/__/source/as_callfunc_x86.cpp.o -c /wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-1.0/lib/angelscript/source/as_callfunc_x86.cpp error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives error: this directive must appear between .cfi_startproc and .cfi_endproc directives fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. ---
(In reply to Dmitry Marakasov from comment #3) the easiest way would be to use REINPLACE_CMD to remove any lines in that file containing ".cfi_ I'm not sure why the compiler is not emitting call frame information on i386… (it is modern clang, right?) There are no disabling flags in the log here.
(In reply to Dmitry Marakasov from comment #3) In my testing it now fails on ppcports (FreeBSD 12): /wrkdirs/usr/ports/games/supertuxkart/work/supertuxkart-0.9.3/lib/angelscript/source/as_callfunc_x64_gcc.cpp:162:82: error: unknown register name '%rcx' in 'asm'
(In reply to Mark Linimon from comment #5) Wait, 0.9.3?? The version in ports is 1.0. Did the as_config.h patch apply? Can you post as_config.h after running make clean extract patch ?
A commit references this bug: Author: amdmi3 Date: Mon Oct 28 14:06:07 UTC 2019 New revision: 515863 URL: https://svnweb.freebsd.org/changeset/ports/515863 Log: - Add wayland support PR: 239141 Submitted by: greg@unrelenting.technology Changes: head/games/supertuxkart/Makefile
Piotr and Mark have not provided enough feedback on powerpc64/sparc64 builds, so I'm assuming these fixed by the corrected patch-lib_angelscript_source_as__config.h. Assuming mips/mips64 fixed as well - cannot confirm as these fail on libdrm. aarch64 confirmed fixed.
A commit references this bug: Author: amdmi3 Date: Mon Oct 28 20:46:11 UTC 2019 New revision: 515930 URL: https://svnweb.freebsd.org/changeset/ports/515930 Log: - Fix build on non-x86 PR: 239141 Submitted by: greg@unrelenting.technology Changes: head/games/supertuxkart/Makefile head/games/supertuxkart/files/patch-lib_angelscript_source_as__config.h