Package Details: warzone2100-git r14106.52089c899-1

Git Clone URL: https://aur.archlinux.org/warzone2100-git.git (read-only)
Package Base: warzone2100-git
Description: 3D realtime strategy game on a future Earth (Git version)
Upstream URL: http://wz2100.net/
Keywords: game
Licenses: GPL
Conflicts: warzone2100
Provides: warzone, warzone-svn, warzone2100, warzone2100-beta
Submitter: disastro
Maintainer: disastro
Last Packager: disastro
Votes: 8
Popularity: 0.280763
First Submitted: 2010-11-28 08:49
Last Updated: 2018-03-24 11:22

Latest Comments

Forgon commented on 2018-03-21 11:36

The physfs patches are no longer necessary.

disastro commented on 2018-01-10 10:59

@Forgon Thank you for the suggestions. Not using https for git is a remnant from the past, I'll change that.

As for the debugging, I've thought about this long and hard already and also discussed this in IRC and this is the way I am happy with for now. makepkg will strip debug symbols by default, and the package, even if -git, isn't meant to be a debug package. Anyone can remove --disable-debug themselves and add the necessary makepkg options when they need debugging.

Forgon commented on 2018-01-10 08:32

Thank you for your improvements, disastro.

I further suggest:

  • replace 'git' with 'git+https' for the source

  • remove the '--disable-debug' option for the configure script (this package is for testing, no one plays the latest builds online)

disastro commented on 2018-01-09 13:57

I've replaced my horrible physfs patch with the patchset at http://developer.wz2100.net/ticket/4693

Config directory moves because of that again from ~/.local/share/.warzone2100-master to ~/.warzone2100-master

Sorry for the inconvenience. I've also updated the dependencies

EndlessEden commented on 2017-11-06 08:50

Disabled Debug works...
but there is a "Relaxed" option. that still builds with debug options, but ignores warnings.

Please consider this, and i use the debug ingame menu, for testing maps and changes, im pushing upstream.

---

Also, i was using native. I specified "Piledriver" in my comment instead of "bdver2", by mistake. i havent used the platform specific flag, in a long time. so i had forgotten.

I avoid Generic because i see a measurable 31% decrease in performance. As well as a 11% decrease from -O2, vs -03 or -fast. - Which may seem fine to you, but im working on a mod and every little bit helps...

disastro commented on 2017-11-05 07:40

Hello EndlessEden,
Me and a couple of people ran multiple builds of the package and couldn't replicate your build failure unfortunately.

The only time we could break the build on a different error was by using clang instead of clang++, so make sure your CXX is set to clang++. clang++ (03) worked with both debugging enabled or disabled while g++ still fails on that unitialized error if using O3 with debugging.

EDIT2: Actually seems it's just gcc that can't use piledriver because such mtune setting doesn't seem to exist? clang just ignores it?
(I could only test march=native or mtune=generic and couldn't test piledriver personally but the people on IRC did and it built fine for them even on clang++, with only -fno-plt as an extra CFLAG to yours.)

What I suggest based on the build error and our testbuilds is try with either g++ or mtune=generic although it's hard to say if that will fix anything since I am not sure of the other changes to your system. I want to remind you that Arch uses g++ and O2 by default so it's all extra if a package builds with special flags. That being said I am unsure why the CFLAGS, while unsupported, work on the system or two tried on IRC and not on yours.

EDIT: PS. Based on some of the discussions on IRC I've decided to --disable-debug for everyone and trust that the makepkg debugging build works if one enables it.

phillid commented on 2017-11-05 07:26

@EndlessEden, works for me with the same CFLAGS and CXXFLAGS, except I have -fno-plt hanging on the end of both. Just to cover my bases; you are running up-to-date Arch, right?

EndlessEden commented on 2017-11-05 05:40

"piedraw.cpp:79:61: error: arithmetic on a null pointer treated as a cast from integer to pointer is a GNU extension [-Werror,-Wnull-pointer-arithmetic]
glVertexAttribPointer(loc, size, type, normalised, stride, BUFFER_OFFSET(offset));
^~~~~~~~~~~~~~~~~~~~~
piedraw.cpp:47:40: note: expanded from macro 'BUFFER_OFFSET'
#define BUFFER_OFFSET(i) ((char *)NULL + (i))
~~~~~~~~~~~~ ^
mv -f .deps/piepalette.Tpo .deps/piepalette.Po
piedraw.cpp:240:69: error: arithmetic on a null pointer treated as a cast from integer to pointer is a GNU extension [-Werror,-Wnull-pointer-arithmetic]
glDrawElements(GL_TRIANGLES, shape->npolys * 3, GL_UNSIGNED_SHORT, BUFFER_OFFSET(frame * shape->npolys * 3 * sizeof(uint16_t)));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
piedraw.cpp:47:40: note: expanded from macro 'BUFFER_OFFSET'
#define BUFFER_OFFSET(i) ((char *)NULL + (i))
~~~~~~~~~~~~ ^
2 errors generated."

CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS="-march=x86-64 -mtune=piledriver -O3 -pipe -fstack-protector-strong"
CXXFLAGS="-march=x86-64 -mtune=piledriver -O3 -pipe -fstack-protector-strong"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"

Compiler: Clang

Sigh... same issue.

disastro commented on 2017-11-03 15:38

PhysFS deprecated the usage of getUserDir so it uses getPrefDir that points to the platform correct directory like .local/share on Linux

EndlessEden commented on 2017-11-03 15:22

"EDIT: Almost forgot. The patch currently moves the save directory from ~/.warzone2100-master to ~/.local/share/.warzone2100-master"

Warzone2100 doesnt support loading from symlinks or non-standard locations. How did you overcome this?

All comments