nadult / libfwk

Simple C++/Vulkan framework
Boost Software License 1.0
8 stars 0 forks source link

Build fails on debian arm64 #11

Closed henesy closed 1 month ago

henesy commented 1 month ago

Seems to be due to use of platform-specific asm, is this circumventable?

Platform uname: Linux domelaze 6.10.6-mnt-reform-arm64 #1 SMP Debian 6.10.6-1+reform20240822T112437Z (2024-08-22) aarch64 GNU/Linux

Complete log: https://paste.sr.ht/~henesy/fc5a4a3e94cdc9b3e54c282a6b5ebba1b2f6f215

Probably the most relevant bit:

src/sys/assert.cpp:33:6: error: unrecognized instruction mnemonic, did you mean: bit, cnt, hint, ins, not?
        asm("int $3");
            ^
<inline asm>:1:2: note: instantiated into assembly here
        int $3
        ^
src/sys/assert.cpp:59:6: error: unrecognized instruction mnemonic, did you mean: bit, cnt, hint, ins, not?
        asm("int $3");
            ^
<inline asm>:1:2: note: instantiated into assembly here
        int $3
        ^
3 warnings and 2 errors generated.
make: *** [Makefile:151: build/devel/sys/assert.o] Error 1
nadult commented 1 month ago

Hi, thanks for noticing :) Yes, this is platform-specific (x86) instruction. This should be easily fixable, the only purpose of this instruction is to instruct debugger to break at current instruction. The easiest fix would be to wrap it in #ifdefs and enable it on windows platform only. I will fix it once I get back from holiday :)

nadult commented 1 month ago

Hi, I fixed this issue in the following PR: https://github.com/nadult/libfwk/pull/15 I noticed that you're trying to compile FreeFT. Unfortunately, FreeFT uses an older version of libfwk, so you would have to backport this fix.

nadult commented 1 month ago

I'm planning to port FreeFT to the latest version of libfwk, but I can't promise when I will finish that. It's a low-priority task for me.

nadult commented 1 month ago

Fixed.

henesy commented 1 month ago

Thank you @nadult !! This is awesome :)