Page 1 of 2

FreeBSD version 3.1.2

Posted: 07 Jan 2015, 12:30
by Tzeentch
Hey,

I attempted getting Warzone 3.1.2 on freeBSD, I'm on the latest release fully patched but it seems the latest version in ports is still 3.1. Can this be updated please?

I also tried downloading the tar file for 3.1.2 but the mirrors didn't seem to work. Reaches down to 0 seconds on the countdown for wait to download, then goes back to 60 seconds. Attempted other mirrors but same occurred.

Re: FreeBSD version 3.2

Posted: 07 Jan 2015, 18:14
by NoQ
  • Please decide if you're talking about 3.1.2 (there's no such thing as 3.2 yet).
  • For updating distribution packages for your OS, you need to contact distribution package maintainers for your OS, which are not us.
  • Considering MP sync issues, it might actually be a good idea to delay the update in the distribution packages.
  • I had no problem downloading the latest tarball, took around 30 seconds.

Re: FreeBSD version 3.1.2

Posted: 07 Jan 2015, 19:53
by Tzeentch
Sorry, meant 3.1.2

okay I'll keep an eye on the status of 3.1.2 prior to engaging package maintainers .

I can try that again later on, last time was around 3am I think..

Re: FreeBSD version 3.1.2

Posted: 07 Jan 2015, 21:32
by stiv
You should be able to compile the game on FreeBSD. in theory, anyway. You might need to compile all the necessary libs yourself if they are not already packaged up for you OS.

Re: FreeBSD version 3.1.2

Posted: 08 Jan 2015, 08:48
by Berg
http://developer.wz2100.net/wiki/CompileGuideFreeBSD
This is AN old guide it might help if not also look at the libs needed in other compiles

Re: FreeBSD version 3.1.2

Posted: 14 Jan 2015, 05:55
by Tzeentch
I had the package maintainer update and then I installed from ports. It's fantastic, just works so well and the new fonts looks ace!

played Online no issues either. Curious why don't many of the good maps get added in?

I'm going to attempt using Dtrace on this...

Re: FreeBSD version 3.1.2

Posted: 14 Jan 2015, 20:55
by Berg
you can add any maps you like
http://addons.wz2100.net/
Find your configure folder might be in your home folder ./warzoen2100-3.1 look in there for map folder add as many maps as you like.
Good Luck with your world domination!!
Regards Berg

Re: FreeBSD version 3.1.2

Posted: 14 Feb 2015, 08:33
by Tzeentch
Urm, removed my port install so I could download from git and compile to then assist with some warzone development here and there (such as testing a cached function calls)

Obtained using

Code: Select all

git clone https://github.com/Warzone2100/warzone2100/ war-test

./autogen.sh
export LDFLAGS='-L/usr/local/lib -L/usr/X11R6/lib'
export CPPFLAGS='-I/usr/local/include -I/usr/X11R6/include'
export LIBCRYPTO_CFLAGS='/lib/libcrypto.so.7'
export LIBCRYPTO_LIBS='/lib/libcrypto.so.7'
./configure && make
(autogen already covers the section on)

Code: Select all

 ln -s `which aclocal19` aclocal
ln -s `which autoheader259` autoheader
ln -s `which autoconf259` autoconf
ln -s `which automake19` automake
And have the needed ports.
also tried to use this

Code: Select all

./configure
gmake
I followed the docs and guide on getting QT5, then I had a problem with the Libcrypto library during make && compile. Fixed with

Code: Select all

export LIBCRYPTO_CFLAGS='/lib/libcrypto.so.7'
but now I get the following during ./configure && make or using ./configure -> gmake

Code: Select all

configure: *** Running in debug mode! ***
configure: 
configure: WARNING: Distributor unknown!
configure: Use --with-distributor when compiling package for distribution
configure: 
configure: WARNING: a2x (asciidoc) or wkhtmltopdf not found, can't convert documentation. This doesn't affect building the game,
                but means that things like "make dist" and building a Windows installer will fail.
configure: 
configure: Backend used: sdl
make  all-recursive
Making all in win32
Making all in 3rdparty/miniupnpc
cc -DHAVE_CONFIG_H -I. -I../..  -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DDEBUG -DWZ_DATADIR="\"/usr/local/share/warzone2100\"" -DLOCALEDIR="\"/usr/local/share/locale\"" -I../.. -I../../3rdparty -I../../3rdparty/quesoglc   -I/usr/local/include -I/usr/X11R6/include -O0 -ggdb -Werror -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wcast-align -Wwrite-strings -Wpointer-arith -Wno-format-security -Wstrict-prototypes -Wdeclaration-after-statement  -Wno-switch -Wno-enum-compare  -fno-strict-aliasing -UDEBUG -fPIC -fstack-protector -MT connecthostport.o -MD -MP -MF .deps/connecthostport.Tpo -c -o connecthostport.o connecthostport.c
connecthostport.c:186:34: error: cast from 'struct sockaddr *' to 'struct sockaddr_in6 *' increases required alignment from 1 to 4
      [-Werror,-Wcast-align]
                        struct sockaddr_in6 * addr6 = (struct sockaddr_in6 *)p->ai_addr;
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
*** Error code 1

Stop.
make[2]: stopped in /usr/home/(username)/war-test/3rdparty/miniupnpc
Am I doing something silly? How do I fix this? (low compiling experience)

Re: FreeBSD version 3.1.2

Posted: 14 Feb 2015, 18:55
by cybersphinx
Try "./configure --enable-debug=relaxed", then it shouldn't treat warnings as errors.

Re: FreeBSD version 3.1.2

Posted: 14 Feb 2015, 19:50
by Tzeentch
That worked and completed

Code: Select all

config.status: creating src/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
configure: 
configure: WARNING: Distributor unknown!
configure: Use --with-distributor when compiling package for distribution
configure: 
configure: WARNING: a2x (asciidoc) or wkhtmltopdf not found, can't convert documentation. This doesn't affect building the game,
                but means that things like "make dist" and building a Windows installer will fail.
configure: 
configure: Backend used: sdl
then when I do make it fails :(

Code: Select all

c++ -DHAVE_CONFIG_H -I. -I../..   -DYY_NO_INPUT -I/usr/local/include/SDL -I/usr/local/include -D_GNU_SOURCE=1 -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DDEBUG -DWZ_DATADIR="\"/usr/local/share/warzone2100\"" -DLOCALEDIR="\"/usr/local/share/locale\"" -I../.. -I../../3rdparty -I../../3rdparty/quesoglc -I/usr/local/include/qt5/QtWidgets -I/usr/local/include/qt5/QtGui -I/usr/local/include/qt5/QtScript -I/usr/local/include/qt5/QtCore -I/usr/local/include/qt5 -I/usr/local/include -I/usr/X11R6/include -ggdb -O0 -Wno-enum-compare -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wcast-align -Wwrite-strings -Wpointer-arith -Wno-format-security -I/usr/local/include/qt5/QtWidgets -I/usr/local/include/qt5/QtGui -I/usr/local/include/qt5/QtScript -I/usr/local/include/qt5/QtCore -I/usr/local/include/qt5 -fPIC -std=c++11 -fstack-protector -MT utf.o -MD -MP -MF .deps/utf.Tpo -c -o utf.o utf.cpp
mv -f .deps/utf.Tpo .deps/utf.Po
c++ -DHAVE_CONFIG_H -I. -I../..   -DYY_NO_INPUT -I/usr/local/include/SDL -I/usr/local/include -D_GNU_SOURCE=1 -D_REENTRANT -D_THREAD_SAFE -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DDEBUG -DWZ_DATADIR="\"/usr/local/share/warzone2100\"" -DLOCALEDIR="\"/usr/local/share/locale\"" -I../.. -I../../3rdparty -I../../3rdparty/quesoglc -I/usr/local/include/qt5/QtWidgets -I/usr/local/include/qt5/QtGui -I/usr/local/include/qt5/QtScript -I/usr/local/include/qt5/QtCore -I/usr/local/include/qt5 -I/usr/local/include -I/usr/X11R6/include -ggdb -O0 -Wno-enum-compare -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wcast-align -Wwrite-strings -Wpointer-arith -Wno-format-security -I/usr/local/include/qt5/QtWidgets -I/usr/local/include/qt5/QtGui -I/usr/local/include/qt5/QtScript -I/usr/local/include/qt5/QtCore -I/usr/local/include/qt5 -fPIC -std=c++11 -fstack-protector -MT wzconfig.o -MD -MP -MF .deps/wzconfig.Tpo -c -o wzconfig.o wzconfig.cpp
mv -f .deps/wzconfig.Tpo .deps/wzconfig.Po
make[2]: don't know how to make wzconfig_moc.cpp. Stop

make[2]: stopped in /usr/home/(username)/war-test/lib/framework
*** Error code 1

Stop.
make[1]: stopped in /usr/home/(username)/war-test
*** Error code 1

Stop.
make: stopped in /usr/home/(username)/war-test
checking this file here on github (warzone2100/lib/framework/Makefile.am) containing wzconfig_moc.cpp as found -> https://github.com/Warzone2100/warzone2 ... akefile.am

Code: Select all

MOCEDFILES = $(MOCHEADER:%.h=%_moc.cpp)
%_moc.cpp: %.h
$(MOC5) -o $@ $<
CLEANFILES = \
$(MOCEDFILES)
EXTRA_DIST = \
types.h \
utf.h \
vector.h \
wzapp.h \
wzglobal.h
nodist_libframework_a_SOURCES = \
wzconfig_moc.cpp
plan to switch to Solaris soon, will that work okay?

Re: FreeBSD version 3.1.2

Posted: 15 Feb 2015, 09:03
by wuz21m
Naah, I think you better try to get it to work on FreeBSD.

Re: FreeBSD version 3.1.2

Posted: 15 Feb 2015, 09:17
by Tzeentch
Just stuck no idea why it cannot make this file. Suppose once it works I can update the FreeBSD compile guide.

Require changing over to solaris desktop for fair amount of reasons but can wait till I get this working first

Re: FreeBSD version 3.1.2

Posted: 15 Feb 2015, 19:02
by cybersphinx
Maybe you don't have the Qt5 version of moc installed, or not set up Qt 5 correctly?

Re: FreeBSD version 3.1.2

Posted: 15 Feb 2015, 23:57
by Tzeentch
possibly, I just did make install clean within /usr/ports/devel/qt5-core

then during make in warzone I no longer had errors when it came to the qt5 section.. think i see my issue :oops:

So I installed the following ports, according to https://www.freebsd.org/doc/en_US.ISO88 ... ng-qt.html buildtools needed for the moc files I think

Code: Select all

/usr/ports/devel/qt5-buildtools/
/usr/ports/net/qt5-network
/usr/ports/devel/qt5/
/usr/ports/devel/qmake5
/usr/ports/x11-toolkits/qt5-gui
/usr/ports/devel/librcc
/usr/ports/x11-toolkits/qt5-quick
annoying as after it was asking if I wanted to install tools such as qmake and I did but then didn't, or cant find the command

afterwards during compile this shows

Code: Select all

checking for QT5... yes
checking for moc-qt5... no
checking for moc... no
checking for uic-qt5... no
checking for uic... no
checking for rcc-qt5... no
moc found with qt4 but not 5

Code: Select all

locate moc | grep qt
/usr/local/bin/moc-qt4
/usr/local/share/doc/qt4/html/moc.html
/usr/local/share/licenses/qt4-moc-4.8.6
/usr/local/share/licenses/qt4-moc-4.8.6/LGPL21
/usr/local/share/licenses/qt4-moc-4.8.6/LICENSE
/usr/local/share/licenses/qt4-moc-4.8.6/catalog.mk
/usr/local/share/qt4/mkspecs/features/moc.prf
/usr/local/share/qt4/mkspecs/features/symbian/moc.prf
/usr/ports/devel/qt4-moc
/usr/ports/devel/qt4-moc/Makefile
/usr/ports/devel/qt4-moc/files
/usr/ports/devel/qt4-moc/files/patch-src__tools__moc__main.cpp
/usr/ports/devel/qt4-moc/pkg-plist

Code: Select all

locate moc | grep qt5

Although "meta object compiler, needed for almost every Qt application at buildtime (Qt 4 only)" from same link.

bit lost, I keep looking at docs etc without making any real progress. Thoughts?

If someones good enough to test a FreeBSD 64 bit visualized instance to see where they get would be great :wink: with better understanding of the qt integration, as I've spent hours without getting this part working :( Once it does work then it will be simple for any future users\developers

Re: FreeBSD version 3.1.2

Posted: 16 Feb 2015, 05:38
by vexed
http://www.freshports.org/devel/qt5/
/usr/local/lib/qt5/bin/moc : devel/qt5-buildtools
That shows moc as being installed as part of the package... hmm.