compiling wz 3.1.5 on fedora 26

Discuss the future of Warzone 2100 with us.
Post Reply
User avatar
tmp500
Trained
Trained
Posts: 120
Joined: 30 Jun 2010, 16:31

compiling wz 3.1.5 on fedora 26

Post by tmp500 »

any chance to get this compiled? did not have any probems with fedora 25. wz 3.2 compiles fine.

Code: Select all

dnf install SDL SDL-devel gcc-c++ PyQt4-devel libtheora-devel openal-soft-devel libvorbis-devel glew-devel physfs-devel fribidi-devel automake physfs-devel SDL2-devel qt-devel libtheora-devel openal-soft-devel libvorbis-devel glew-devel -y

Code: Select all

./autogen.sh
./configure
make -j8

Code: Select all

g++ -DHAVE_CONFIG_H -I. -I..  -DYY_NO_INPUT -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT   -I/usr/include/libpng16    -I/usr/include/AL    -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DNDEBUG -DWZ_DATADIR="\"/usr/local/share/warzone2100\"" -DLOCALEDIR="\"/usr/local/share/locale\"" -I.. -I../3rdparty -I../3rdparty/quesoglc -I/usr/include/libdrm   -g -Wno-enum-compare -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wcast-align -Wwrite-strings -Wpointer-arith -Wno-format-security -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtScript -DQT_SHARED  -fstack-protector -MT frontend.o -MD -MP -MF .deps/frontend.Tpo -c -o frontend.o frontend.cpp
In file included from ../lib/framework/string_ext.h:24:0,
                 from ../lib/framework/frame.h:40,
                 from droid.cpp:26:
droid.cpp: In function ‘void droidBurn(DROID*)’:
../lib/framework/debug.h:73:2: warning: enum constant in boolean context [-Wint-in-bool-context]
  )
  ^
../lib/framework/debug.h:96:4: note: in expansion of macro ‘ASSERT_FAILURE’
    ASSERT_FAILURE(expr, #expr, location_description, function, __VA_ARGS__) \
    ^~~~~~~~~~~~~~
../lib/framework/debug.h:107:2: note: in expansion of macro ‘ASSERT_HELPER’
  ASSERT_HELPER(expr, AT_MACRO, __FUNCTION__, __VA_ARGS__)
  ^~~~~~~~~~~~~
droid.cpp:666:3: note: in expansion of macro ‘ASSERT’
   ASSERT(LOG_ERROR, "can't burn anything except babarians currently!");
   ^~~~~~
mv -f .deps/e3demo.Tpo .deps/e3demo.Po
g++ -DHAVE_CONFIG_H -I. -I..  -DYY_NO_INPUT -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT   -I/usr/include/libpng16    -I/usr/include/AL    -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DNDEBUG -DWZ_DATADIR="\"/usr/local/share/warzone2100\"" -DLOCALEDIR="\"/usr/local/share/locale\"" -I.. -I../3rdparty -I../3rdparty/quesoglc -I/usr/include/libdrm   -g -Wno-enum-compare -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wcast-align -Wwrite-strings -Wpointer-arith -Wno-format-security -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtScript -DQT_SHARED  -fstack-protector -MT function.o -MD -MP -MF .deps/function.Tpo -c -o function.o function.cpp
fpath.cpp: In function ‘FPATH_RETVAL fpathDroidRoute(DROID*, SDWORD, SDWORD, FPATH_MOVETYPE)’:
fpath.cpp:497:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
   dstStructure = getStructureBounds(psDroid->order.psStats, psDroid->order.pos, psDroid->order.direction);  // Just need to get close enough to build (can be diagonally), do not need to reach the destination tile.
   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fpath.cpp:499:2: note: here
  case DORDER_HELPBUILD:                       // help to build a structure
  ^~~~
challenge.cpp: In function ‘void updateChallenge(bool)’:
challenge.cpp:103:14: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
  if (fStr == '\0')
              ^~~~
mv -f .deps/edit3d.Tpo .deps/edit3d.Po
g++ -DHAVE_CONFIG_H -I. -I..  -DYY_NO_INPUT -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT   -I/usr/include/libpng16    -I/usr/include/AL    -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DNDEBUG -DWZ_DATADIR="\"/usr/local/share/warzone2100\"" -DLOCALEDIR="\"/usr/local/share/locale\"" -I.. -I../3rdparty -I../3rdparty/quesoglc -I/usr/include/libdrm   -g -Wno-enum-compare -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wcast-align -Wwrite-strings -Wpointer-arith -Wno-format-security -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtScript -DQT_SHARED  -fstack-protector -MT game.o -MD -MP -MF .deps/game.Tpo -c -o game.o game.cpp
make[3]: *** [Makefile:976: challenge.o] Error 1
make[3]: *** Waiting for unfinished jobs....
mv -f .deps/fpath.Tpo .deps/fpath.Po
mv -f .deps/feature.Tpo .deps/feature.Po
mv -f .deps/frontend.Tpo .deps/frontend.Po
mv -f .deps/effects.Tpo .deps/effects.Po
mv -f .deps/droid.Tpo .deps/droid.Po
mv -f .deps/function.Tpo .deps/function.Po
game.cpp: In function ‘bool loadSaveDroid(const char*, DROID**)’:
game.cpp:4337:27: warning: this statement may fall through [-Wimplicit-fallthrough=]
   case DROID_TRANSPORTER: ++priority;
                           ^~~~~~~~~~
game.cpp:4338:3: note: here
   case DROID_SUPERTRANSPORTER: ++priority;
   ^~~~
game.cpp:4338:32: warning: this statement may fall through [-Wimplicit-fallthrough=]
   case DROID_SUPERTRANSPORTER: ++priority;
                                ^~~~~~~~~~
game.cpp:4339:3: note: here
   case DROID_COMMAND:     ++priority;
   ^~~~
mv -f .deps/game.Tpo .deps/game.Po
make[3]: Leaving directory '/home/phil/software/warzone2100-3.1.5/src'
make[2]: *** [Makefile:775: all] Error 2
make[2]: Leaving directory '/home/phil/software/warzone2100-3.1.5/src'
make[1]: *** [Makefile:580: all-recursive] Error 1
make[1]: Leaving directory '/home/phil/software/warzone2100-3.1.5'
make: *** [Makefile:500: all] Error 2
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 3780
Joined: 03 Aug 2006, 19:39

Re: compiling wz 3.1.5 on fedora 26

Post by Per »

You mean making another 3.1.x release? Very unlikely.

Fixing it in our 3.1 branch, so people can keep building 3.1 from that? Sure. Just send a patch. Should just be a matter of comparing the relevant lines of code between 3.1 and 3.2.
User avatar
tmp500
Trained
Trained
Posts: 120
Joined: 30 Jun 2010, 16:31

Re: compiling wz 3.1.5 on fedora 26

Post by tmp500 »

too my surprise....figured it out.
changed file src/challenge.cpp line 103
from
if (fStr == '\0')
to
if (*fStr == '\0')

then it complained about file .deps/challenge.tpo permission problems which did not exist, but worked compiling it as root.

dunno if that helps, i am not a programmer. no clue what i just did besides the fact that it is running now :P
Post Reply