karlb / castle-combat

A clone of the old arcade game Rampart. Multiplayer on one computer or via network.
http://www.linux-games.com/castle-combat
Other
14 stars 3 forks source link

builtins.AttributeError: module 'time' has no attribute 'clock' on Fedora 33 #2

Closed szpak closed 3 years ago

szpak commented 3 years ago

I tried to run a version from master on Fedora 33 with locally installed:

python3-twisted-20.3.0-3.fc33.x86_64
python3-numpy-1:1.19.4-1.fc33.x86_64
python3-pygame-1.9.6-9.fc33.x86_64

however, the game hangs after a castle seletion with:

$ ./castle-combat.py
Castle-Combat requires pygame and twisted. If the game doesn't start up correctly, please verify that these are installed in the versions given in requirements.txt.
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
new state <state.MainState object at 0x7f4e97044400>
new state <menu.MenuState object at 0x7f4e97008cd0>
new state <menu.NewGameState object at 0x7f4e908597c0>
new state <server.WaitForPlayersState object at 0x7f4e907e59a0>
Stopping to listen
leaving state <server.WaitForPlayersState object at 0x7f4e907e59a0>
new state <common.info.<locals>.InfoState object at 0x7f4e90859970>
leaving state <common.info.<locals>.InfoState object at 0x7f4e90859970>
assign config 0 to player 0
new state <gamephases.GameState object at 0x7f4e9072d730>
new state <gamephases.AnnouncePhase object at 0x7f4e9072d9d0>
new_house was not possible
new_house was not possible
new_house was not possible
    -- Next Phase --
leaving state <gamephases.AnnouncePhase object at 0x7f4e9072d9d0>
new state <gamephases.SelectPhase object at 0x7f4e907d3b80>
Unhandled Error
Traceback (most recent call last):
  File "src/main.py", line 47, in main
    runStateLoop()
  File "src/state.py", line 132, in runStateLoop
    reactor.run()
  File "/usr/lib64/python3.9/site-packages/twisted/internet/base.py", line 1283, in run
    self.mainLoop()
  File "/usr/lib64/python3.9/site-packages/twisted/internet/base.py", line 1292, in mainLoop
    self.runUntilCurrent()
--- <exception caught here> ---
  File "/usr/lib64/python3.9/site-packages/twisted/internet/base.py", line 913, in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "src/state.py", line 118, in stateLoop
    d = top_state.on_event(event)
  File "src/state.py", line 74, in on_event
    return handler(top_state, event)
  File "src/gamephases.py", line 76, in handle_keypress
    player.handle_event(event)
  File "src/player.py", line 168, in handle_event
    self.phase_player.handle_event(*args, **kwargs)
  File "src/selectplayer.py", line 77, in handle_event
    self.confirm_select()
  File "src/network.py", line 60, in <lambda>
    return lambda *args, **kwargs: delegate_and_call(method_name, *args, **kwargs)
  File "src/network.py", line 52, in delegate_and_call
    getattr(to_class, method_name)(self, *args, **kwargs)
  File "src/selectplayer.py", line 62, in confirm_select
    game.field.look_for_secured_areas(self.player)
  File "src/field.py", line 328, in look_for_secured_areas
    t1 = time.clock()
builtins.AttributeError: module 'time' has no attribute 'clock'

requirements.txt doesn't provide any version numbers, so I don't know what twisted versions are supported.

Update. It was a quick check to find a reason. #3 should fix that.