Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Openclonk 8.1 #37908

Merged
merged 1 commit into from Apr 14, 2018
Merged

Openclonk 8.1 #37908

merged 1 commit into from Apr 14, 2018

Conversation

lheckemann
Copy link
Member

Motivation for this change

New upstream version

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: openclonk

Partial log (click to expand)

  Aborting.
Call Stack (most recent call first):
  CMakeLists.txt:190 (REQUIRE_CXX_SOURCE_COMPILES)


-- Configuring incomplete, errors occurred!
See also "/tmp/nix-build-openclonk-8.1.drv-0/openclonk-release-8.1-src/build/CMakeFiles/CMakeOutput.log".
See also "/tmp/nix-build-openclonk-8.1.drv-0/openclonk-release-8.1-src/build/CMakeFiles/CMakeError.log".
builder for '/nix/store/g1m6lghcbw3zam5aagnrmhxlaiyaqcya-openclonk-8.1.drv' failed with exit code 1
�[31;1merror:�[0m build of '/nix/store/g1m6lghcbw3zam5aagnrmhxlaiyaqcya-openclonk-8.1.drv' failed

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: openclonk

Partial log (click to expand)

  if (!scale[0]) scale[0] = 10; if (!scale[1]) scale[1] = 10;
  ^~
/build/openclonk-release-8.1-src/src/landscape/C4MapScriptAlgo.cpp:376:32: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  if (!scale[0]) scale[0] = 10; if (!scale[1]) scale[1] = 10;
                                ^~
[ 12%] Linking CXX static library liblibopenclonk.a
[ 12%] Built target libopenclonk
make: *** [Makefile:152: all] Error 2
builder for '/nix/store/il84z1072fccxl9ffnd6iv5y0vja9qrh-openclonk-8.1.drv' failed with exit code 2
�[31;1merror:�[0m build of '/nix/store/il84z1072fccxl9ffnd6iv5y0vja9qrh-openclonk-8.1.drv' failed

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: openclonk

Partial log (click to expand)

renamed '/nix/store/888z2kr3hgflhsd98mv8pi5g2v9qn4xg-openclonk-8.1/games/openclonk' -> '/nix/store/888z2kr3hgflhsd98mv8pi5g2v9qn4xg-openclonk-8.1/bin/openclonk'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/888z2kr3hgflhsd98mv8pi5g2v9qn4xg-openclonk-8.1
shrinking /nix/store/888z2kr3hgflhsd98mv8pi5g2v9qn4xg-openclonk-8.1/bin/c4group
shrinking /nix/store/888z2kr3hgflhsd98mv8pi5g2v9qn4xg-openclonk-8.1/bin/openclonk
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/888z2kr3hgflhsd98mv8pi5g2v9qn4xg-openclonk-8.1/bin
patching script interpreter paths in /nix/store/888z2kr3hgflhsd98mv8pi5g2v9qn4xg-openclonk-8.1
checking for references to /build in /nix/store/888z2kr3hgflhsd98mv8pi5g2v9qn4xg-openclonk-8.1...
/nix/store/888z2kr3hgflhsd98mv8pi5g2v9qn4xg-openclonk-8.1

@lheckemann
Copy link
Member Author

@lluchs you might care about this?

@lluchs
Copy link
Contributor

lluchs commented Mar 30, 2018

Thanks for updating OpenClonk! The overall result is exactly what we expect to happen. OC on Mac doesn't work because we currently don't have any Mac developers (although it does build successfully with XCode, I don't know what's wrong with nix's clang). While we fixed the issue with requiring SSE on all platforms, OC won't work on ARM in any case because OC requires OpenGL 3.2, but there is only OpenGL ES available there.

So I suggest you disable building openclonk on everything but x86 Linux.

@lheckemann
Copy link
Member Author

lheckemann commented Apr 10, 2018

OC requires OpenGL 3.2, but there is only OpenGL ES available there.

Not necessarily. There's no technical reason a PCIe graphics card couldn't be used with an ARM board, or for the graphics drivers for whatever built-in graphics acceleration there is not to support OpenGL. I'll rerun the builds so I can see the logs for arm and maybe fix the build if it's easy.

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: openclonk

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Attempted: openclonk

Partial log (click to expand)

/build/openclonk-release-8.1-src/src/lib/C4InputValidation.cpp:62:3: note: here
   case VAL_FullPath:        // full filename paths
   ^~~~
[ 12%] Linking CXX static library liblibmisc.a
[ 12%] Built target libmisc
[ 12%] Linking CXX static library liblibopenclonk.a
[ 12%] Built target libopenclonk
make: *** [Makefile:152: all] Error 2
builder for '/nix/store/cyjpx32kc2sxn4yv4k1y7i12lawy000n-openclonk-8.1.drv' failed with exit code 2
�[31;1merror:�[0m build of '/nix/store/cyjpx32kc2sxn4yv4k1y7i12lawy000n-openclonk-8.1.drv' failed

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: openclonk

Partial log (click to expand)

renamed '/nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1/games/openclonk' -> '/nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1/bin/openclonk'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1
shrinking /nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1/bin/c4group
shrinking /nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1/bin/openclonk
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1/bin
patching script interpreter paths in /nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1
checking for references to /tmp/nix-build-openclonk-8.1.drv-0 in /nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1...
/nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1

@lheckemann
Copy link
Member Author

lheckemann commented Apr 10, 2018

So the issue is that the BLAKE2 implementation is the SSE one which assumes at least SSE2, which isn't available on ARM. This shouldn't be too hard to fix but it should probably be done upstream. I've just disabled aarch64 for now.

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: openclonk

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: openclonk

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: openclonk

Partial log (click to expand)

renamed '/nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1/games/openclonk' -> '/nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1/bin/openclonk'
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1
shrinking /nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1/bin/c4group
shrinking /nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1/bin/openclonk
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1/bin
patching script interpreter paths in /nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1
checking for references to /build in /nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1...
/nix/store/61hjqk5n277fm5mms79iks2axn4c5ad7-openclonk-8.1

@lheckemann
Copy link
Member Author

For the BLAKE2 issue,
upstream issue
debian patch

In the meantime, there shouldn't be any further obstacles to merging.

@Mic92 Mic92 merged commit 997ead8 into NixOS:master Apr 14, 2018
@lheckemann lheckemann deleted the openclonk-8.1 branch April 14, 2018 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants