Error compiling Cython file: ------------------------------------------------------------ ... # the counter can be made to increase faster by writing to DIV while its relevant bit is set (which # clears DIV, and triggers the falling edge). if self.timer.DIV & (0b1_0000 << self.sound.speed_shift): self.sound.tick(self.cpu.cycles) # Process outstanding cycles # TODO: Force a falling edge tick self.sound.reset_apu_div() ^ ------------------------------------------------------------ pyboy/core/mb.py:563:48: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... if self.timer.DIV & (0b1_0000 << self.sound.speed_shift): self.sound.tick(self.cpu.cycles) # Process outstanding cycles # TODO: Force a falling edge tick self.sound.reset_apu_div() self.timer.reset() ^ ------------------------------------------------------------ pyboy/core/mb.py:565:36: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... elif i == 0xFF07: self.timer.TAC = value & 0b111 # TODO: Move logic to Timer class elif i == 0xFF0F: self.cpu.interrupts_flag_register = value elif 0xFF10 <= i < 0xFF40: self.sound.tick(self.cpu.cycles) ^ ------------------------------------------------------------ pyboy/core/mb.py:575:31: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... self.timer.TAC = value & 0b111 # TODO: Move logic to Timer class elif i == 0xFF0F: self.cpu.interrupts_flag_register = value elif 0xFF10 <= i < 0xFF40: self.sound.tick(self.cpu.cycles) self.sound.set(i - 0xFF10, value) ^ ------------------------------------------------------------ pyboy/core/mb.py:576:30: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... self.cpu.interrupts_flag_register = value elif 0xFF10 <= i < 0xFF40: self.sound.tick(self.cpu.cycles) self.sound.set(i - 0xFF10, value) elif 0xFF40 <= i <= 0xFF4B: lcd_interrupt = self.lcd.tick(self.cpu.cycles) ^ ------------------------------------------------------------ pyboy/core/mb.py:578:45: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... self.sound.tick(self.cpu.cycles) self.sound.set(i - 0xFF10, value) elif 0xFF40 <= i <= 0xFF4B: lcd_interrupt = self.lcd.tick(self.cpu.cycles) if lcd_interrupt: self.cpu.set_interruptflag(lcd_interrupt) ^ ------------------------------------------------------------ pyboy/core/mb.py:580:46: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... lcd_interrupt = self.lcd.tick(self.cpu.cycles) if lcd_interrupt: self.cpu.set_interruptflag(lcd_interrupt) if i == 0xFF40: self.lcd.set_lcdc(value) ^ ------------------------------------------------------------ pyboy/core/mb.py:583:37: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... self.cpu.set_interruptflag(lcd_interrupt) if i == 0xFF40: self.lcd.set_lcdc(value) elif i == 0xFF41: self.lcd._STAT.set(value) ^ ------------------------------------------------------------ pyboy/core/mb.py:585:38: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... # LCDC Read-only return elif i == 0xFF45: self.lcd.LYC = value elif i == 0xFF46: self.transfer_DMA(value) ^ ------------------------------------------------------------ pyboy/core/mb.py:596:37: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... elif i == 0xFF45: self.lcd.LYC = value elif i == 0xFF46: self.transfer_DMA(value) elif i == 0xFF47: if self.lcd.BGP.set(value): ^ ------------------------------------------------------------ pyboy/core/mb.py:598:39: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... elif i == 0xFF46: self.transfer_DMA(value) elif i == 0xFF47: if self.lcd.BGP.set(value): # TODO: Move out of MB self.lcd.renderer.clear_tilecache(0) ^ ------------------------------------------------------------ pyboy/core/mb.py:600:57: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... elif i == 0xFF47: if self.lcd.BGP.set(value): # TODO: Move out of MB self.lcd.renderer.clear_tilecache(0) elif i == 0xFF48: if self.lcd.OBP0.set(value): ^ ------------------------------------------------------------ pyboy/core/mb.py:602:40: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... # TODO: Move out of MB self.lcd.renderer.clear_tilecache(0) elif i == 0xFF48: if self.lcd.OBP0.set(value): # TODO: Move out of MB self.lcd.renderer.clear_spritecache(0) ^ ------------------------------------------------------------ pyboy/core/mb.py:604:59: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... elif i == 0xFF48: if self.lcd.OBP0.set(value): # TODO: Move out of MB self.lcd.renderer.clear_spritecache(0) elif i == 0xFF49: if self.lcd.OBP1.set(value): ^ ------------------------------------------------------------ pyboy/core/mb.py:606:40: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... # TODO: Move out of MB self.lcd.renderer.clear_spritecache(0) elif i == 0xFF49: if self.lcd.OBP1.set(value): # TODO: Move out of MB self.lcd.renderer.clear_spritecache(1) ^ ------------------------------------------------------------ pyboy/core/mb.py:608:59: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... # CGB registers elif self.cgb and i == 0xFF4D: self.key1 = value self.cpu.bail = True elif self.cgb and i == 0xFF4F: self.lcd.vbk.set(value) ^ ------------------------------------------------------------ pyboy/core/mb.py:626:32: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... elif self.cgb and i == 0xFF53: self.hdma.hdma3 = value # & 0x1F elif self.cgb and i == 0xFF54: self.hdma.hdma4 = value # & 0xF0 elif self.cgb and i == 0xFF55: self.hdma.set_hdma5(value, self) ^ ------------------------------------------------------------ pyboy/core/mb.py:636:35: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... self.hdma.hdma4 = value # & 0xF0 elif self.cgb and i == 0xFF55: self.hdma.set_hdma5(value, self) self.cpu.bail = True elif self.cgb and i == 0xFF68: self.lcd.bcps.set(value) ^ ------------------------------------------------------------ pyboy/core/mb.py:639:33: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... self.hdma.set_hdma5(value, self) self.cpu.bail = True elif self.cgb and i == 0xFF68: self.lcd.bcps.set(value) elif self.cgb and i == 0xFF69: self.lcd.bcpd.set(value) ^ ------------------------------------------------------------ pyboy/core/mb.py:641:33: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... self.cpu.bail = True elif self.cgb and i == 0xFF68: self.lcd.bcps.set(value) elif self.cgb and i == 0xFF69: self.lcd.bcpd.set(value) self.lcd.renderer.clear_tilecache(0) ^ ------------------------------------------------------------ pyboy/core/mb.py:642:49: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... elif self.cgb and i == 0xFF68: self.lcd.bcps.set(value) elif self.cgb and i == 0xFF69: self.lcd.bcpd.set(value) self.lcd.renderer.clear_tilecache(0) self.lcd.renderer.clear_tilecache(1) ^ ------------------------------------------------------------ pyboy/core/mb.py:643:49: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... elif self.cgb and i == 0xFF69: self.lcd.bcpd.set(value) self.lcd.renderer.clear_tilecache(0) self.lcd.renderer.clear_tilecache(1) elif self.cgb and i == 0xFF6A: self.lcd.ocps.set(value) ^ ------------------------------------------------------------ pyboy/core/mb.py:645:33: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... self.lcd.renderer.clear_tilecache(0) self.lcd.renderer.clear_tilecache(1) elif self.cgb and i == 0xFF6A: self.lcd.ocps.set(value) elif self.cgb and i == 0xFF6B: self.lcd.ocpd.set(value) ^ ------------------------------------------------------------ pyboy/core/mb.py:647:33: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... self.lcd.renderer.clear_tilecache(1) elif self.cgb and i == 0xFF6A: self.lcd.ocps.set(value) elif self.cgb and i == 0xFF6B: self.lcd.ocpd.set(value) self.lcd.renderer.clear_spritecache(0) ^ ------------------------------------------------------------ pyboy/core/mb.py:648:51: Calling gil-requiring function not allowed without gil Error compiling Cython file: ------------------------------------------------------------ ... elif self.cgb and i == 0xFF6A: self.lcd.ocps.set(value) elif self.cgb and i == 0xFF6B: self.lcd.ocpd.set(value) self.lcd.renderer.clear_spritecache(0) self.lcd.renderer.clear_spritecache(1) ^ ------------------------------------------------------------ pyboy/core/mb.py:649:51: Calling gil-requiring function not allowed without gil Traceback (most recent call last): File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/pyboy/arm64-v8a__ndk_target_21/pyboy/setup.py", line 117, in setup( File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages/setuptools/__init__.py", line 153, in setup return distutils.core.setup(**attrs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/core.py", line 148, in setup dist.run_commands() File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/dist.py", line 966, in run_commands self.run_command(cmd) File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages/setuptools/command/install.py", line 61, in run return orig.install.run(self) ^^^^^^^^^^^^^^^^^^^^^^ File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/install.py", line 568, in run self.run_command('build') File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/command/build.py", line 135, in run self.run_command(cmd_name) File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/dist.py", line 983, in run_command cmd_obj = self.get_command_obj(command) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/dist.py", line 858, in get_command_obj cmd_obj = self.command_obj[command] = klass(self) ^^^^^^^^^^^ File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages/setuptools/__init__.py", line 172, in __init__ _Command.__init__(self, dist) File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/Lib/distutils/cmd.py", line 62, in __init__ self.initialize_options() File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/pyboy/arm64-v8a__ndk_target_21/pyboy/setup.py", line 76, in initialize_options self.distribution.ext_modules = cythonize( ^^^^^^^^^^ File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages/Cython/Build/Dependencies.py", line 1115, in cythonize cythonize_one(*args) File "/home/sergio/work/Linked_crystal_monorepo/packages/app/APKbuilder/.buildozer/android/platform/build-arm64-v8a/build/other_builds/hostpython3/desktop/hostpython3/native-build/Lib/site-packages/Cython/Build/Dependencies.py", line 1238, in cythonize_one raise CompileError(None, pyx_file) Cython.Compiler.Errors.CompileError: pyboy/core/mb.py