-
Notifications
You must be signed in to change notification settings - Fork 28
Description
Describe the bug
I recently got a Raspberry Pi 4, and decided it would be fun to use it as a CI runner for Wurst map builds. Since this is Java, it must simply work anywhere, right? Turns out, it almost works! However, it seems the output map has an empty war3map.j, even though the code is correctly compiled and saved in temp/output.j.
Environment is a Raspberry Pi 4 (ARM linux), with Java version:
openjdk 11.0.9.1 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-post-Raspbian-1deb10u2)
OpenJDK Server VM (build 11.0.9.1+1-post-Raspbian-1deb10u2, mixed mode)
Starting only with my map project and WurstSetup.jar:
java -jar WurstSetup.jar install wurstscriptjava -jar ~/.wurst/WurstSetup.jar installjava -jar ~/.wurst/WurstSetup.jar build base.w3x -runcompiletimefunctions -injectobjects -stacktraces -noExtractMapScript -opt- I move the output map in
_buildto a Windows machine and inspect with an MPQ editor. Everything looks good exceptwar3map.jis 0 bytes.temp/output.jhas all the code, though...
EDIT: I also tried replacing all java -jar ~/.wurst/WurstSetup.jar commands with the standard ~/.wurst/grill - same results.
Speculation
When I do a Windows build, compiler.log at first is similar/equal to the one in the Pi. After build is done, the previous logs get totally overwritten, and in the new ones, there is a final MPQ editing section with just Added file war3map.j and a few others. This suggests to me that there are 2 MPQ editing/packing passes in the Wurst build, # 1 with almost everything except the war3map.j, and # 2 with the rest. It's possible that the 2nd one just isn't running on the Pi. There is no Added file war3map.j log there.
EDIT: Just saw #937, not sure if that would address this. not relevant, nvm