prepare.sh fails (WSL)
In file included from src/ftsupport.c:1: src/pyfreetype.h:1:10: fatal error: ft2build.h: No such file or directory 1 | #include <ft2build.h> | ^~~~~~~~~~~~ In file included from src/ftsupport.c:1: src/pyfreetype.h:1:10: fatal error: ft2build.h: No such file or directory 1 | #include <ft2build.h> | ^~~~~~~~~~~~ compilation terminated. compilation terminated. In file included from tmp/gen3/renpy.display.accelerator.c:1227: /mnt/c/Users/hunte/renpy-build/pygame_sdl2/src/pygame_sdl2/pygame_sdl2.h:4:10: fatal error: pygame_sdl2/pygame_sdl2.rwobject_api.h: No such file or directory 4 | #include "pygame_sdl2/pygame_sdl2.rwobject_api.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. In file included from tmp/gen3/renpy.gl2.gl2texture.c:1228: /mnt/c/Users/hunte/renpy-build/pygame_sdl2/src/pygame_sdl2/pygame_sdl2.h:4:10: fatal error: pygame_sdl2/pygame_sdl2.rwobject_api.h: No such file or directory 4 | #include "pygame_sdl2/pygame_sdl2.rwobject_api.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. In file included from tmp/gen3/renpy.gl2.gl2draw.c:1230: /mnt/c/Users/hunte/renpy-build/pygame_sdl2/src/pygame_sdl2/pygame_sdl2.h:4:10: fatal error: pygame_sdl2/pygame_sdl2.rwobject_api.h: No such file or directory 4 | #include "pygame_sdl2/pygame_sdl2.rwobject_api.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. In file included from src/core.c:4: /mnt/c/Users/hunte/renpy-build/pygame_sdl2/src/pygame_sdl2/pygame_sdl2.h:4:10: fatal error: pygame_sdl2/pygame_sdl2.rwobject_api.h: No such file or directory 4 | #include "pygame_sdl2/pygame_sdl2.rwobject_api.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. In file included from src/renpysound_core.c:30: /mnt/c/Users/hunte/renpy-build/pygame_sdl2/src/pygame_sdl2/pygame_sdl2.h:4:10: fatal error: pygame_sdl2/pygame_sdl2.rwobject_api.h: No such file or directory 4 | #include "pygame_sdl2/pygame_sdl2.rwobject_api.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. tmp/gen3/renpy.gl2.assimp.cc:1239:10: fatal error: pygame_sdl2/pygame_sdl2.h: No such file or directory 1239 | #include "pygame_sdl2/pygame_sdl2.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. error: command '/usr/bin/gcc' failed with exit code 1
I encountered this error and resolved it.
It's due to an incorrect buildstep.
Which environment are you running your build in, how is your tars/ set up, and which platform and architecture are you building for?
I solved the problem by adding the path command before running it.
I solved the problem by adding the path command before running it.
I found the same error, could you tell me in more detail how you solved it?
Problem for me was that '~/.local/bin' wasn't in my path, yet. The prepare assumes that this location is in your path. When it isn't it will fail the last step of prepare, because it can't find 'uv'. When 'uv' is get installed it output information about this (it still visible when prepare fails). It tells you to restart shell or run 'source $HOME/.local/bin/env'. I did last option and re-run prepare. That solved for me the missing header file.
For me I now looking for how to build without live2d. Because I'm not interesting in that and don't what to agree with some vague conditions. Also not sure if I can download after agreeing the right version that is stated in the tars readme file.
renpy-build should build without the Live2D file. It should just skip it if it's not found.
It didn't for me. But I found in a other issue about prepare.sh failing a link to the live2d. I got that, that part is now working.
But now I have the same issue that is mentioned there that it fails on the steam api.
Last lines of building output:
Can't list '/root/renpy-build/tmp/py3/steam'
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/root/renpy-build/renpybuild/__main__.py", line 222, in <module>
main()
File "/root/renpy-build/renpybuild/__main__.py", line 211, in main
args.function(args)
File "/root/renpy-build/renpybuild/__main__.py", line 104, in build
task.run(context)
File "/root/renpy-build/renpybuild/task.py", line 94, in run
self.function(context)
File "/root/renpy-build/tasks/pythonlib.py", line 259, in python3
raise Exception(f"Unused rules: {rules - used_rules}")
Exception: Unused rules: {'steamapi'}
So I uncommented the line mentioned in other issue in 'pythonlib.py' and now it finished successfully.
Line 255:
'''
# used_rules.add("steamapi")
'''
It also runs. At least some success.
My setup is linux using a docker image ubuntu:24.04. After running (successful) prepare I made a commit of the docker image. That image I'm using to build renpy. (I mounted a folder from my home directory into the docker and using it as check-out point of renpy-build)
Also I build only linux x86_64. If I just run build without parameters it fails on a chroot for aarch64 build, but for me that isn't important or an issue. As long I think about providing the platform and architecture when building.
I'm already happy that I got this far.