hyperrogue
                                
                                
                                
                                    hyperrogue copied to clipboard
                            
                            
                            
                        bizarre compiling bug on Raspberry Pi
Some days ago, I tried to compile the version 10.4j on my Raspberry Pi (the OS is Raspbian).
It failed, producing this huge and bizarre output 'output_bug.txt)
It seems from this bizarre output that you are using a rather old gcc (maybe specifying -std=c++11 would help?), and the actual error is that you are trying to compile savepng.c while it has been renamed to savepng.cpp. Does the new Makefile.simple fix these problems?
https://twitter.com/thepracticaldev/status/716390583217029124 suggests that adding -Wno-psabi will silence all the "parameter passing for ... will change in GCC 7.1" warnings. (This became the default in GCC later on.)
The filename savepng-loc.o does suggest that autotools are involved somehow. ;)  I, too, bet that you can fix the problem by doing git pull and then make -f Makefile.simple CXXFLAGS=-Wno-psabi.
Finally, some use for my Pi besides being a fancy dust-collector. So, in order of nondecreasing success:
autotoolsbuild straight up fails due to running out of memory (that being 1G RAM + 1.5G swap), taking the obscenely long 2 hours to get to that point. Doesn't feel worth to test it anymore.Makefile.simplebuild succeeds after ~1 hour. Game runs, albeit sluggishly. More on that later.mymaketakes only about 20 minutes. Game runs same as above.
All the builds were done with GCC 8 -- the latest stable version in the RaspiOS repos. Clang (also far-from-bleeding-edge) is available; haven't tested it.
All produced "notes" about the ABI changed in GCC 7.1. I didn't use any CXXFLAGS beyond those already built-in.
Some words about performance: with default options it's atrocious. Disabling GL, antialiasing and 3D tile display mode, and enabling -O2 brings FPS to about 15-20, which is tolerable. (I seem to recall there being a define-switch for lower-end systems?)
At last, logs for completeness' sake.
Just for fun, I have set up a workflow runner on Pi -- here's an output from it testing mymake build. This one has had -Wno-psabi option patched in, which indeed had resulted in changed in GCC 7.1 notes clearing up. Also, the build time of ~30 minutes is close to the typical value I observed.