You are not logged in.

#1 2020-02-15 16:27:57

kamelie1706
Member
Registered: 2014-02-19
Posts: 176

Dynablaster Revenge - Challenge to install on archlinux

Hi,

I think this is one of the best active version reminding me atomic bomberman!
The project is maintained in git hub here
https://github.com/varnholt/dynablaster_revenge
... which require jmon to compile

I could not find a jmon package for arch, so I went trying compiling it from the project git
https://wiki.qt.io/Jom
git clone git://code.qt.io/qt-labs/jom.git
qmake -r

 
Reading /home/cyril/src/jom/src/app/app.pro
Reading /home/cyril/src/jom/src/jomlib/jomlib.pro
Project MESSAGE: Can't locate path to MSYS. This is needed for flex.
Reading /home/cyril/src/jom/tests/tests.pro

does not look good ... and on the top of that could not find arch package for nmake

There used to be an AUR package
https://aur.archlinux.org/packages/dynablaster-revenge/
... but not there anymore
I am wondering if the whole challenge was why the package maintainer give up ...

I am willing to learn & maintain an AUR package just for this game :-D ... but first I need to find a way to install from the official project git!
Anyone interested?

Offline

#2 2020-02-16 15:05:08

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,922

Re: Dynablaster Revenge - Challenge to install on archlinux

jom is a clone of nmake to support the execution of multiple independent commands in parallel. It basically adds the -j command line switch similar to GNU make.

Nmake appears to be a replacement for gnu make on systems running MS windows .
https://docs.microsoft.com/en-us/cpp/bu … ew=vs-2019

I doubt jom is needed on linux , just try to build with make  :

qmake-qt5
make

Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2020-02-16 16:26:51

kamelie1706
Member
Registered: 2014-02-19
Posts: 176

Re: Dynablaster Revenge - Challenge to install on archlinux

Yep I figure it out ... I am now trying to compile jom with make

cd src/jomlib/ && ( test -e Makefile || /usr/bin/qmake -o Makefile /home/cyril/src/jom/src/jomlib/jomlib.pro ) && make -f Makefile 
make[1]: Entering directory '/home/cyril/src/jom/src/jomlib'
make -f Makefile.Release all
make[2]: Entering directory '/home/cyril/src/jom/src/jomlib'
g++ -c -pipe -O2 -fPIC -D_REENTRANT -Wall -Wextra -D_CRT_SECURE_NO_WARNINGS -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DUSE_QPROCESS -DQT_NO_DEBUG -DQT_CORE_LIB -I. -isystem /usr/include/qt -isystem /usr/include/qt/QtCore -Irelease -I/usr/lib/qt/mkspecs/linux-g++ -o release/fastfileinfo.o fastfileinfo.cpp
fastfileinfo.cpp:31:10: fatal error: windows.h: No such file or directory
   31 | #include <windows.h>
      |          ^~~~~~~~~~~
compilation terminated.
make[2]: *** [Makefile.Release:557: release/fastfileinfo.o] Error 1
make[2]: Leaving directory '/home/cyril/src/jom/src/jomlib'
make[1]: *** [Makefile:46: release-all] Error 2
make[1]: Leaving directory '/home/cyril/src/jom/src/jomlib'
make: *** [Makefile:74: sub-src-jomlib-make_first] Error 2

no jom package for arch? I do not have a qt dev environment set, I am wondering what I need just for compiling. jom seems a basic compiling step in qt ... if I believe the jom page.

If I believe this
https://stackoverflow.com/questions/411 … x/41111183

It means jom is targetted to windows .... thinking I am going to the total wrong direction!

I will try to compile the dynablaster without jmon ...
make returns

Makefile:4485: warning: overriding recipe for target 'main.o'
Makefile:3989: warning: ignoring old recipe for target 'main.o'
Makefile:5281: warning: overriding recipe for target 'chunk.o'
Makefile:5064: warning: ignoring old recipe for target 'chunk.o'
g++ -c -pipe -O2 -Wall -Wextra -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -isystem /usr/include/qt -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o aimain.o ai/aimain.cpp
ai/aimain.cpp:2:10: fatal error: QApplication: No such file or directory
    2 | #include <QApplication>
      |          ^~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:3479: aimain.o] Error 1

need to find QApplication .... or set my compiling environment

/usr/include/qt/QtWidgets

QApplication

the make file looks like that

#############################################################################
# Makefile for building: dynablaster_revenge
# Generated by qmake (3.1) (Qt 5.14.1)
# Project:  dynablaster_revenge.pro
# Template: app
# Command: /usr/bin/qmake-qt5 -o Makefile dynablaster_revenge.pro
#############################################################################

MAKEFILE      = Makefile

EQ            = =

####### Compiler, tools and options

CC            = gcc
CXX           = g++
DEFINES       = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB
CFLAGS        = -pipe -O2 -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)
CXXFLAGS      = -pipe -O2 -Wall -Wextra -D_REENTRANT -fPIC $(DEFINES)
INCPATH       = -I. -I. -isystem /usr/include/qt -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++
QMAKE         = /usr/bin/qmake-qt5
DEL_FILE      = rm -f
CHK_DIR_EXISTS= test -d
MKDIR         = mkdir -p
COPY          = cp -f
COPY_FILE     = cp -f
COPY_DIR      = cp -f -R
INSTALL_FILE  = install -m 644 -p
INSTALL_PROGRAM = install -m 755 -p
INSTALL_DIR   = cp -f -R
QINSTALL      = /usr/bin/qmake-qt5 -install qinstall
QINSTALL_PROGRAM = /usr/bin/qmake-qt5 -install qinstall -exe
DEL_FILE      = rm -f
SYMLINK       = ln -f -s
DEL_DIR       = rmdir
MOVE          = mv -f
TAR           = tar -cf
COMPRESS      = gzip -9f
DISTNAME      = dynablaster_revenge1.0.0
DISTDIR = /home/cyril/src/dynablaster_revenge/.tmp/dynablaster_revenge1.0.0
LINK          = g++
LFLAGS        = 
LIBS          = $(SUBLIBS) /usr/lib/libQt5Gui.so /usr/lib/libQt5Core.so -lGL -lpthread -lmd4c   
AR            = ar cqs
RANLIB        = 
SED           = sed
STRIP         = strip

####### Output directory

Last edited by kamelie1706 (2020-02-16 16:59:05)

Offline

#4 2020-02-16 17:15:23

kamelie1706
Member
Registered: 2014-02-19
Posts: 176

Re: Dynablaster Revenge - Challenge to install on archlinux

I went one step more by adding

QT += gui widgets

to my generated pro file

Thx
https://vitux.com/compiling-your-first- … in-ubuntu/

Now my pro file looks like

TEMPLATE = app
TARGET = dynablaster_revenge
INCLUDEPATH += . \
                ./ai \
                ./shared \
                ./client \
                ./server \
                ./linux
QT += gui widgets network core

make progress but get stuck to qInstallMSgHandler

server/src/servermain.cpp: In function 'int main(int, char**)':
server/src/servermain.cpp:78:7: error: 'qInstallMsgHandler' was not declared in this scope; did you mean 'qInstallMessageHandler'?
   78 |       qInstallMsgHandler(debugHandler);
      |       ^~~~~~~~~~~~~~~~~~
      |       qInstallMessageHandler
make: *** [Makefile:4229: servermain.o] Error 1

which seems depreciated in QT 5
https://wiki.qt.io/Transition_from_Qt_4 … deprecated

A lot of warning related to deprecated so I guess the code is mostly still maintained around QT4 .....

Last edited by kamelie1706 (2020-02-16 17:58:04)

Offline

#5 2020-02-16 21:09:18

kamelie1706
Member
Registered: 2014-02-19
Posts: 176

Re: Dynablaster Revenge - Challenge to install on archlinux

Partly "VICTORY"!
At least I can compile the client and play alone against some computers
qmake
make

strange as "ai" directory does not compile ...
Server still challenging

Offline

Board footer

Powered by FluxBB