Clone the git repos at (...) Build and install Corona and Audiere. Then, download, build,and install SpiderMonkey (contemporarily just called JS)Then, you should be able to build my fork of Sphere.
winetricks mfc42
I recently hacked up the Sphere source to compile on Linux again. I was working with DaVince to get it set up for him, but that effort stalled. I didn't plan on posting up any instructions until that succeeded.
To be sure, this isn't as simple as running an installer.If you have trouble or are confused at any point, I can help. Just ask
@pancakes4ever I hope you are not a GUI-only Ubuntu user
If you want the Windows version to work well on Wine, do the following:Get Winetricks (it's in the package repo). Run:Code: [Select]winetricks mfc42Now you'll be able to open both the engine and included editor with Wine through your file manager.
g++ -o source/engine/engine -lpng -lz -lz -lpng source/engine/SpritesetServer.o source/engine/benchmark.o source/engine/engine.o source/engine/log.o source/engine/map_engine.o source/engine/render.o source/engine/rendersort.o source/engine/parameters.o source/engine/script.o source/engine/sfont.o source/engine/sfxr.o source/engine/simage.o source/engine/smap.o source/engine/sphere.o source/engine/ssfxr.o source/engine/sspriteset.o source/engine/swindowstyle.o source/engine/PlayerConfig.o -Lsource/common -Lsource/particle_engine -L/usr/lib/x86_64-linux-gnu -Lsource/engine/unix -lcommon -laudiere -lcorona -lmng -ljpeg -lz -lparticle_engine -lSDL -lunix -ldl -ljs/usr/local/lib/libcorona.so: undefined reference to `png_set_error_fn'/usr/local/lib/libcorona.so: undefined reference to `png_create_info_struct'/usr/local/lib/libcorona.so: undefined reference to `png_sig_cmp'/usr/local/lib/libcorona.so: undefined reference to `png_read_png'/usr/local/lib/libcorona.so: undefined reference to `png_malloc'/usr/local/lib/libcorona.so: undefined reference to `png_get_io_ptr'/usr/local/lib/libcorona.so: undefined reference to `png_set_read_fn'/usr/local/lib/libcorona.so: undefined reference to `png_destroy_read_struct'/usr/local/lib/libcorona.so: undefined reference to `png_set_IHDR'/usr/local/lib/libcorona.so: undefined reference to `png_set_rows'/usr/local/lib/libcorona.so: undefined reference to `png_destroy_write_struct'/usr/local/lib/libcorona.so: undefined reference to `png_get_bit_depth'/usr/local/lib/libcorona.so: undefined reference to `png_create_read_struct'/usr/local/lib/libcorona.so: undefined reference to `png_set_sig_bytes'/usr/local/lib/libcorona.so: undefined reference to `png_get_channels'/usr/local/lib/libcorona.so: undefined reference to `png_get_tRNS'/usr/local/lib/libcorona.so: undefined reference to `png_get_image_height'/usr/local/lib/libcorona.so: undefined reference to `png_write_png'/usr/local/lib/libcorona.so: undefined reference to `png_get_rows'/usr/local/lib/libcorona.so: undefined reference to `png_set_write_fn'/usr/local/lib/libcorona.so: undefined reference to `png_get_image_width'/usr/local/lib/libcorona.so: undefined reference to `png_get_PLTE'/usr/local/lib/libcorona.so: undefined reference to `png_create_write_struct'/usr/local/lib/libcorona.so: undefined reference to `png_error'/usr/local/lib/libcorona.so: undefined reference to `png_free'/usr/local/lib/libcorona.so: undefined reference to `png_set_PLTE'
#if (PNG_LIBPNG_VER < 12000)
You're going to need those if statements.Near the top of the file OpenPNG.cpp, you should see this:Code: [Select]#if (PNG_LIBPNG_VER < 12000)The quick fix is to change it from < to >. You have one of the versions of LibPNG that land on the wrong side of my assumptions about the API.The real fix for this is to find out when png_struct was removed, and what the PNG_LIBPNG_VER definition was for that version, and check against that. I tried to figure it out, but in the I just took a guess, which is clearly not really correct.
./engine: error while loading shared libraries: libunix.so: cannot open shared object file: No such file or directory
engine: source/common/Map.cpp:141: LAYER_HEADER_AssertStructSize__::LAYER_HEADER_AssertStructSize__(): Assertion `sizeof(LAYER_HEADER) == 30' failed.Aborted (core dumped)