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

fastjet: Fix build w/clang5 #34534

Merged
merged 1 commit into from Feb 3, 2018
Merged

Conversation

dtzWill
Copy link
Member

@dtzWill dtzWill commented Feb 2, 2018

Otherwise build fails, as per evaluation over on #33374.

Builds successfully with normal CC (gcc6) as well.

  • 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.

Clang5 failure details:

https://hydra.nixos.org/build/68588849/nixlog/1

libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I../../include/fastjet -O2 -Wall -g -Woverloaded-virtual -DDROP_CGAL -I. -I./siscone -I./../../include -I./siscone -c SISConeBasePlugin.cc  -fno-common -DPIC -o .libs/libSISConePlugin_la-SISConeBasePlugin.o
SISConeBasePlugin.cc:12:12: error: no matching member function for call to 'structure_of'
  return a.structure_of<UserScaleBase::StructureType>().ordering_var2()
         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./../../include/fastjet/PseudoJet.hh:1012:60: note: candidate template ignored: substitution failure [with TransformerType = fastjet::SISConeBasePlugin::UserScaleBase::StructureType]: ISO C++ specifies that qualified reference to 'StructureType' is a constructor name rather than a type in this context, despite preceding 'typename' keyword
const typename TransformerType::StructureType & PseudoJet::structure_of() const{
      ~~~~~~~~                                             ^

Packages using fastjet that confirmed to build:

  • fastnlo
  • herwig
  • mcgrid
  • pythia
  • rivet
  • sacrifice
  • thepeg

FWIW I'll be sending fix to upstream, will let you know how that goes.

https://hydra.nixos.org/build/68588849/nixlog/1

libtool: compile:  clang++ -DHAVE_CONFIG_H -I. -I../../include/fastjet -O2 -Wall -g -Woverloaded-virtual -DDROP_CGAL -I. -I./siscone -I./../../include -I./siscone -c SISConeBasePlugin.cc  -fno-common -DPIC -o .libs/libSISConePlugin_la-SISConeBasePlugin.o
SISConeBasePlugin.cc:12:12: error: no matching member function for call to 'structure_of'
  return a.structure_of<UserScaleBase::StructureType>().ordering_var2()
         ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./../../include/fastjet/PseudoJet.hh:1012:60: note: candidate template ignored: substitution failure [with TransformerType = fastjet::SISConeBasePlugin::UserScaleBase::StructureType]: ISO C++ specifies that qualified reference to 'StructureType' is a constructor name rather than a type in this context, despite preceding 'typename' keyword
const typename TransformerType::StructureType & PseudoJet::structure_of() const{
      ~~~~~~~~                                             ^
@dtzWill
Copy link
Member Author

dtzWill commented Feb 2, 2018

@GrahamcOfBorg build fastjet pythia sacrifice

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Partial log (click to expand)

make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/private/tmp/nix-build-sacrifice-1.0.0.drv-0/Sacrifice-1.0.0'
make[1]: Leaving directory '/private/tmp/nix-build-sacrifice-1.0.0.drv-0/Sacrifice-1.0.0'
post-installation fixup
strip is /nix/store/i1zz228nl3bljcbb83fq0rq7lr7nvv4y-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/zrhv2nbv4ljzanw8apgvgp6l5n2sp558-sacrifice-1.0.0/lib  /nix/store/zrhv2nbv4ljzanw8apgvgp6l5n2sp558-sacrifice-1.0.0/bin
patching script interpreter paths in /nix/store/zrhv2nbv4ljzanw8apgvgp6l5n2sp558-sacrifice-1.0.0
/nix/store/4k9li0zv31c1i565xj1238ihzxbczgy0-fastjet-3.3.0
/nix/store/x6h44ks72zxzg9rxbwxfa7fknz92rw93-pythia-8.219
/nix/store/zrhv2nbv4ljzanw8apgvgp6l5n2sp558-sacrifice-1.0.0

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

shrinking RPATHs of ELF executables and libraries in /nix/store/pwlvf7vwscsfp6ln2r3d41jll8f31m9q-sacrifice-1.0.0
shrinking /nix/store/pwlvf7vwscsfp6ln2r3d41jll8f31m9q-sacrifice-1.0.0/lib/SacrificePlugin.so.0.0.0
shrinking /nix/store/pwlvf7vwscsfp6ln2r3d41jll8f31m9q-sacrifice-1.0.0/bin/run-pythia
strip is /nix/store/jwz859pxqj7sl2dbwvmxkx68jp774izb-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/pwlvf7vwscsfp6ln2r3d41jll8f31m9q-sacrifice-1.0.0/lib  /nix/store/pwlvf7vwscsfp6ln2r3d41jll8f31m9q-sacrifice-1.0.0/bin
patching script interpreter paths in /nix/store/pwlvf7vwscsfp6ln2r3d41jll8f31m9q-sacrifice-1.0.0
checking for references to /build in /nix/store/pwlvf7vwscsfp6ln2r3d41jll8f31m9q-sacrifice-1.0.0...
/nix/store/p69rj1wkv8hi6m7qcd6calv923x31x6b-fastjet-3.3.0
/nix/store/w1v98dy0v3qfbjh6nn8c3qfxlxsqrsyq-pythia-8.219
/nix/store/pwlvf7vwscsfp6ln2r3d41jll8f31m9q-sacrifice-1.0.0

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

shrinking RPATHs of ELF executables and libraries in /nix/store/1467ids2v0l41rib252bxv5xavirka89-sacrifice-1.0.0
shrinking /nix/store/1467ids2v0l41rib252bxv5xavirka89-sacrifice-1.0.0/bin/run-pythia
shrinking /nix/store/1467ids2v0l41rib252bxv5xavirka89-sacrifice-1.0.0/lib/SacrificePlugin.so.0.0.0
strip is /nix/store/mdyy001q67hiks0g24ra53z7ckm4jfr4-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/1467ids2v0l41rib252bxv5xavirka89-sacrifice-1.0.0/lib  /nix/store/1467ids2v0l41rib252bxv5xavirka89-sacrifice-1.0.0/bin 
patching script interpreter paths in /nix/store/1467ids2v0l41rib252bxv5xavirka89-sacrifice-1.0.0
checking for references to /tmp/nix-build-sacrifice-1.0.0.drv-0 in /nix/store/1467ids2v0l41rib252bxv5xavirka89-sacrifice-1.0.0...
/nix/store/zrgni0hmjga4ka846q9kr6l80bvg16fp-fastjet-3.3.0
/nix/store/vnbdd46li1ymn6c3cmm7fnlg4bm2qwck-pythia-8.219
/nix/store/1467ids2v0l41rib252bxv5xavirka89-sacrifice-1.0.0

@dtzWill
Copy link
Member Author

dtzWill commented Feb 2, 2018

@GrahamcOfBorg ❤️

@grahamc grahamc merged commit dbd9e7f into NixOS:master Feb 3, 2018
@dtzWill
Copy link
Member Author

dtzWill commented Feb 4, 2018

Upstream responded, they have this fix in their development tree but not in a release yet.

Just an FYI, we can use the patched version with confidence now! 👍

@dtzWill dtzWill deleted the fix/fastjet-clang5 branch February 4, 2018 16:16
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

3 participants