[MT v5.5.1/5.5.0] Can't compile on Linux [Solved]

Post Reply
User avatar
Saturn
Member
Posts: 57
Joined: Sat Jul 11, 2020 12:03
Location: Lombardy, Italy

[MT v5.5.1/5.5.0] Can't compile on Linux [Solved]

by Saturn » Post

I've tried compiling MT v5.5.1, but got an error, so I rolled back to v5.5.0 and got the same error:

Code: Select all

[ 38%] Building CXX object src/CMakeFiles/minetest.dir/client/content_cao.cpp.o
In file included from /home/user/programs/games/minetest/src/client/gameui.h:25,
                 from /home/user/programs/games/minetest/src/client/client.cpp:31:
/home/user/programs/games/minetest/src/gui/guiFormSpecMenu.h:469:32: error: ‘irr::core::list’ has not been declared
  469 |  void legacySortElements(core::list<IGUIElement *>::Iterator from);
      |                                ^~~~
/home/user/programs/games/minetest/src/gui/guiFormSpecMenu.h:469:36: error: expected ‘,’ or ‘...’ before ‘<’ token
  469 |  void legacySortElements(core::list<IGUIElement *>::Iterator from);
      |                                    ^
In file included from /home/user/programs/games/minetest/src/gui/guiEngine.h:26,
                 from /home/user/programs/games/minetest/src/client/clientlauncher.cpp:31:
/home/user/programs/games/minetest/src/gui/guiFormSpecMenu.h:469:32: error: ‘irr::core::list’ has not been declared
  469 |  void legacySortElements(core::list<IGUIElement *>::Iterator from);
      |                                ^~~~
/home/user/programs/games/minetest/src/gui/guiFormSpecMenu.h:469:36: error: expected ‘,’ or ‘...’ before ‘<’ token
  469 |  void legacySortElements(core::list<IGUIElement *>::Iterator from);
      |                                    ^
[ 38%] Building CXX object src/CMakeFiles/minetest.dir/client/content_cso.cpp.o
make[2]: *** [src/CMakeFiles/minetest.dir/build.make:134: src/CMakeFiles/minetest.dir/client/clientlauncher.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [src/CMakeFiles/minetest.dir/build.make:108: src/CMakeFiles/minetest.dir/client/client.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:698: src/CMakeFiles/minetest.dir/all] Error 2
make: *** [Makefile:171: all] Error 2
Any ideas on how to fix this?
Last edited by Saturn on Thu Jul 07, 2022 19:37, edited 2 times in total.

User avatar
Saturn
Member
Posts: 57
Joined: Sat Jul 11, 2020 12:03
Location: Lombardy, Italy

Re: [MT v5.5.1/5.5.0] Can't compile on Linux

by Saturn » Post

This is what I get when trying to compile MT v5.5.1:

cmake output:

Code: Select all

~/programs/games/minetest$ cmake . -DRUN_IN_PLACE=TRUE
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- *** Will build version 5.5.1 ***
-- Using user-provided IrrlichtMt at subdirectory 'lib/irrlichtmt'
-- *** Building IrrlichtMt 1.9.0 ***
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (found version "62") 
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.6.37") 
-- Looking for _IRR_COMPILE_WITH_OGLES1_
-- Looking for _IRR_COMPILE_WITH_OGLES1_ - not found
-- Looking for _IRR_COMPILE_WITH_OGLES2_
-- Looking for _IRR_COMPILE_WITH_OGLES2_ - not found
-- Looking for _IRR_COMPILE_WITH_OPENGL_
-- Looking for _IRR_COMPILE_WITH_OPENGL_ - found
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so   
-- Looking for _IRR_LINUX_X11_XINPUT2_
-- Looking for _IRR_LINUX_X11_XINPUT2_ - not found
-- Looking for _IRR_COMPILE_WITH_SDL_DEVICE_
-- Looking for _IRR_COMPILE_WITH_SDL_DEVICE_ - not found
-- Found X11: /usr/include   
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Found IrrlichtMt 
-- Using GMP provided by system.
-- Found GMP: /usr/lib/x86_64-linux-gnu/libgmp.so  
-- Using JsonCpp provided by system.
-- Found Json: /usr/lib/x86_64-linux-gnu/libjsoncpp.so  
-- Found LuaJIT: /usr/lib/x86_64-linux-gnu/libluajit-5.1.so  
-- Using LuaJIT provided by system.
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so  
-- cURL support enabled.
-- Found GettextLib: /usr/include  
-- GetText enabled; locales found: ar;be;bg;ca;cs;da;de;dv;el;eo;es;et;eu;fi;fil;fr;gd;gl;he;hi;hu;id;it;ja;jbo;kk;kn;ko;ky;lt;lv;lzh;mr;ms;ms_Arab;nb;nl;nn;pl;pt;pt_BR;ro;ru;sk;sl;sr_Cyrl;sr_Latn;sv;sw;th;tr;tt;uk;vi;yue;zh_CN;zh_TW
-- Found OpenAL: /usr/lib/x86_64-linux-gnu/libopenal.so  
-- Found Vorbis: /usr/include  
-- Sound enabled.
-- Found Freetype: /usr/lib/x86_64-linux-gnu/libfreetype.so (found version "2.10.4") 
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) 
-- ncurses not found!
-- PostgreSQL not found!
-- LevelDB not found!
-- Redis not found!
-- Found SQLite3: /usr/lib/x86_64-linux-gnu/libsqlite3.so  
-- Prometheus client disabled.
-- SpatialIndex not found!
-- Looking for ZSTD_initCStream
-- Looking for ZSTD_initCStream - found
-- Found Zstd: /usr/lib/x86_64-linux-gnu/libzstd.so  
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Looking for include file endian.h
-- Looking for include file endian.h - found
-- Locale blacklist applied; Locales used: be;bg;ca;cs;da;de;el;eo;es;et;eu;fi;fil;fr;gd;gl;hu;id;it;ja;jbo;kk;ko;ky;lt;lv;lzh;mr;ms;nb;nl;nn;pl;pt;pt_BR;ro;ru;sk;sl;sr_Cyrl;sr_Latn;sv;sw;tr;tt;uk;vi;yue;zh_CN;zh_TW
-- Performing Test IS_AARCH64
-- Performing Test IS_AARCH64 - Failed
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/programs/games/minetest
make output:

Code: Select all

~/programs/games/minetest$ make -j4
[  0%] mo update
[  2%] Built target IRRMESHOBJ
[  4%] Built target IRROTHEROBJ
[  4%] Built target GenerateVersion
[ 26%] Built target translations
[ 27%] Built target IRRIOOBJ
[ 31%] Built target IRROBJ
[ 35%] Built target IRRVIDEOOBJ
[ 38%] Built target IRRGUIOBJ
[ 38%] Built target IrrlichtMt
[ 39%] Building CXX object src/CMakeFiles/minetest.dir/client/client.cpp.o
[ 39%] Building CXX object src/CMakeFiles/minetest.dir/client/clientlauncher.cpp.o
[ 39%] Building CXX object src/CMakeFiles/minetest.dir/client/clientmedia.cpp.o
[ 39%] Building CXX object src/CMakeFiles/minetest.dir/client/clientobject.cpp.o
[ 39%] Building CXX object src/CMakeFiles/minetest.dir/client/clouds.cpp.o
In file included from /home/user/programs/games/minetest/src/client/gameui.h:25,
                 from /home/user/programs/games/minetest/src/client/client.cpp:31:
/home/user/programs/games/minetest/src/gui/guiFormSpecMenu.h:469:32: error: ‘irr::core::list’ has not been declared
  469 |  void legacySortElements(core::list<IGUIElement *>::Iterator from);
      |                                ^~~~
/home/user/programs/games/minetest/src/gui/guiFormSpecMenu.h:469:36: error: expected ‘,’ or ‘...’ before ‘<’ token
  469 |  void legacySortElements(core::list<IGUIElement *>::Iterator from);
      |                                    ^
In file included from /home/user/programs/games/minetest/src/gui/guiEngine.h:26,
                 from /home/user/programs/games/minetest/src/client/clientlauncher.cpp:31:
/home/user/programs/games/minetest/src/gui/guiFormSpecMenu.h:469:32: error: ‘irr::core::list’ has not been declared
  469 |  void legacySortElements(core::list<IGUIElement *>::Iterator from);
      |                                ^~~~
/home/user/programs/games/minetest/src/gui/guiFormSpecMenu.h:469:36: error: expected ‘,’ or ‘...’ before ‘<’ token
  469 |  void legacySortElements(core::list<IGUIElement *>::Iterator from);
      |                                    ^
make[2]: *** [src/CMakeFiles/minetest.dir/build.make:134: src/CMakeFiles/minetest.dir/client/clientlauncher.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [src/CMakeFiles/minetest.dir/build.make:108: src/CMakeFiles/minetest.dir/client/client.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:698: src/CMakeFiles/minetest.dir/all] Error 2
make: *** [Makefile:171: all] Error 2

loosewheel
Member
Posts: 155
Joined: Mon Dec 28, 2020 01:19
GitHub: loosewheel
In-game: loosewheel

Re: [MT v5.5.1/5.5.0] Can't compile on Linux

by loosewheel » Post

I’ve compiled 5.5.0 on linux. It was a while ago and don’t remember the specific problems that I had.

irr::core::list is defined in lib/irrlichtmt/include/irrList.h. Just make sure this file, and the irrlichtmt sub-project in general, is there.

You could try and compile the irrlichtmt project. There is a README.md in the irrlichtmt folder. Its a similar cmake then make process. Then run cmake and make on MT and see if that fixes it. This is just a guess though.

User avatar
ROllerozxa
Member
Posts: 157
Joined: Sun Apr 25, 2021 12:25
GitHub: ROllerozxa
IRC: ROllerozxa
In-game: ROllerozxa
Location: Sweden
Contact:

Re: [MT v5.5.1/5.5.0] Can't compile on Linux

by ROllerozxa » Post

You need to compile with a specific version of IrrlichtMt that corresponds to the 5.5.1 release, i.e. 1.9.0mt5.

Unfortunately the engine is allergic to Git submodules so you will have to deal with this yourself, by checking out the proper tag in your local IrrlichtMt source tree.

User avatar
Saturn
Member
Posts: 57
Joined: Sat Jul 11, 2020 12:03
Location: Lombardy, Italy

Re: [MT v5.5.1/5.5.0] Can't compile on Linux

by Saturn » Post

Thanks to both for your help, I have looked on https://github.com/minetest/irrlicht/tags then I've downloaded and installed 1.9.0mt5, and eventually I could compile MT v5.5.1 without any problems.

To any forum moderator/helper/minetest developer:

The current README.md does not specify that you must install a particular version of IrrlichtMT, it just points you to the master version to be downloaded and extracted ( README.md @ 182 ); so it would be better, in my humble opinion, to specify that you must download a specific version.

User avatar
Blockhead
Member
Posts: 1622
Joined: Wed Jul 17, 2019 10:14
GitHub: Montandalar
IRC: Blockhead256
In-game: Blockhead Blockhead256
Location: Land Down Under
Contact:

Re: [MT v5.5.1/5.5.0] Can't compile on Linux

by Blockhead » Post

Saturn wrote:
Thu Jul 07, 2022 19:34
so it would be better, in my humble opinion, to specify that you must download a specific version.
+1, it should be a release task to update the README with an irrlichtMt tag to checkout to build that release with.
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂

Post Reply

Who is online

Users browsing this forum: No registered users and 8 guests