FluffyStuff / OpenRiichi

An open source riichi mahjong client
GNU General Public License v3.0
107 stars 17 forks source link

Cannot build on debian sid x64 #24

Closed phoe closed 4 years ago

phoe commented 4 years ago
┌─[phoe][phoetower][±][master ✓][/tmp/foo/OpenRiichi]
└─▪ make release
valac -o bin/OpenRiichi ../Engine/*.vala ../Engine/Audio/*.vala ../Engine/Files/*.vala ../Engine/Helper/*.vala ../Engine/Properties/*.vala ../Engine/Rendering/*.vala ../Engine/Rendering/OpenGLRenderer/*.vala ../Engine/Window/*.vala ../Engine/Window/Controls/*.vala source/*.vala source/Game/*.vala source/Game/Logic/*.vala source/Game/Rendering/*.vala source/Game/Rendering/Menu/*.vala source/GameServer/Bots/*.vala source/GameServer/GameState/*.vala source/GameServer/Server/*.vala source/MainMenu/*.vala source/MainMenu/Lobby/*.vala --thread --target-glib 2.32 --pkg gio-2.0 --pkg glew --pkg gee-0.8 --pkg gl --pkg SDL2_image --pkg sdl2 --pkg stb --pkg pangoft2 --pkg sfml-audio --pkg sfml-system --pkg zlib --pkg win32 -X -lcsfml-audio -X -lcsfml-system -X -Iinclude -X -lm --vapidir=vapi -X -w -X -DGLEW_NO_GLU -D LINUX
Command-line option `--thread` is deprecated and will be ignored
gee-0.8.vapi:15.3-15.26: warning: Creation method of abstract class cannot be public.
        public AbstractBidirList ();
        ^^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:21.3-21.31: warning: Creation method of abstract class cannot be public.
        public AbstractBidirSortedMap ();
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:27.3-27.31: warning: Creation method of abstract class cannot be public.
        public AbstractBidirSortedSet ();
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:33.3-33.27: warning: Creation method of abstract class cannot be public.
        public AbstractCollection ();
        ^^^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:46.3-46.21: warning: Creation method of abstract class cannot be public.
        public AbstractList ();
        ^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:58.3-58.20: warning: Creation method of abstract class cannot be public.
        public AbstractMap ();
        ^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:78.3-78.25: warning: Creation method of abstract class cannot be public.
        public AbstractMultiMap (Gee.Map<K,Gee.Collection<V>> storage_map);
        ^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:87.3-87.25: warning: Creation method of abstract class cannot be public.
        public AbstractMultiSet (Gee.Map<G,int> storage_map);
        ^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:99.3-99.22: warning: Creation method of abstract class cannot be public.
        public AbstractQueue ();
        ^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:108.3-108.20: warning: Creation method of abstract class cannot be public.
        public AbstractSet ();
        ^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:113.3-113.26: warning: Creation method of abstract class cannot be public.
        public AbstractSortedMap ();
        ^^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:122.3-122.26: warning: Creation method of abstract class cannot be public.
        public AbstractSortedSet ();
        ^^^^^^^^^^^^^^^^^^^^^^^^
gee-0.8.vapi:657.4-657.15: warning: Creation method of abstract class cannot be public.
            public Entry ();
            ^^^^^^^^^^^^
../Engine/Rendering/RenderObject3D.vala:3.5-3.25: error: Creation method of abstract class cannot be public.
    public RenderObject3D(RenderModel model, RenderMaterial material)
    ^^^^^^^^^^^^^^^^^^^^^
../Engine/Rendering/RenderTarget.vala:36.5-36.23: error: Creation method of abstract class cannot be public.
    public RenderTarget(IWindowTarget window)
    ^^^^^^^^^^^^^^^^^^^
../Engine/Window/RenderWindow.vala:11.5-11.23: error: Creation method of abstract class cannot be public.
    public RenderWindow(IWindowTarget window, RenderTarget renderer)
    ^^^^^^^^^^^^^^^^^^^
../Engine/Window/Controls/ListControl.vala:13.5-13.22: error: Creation method of abstract class cannot be public.
    public ListControl(bool row_selectable)
    ^^^^^^^^^^^^^^^^^^
source/Game/Logic/GameLog.vala:127.5-127.22: error: Creation method of abstract class cannot be public.
    public GameLogLine(TimeStamp timestamp)
    ^^^^^^^^^^^^^^^^^^
source/Game/Rendering/RenderAction.vala:5.5-5.23: error: Creation method of abstract class cannot be public.
    public RenderAction(float time)
    ^^^^^^^^^^^^^^^^^^^
source/GameServer/Server/ServerPlayer.vala:5.9-5.27: error: Creation method of abstract class cannot be public.
        public ServerPlayer(string name, bool bot)
        ^^^^^^^^^^^^^^^^^^^
source/MainMenu/OptionsMenuView.vala:120.5-120.29: error: Creation method of abstract class cannot be public.
    public SubOptionsMenuView(string name, Options options, string apply_text, string back_text, int padding)
    ^^^^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 8 error(s), 13 warning(s)
make: *** [Makefile:63: release] Błąd 1
FluffyStuff commented 4 years ago

This should be fixed now.

phoe commented 4 years ago

Still broken.

┌─[phoe][phoetower][±][master ✓][/tmp/OpenRiichi]
└─▪ LANG=C make release
make: *** No rule to make target 'release'.  Stop.

The README should be updated to use the new linuxRelease option instead.

phoe commented 4 years ago

Even after successfully issuing make linuxRelease, I cannot get it to run. It does not find libengine.so even though the library is there.

┌─[phoe][phoetower][±][master ✓][/tmp/OpenRiichi]
└─▪ make linuxRelease
make -C ../Engine linuxRelease
make[1]: Wejście do katalogu '/tmp/Engine'
valac --library=libengine --vapi bin/libengine.vapi -X -Ofast -X -shared -X -fPIC -H bin/libengine.h -o bin/libengine.so *.vala Audio/*.vala Files/*.vala Helper/*.vala Properties/*.vala Rendering/*.vala Rendering/OpenGLRenderer/*.vala Rendering/OpenGLRenderer/Shaders/*.vala Rendering/Resources/*.vala Rendering/World/*.vala Window/*.vala Window/Controls/*.vala --thread --target-glib 2.54 --pkg gio-2.0 --pkg glew --pkg gee-0.8 --pkg gl --pkg SDL2_image --pkg sdl2 --pkg stb --pkg pangoft2 --pkg sfml-audio --pkg sfml-system --pkg zlib -X -Iinclude -X -lcsfml-audio -X -lcsfml-system -X -lm --vapidir=vapi -X -w -X -DGLEW_NO_GLU -D LINUX
Command-line option `--thread` is deprecated and will be ignored
make[1]: Opuszczenie katalogu '/tmp/Engine'
cp ../Engine/bin/libengine.so bin
valac -o bin/OpenRiichi source/*.vala source/Game/*.vala source/Game/Logic/*.vala source/Game/Rendering/*.vala source/Game/Rendering/Menu/*.vala source/GameServer/Bots/*.vala source/GameServer/GameState/*.vala source/GameServer/Server/*.vala source/MainMenu/*.vala source/MainMenu/Lobby/*.vala source/Tests/*.vala --pkg gee-0.8 --pkg gio-2.0 --pkg win32 --pkg libengine -X -L../Engine/bin -X -I../Engine/bin -X -lengine --vapidir=vapi --vapidir=../Engine/bin -X -w -X -Ofast -D LINUX

┌─[phoe][phoetower][±][master ✓][/tmp/OpenRiichi]
└─▪ bin/OpenRiichi 
bin/OpenRiichi: error while loading shared libraries: libengine.so: cannot open shared object file: No such file or directory

┌─[phoe][phoetower][±][master ✓][/tmp/OpenRiichi]
└─▪ cd bin && ./OpenRiichi
./OpenRiichi: error while loading shared libraries: libengine.so: cannot open shared object file: No such file or directory

┌─[phoe][phoetower][±][master ✓][/tmp/OpenRiichi/bin]
└─▪ ls
Data  libengine.so  OpenRiichi
FluffyStuff commented 4 years ago

Right. Now it should work (hopefully).

phoe commented 4 years ago

Yay! It works once I am in the bin directory.

However, it spams the terminal window with hundreds of failed assertions per second.

...
[2020-04-11_23-17-57] ERROR from glib(01): engine_render_texture_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_render_texture_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_render_texture_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
[2020-04-11_23-17-57] ERROR from glib(01): engine_open_gl_renderer_open_gl_texture_resource_handle_get_handle: assertion 'self != NULL' failed
...

I guess that is worth another ticket though.