wavewave / hep-nix-overlay Goto Github PK
View Code? Open in Web Editor NEWnix expression repository for high energy physics programs
License: Other
nix expression repository for high energy physics programs
License: Other
There are lots of uses of sysctl
on ROOT6 build and runtime. We need to solve this issue.
$ grep -R sysctl *
build/rmkdepend/imakemdep.h: sysctl(__mib, 2, &__osrel, &__len, NULL, 0); \
build/unix/installDavix.sh: [ "$?" != 0 ] && MJ=`sysctl hw.ncpu | cut -b10 2> /dev/null`
build/unix/installXrootd.sh: [ "$?" != 0 ] && MJ=`sysctl hw.ncpu | cut -b10 2> /dev/null`
cmake/modules/SetUpMacOS.cmake: execute_process(COMMAND /usr/sbin/sysctl machdep.cpu.extfeatures OUTPUT_VARIABLE SYSCTL_OUTPUT)
config/root-config.in: ncpu=$(sysctl -n hw.ncpu)
configure: if `sysctl machdep.cpu.extfeatures | grep "64" > /dev/null 2>&1` ; then
core/unix/src/TUnixSystem.cxx: FILE *p = gSystem->OpenPipe("sysctl -n kern.ostype hw.model hw.ncpu hw.cpufrequency "
graf2d/asimage/src/libAfterImage/config.guess: sysctl="sysctl -n hw.machine_arch"
graf2d/asimage/src/libAfterImage/config.guess: UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
graf2d/asimage/src/libAfterImage/config.guess: /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
interpreter/llvm/src/autoconf/config.guess: sysctl="sysctl -n hw.machine_arch"
interpreter/llvm/src/autoconf/config.guess: UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
interpreter/llvm/src/autoconf/config.guess: /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
interpreter/llvm/src/tools/clang/test/CodeGen/PR15826.c:struct sysctl_req {
interpreter/llvm/src/tools/clang/test/CodeGen/PR15826.c:struct sysctl_oid {
interpreter/llvm/src/tools/clang/test/CodeGen/PR15826.c: int (*oid_handler)(struct sysctl_req *req);
interpreter/llvm/src/tools/clang/test/CodeGen/PR15826.c:static struct sysctl_oid sysctl___kern_features_aio;
interpreter/llvm/src/tools/clang/test/CodeGen/PR15826.c:static void const *const __set_sysctl_set_sym_sysctl___kern_features_aio
interpreter/llvm/src/tools/clang/test/CodeGen/PR15826.c: __attribute__((__used__)) = &sysctl___kern_features_aio;
interpreter/llvm/src/tools/clang/utils/analyzer/SATestBuild.py: return int(capture(['sysctl', '-n', 'hw.ncpu']))
interpreter/llvm/src/utils/buildit/build_llvm:SYSCTL=`sysctl -n hw.activecpu`
interpreter/llvm/src/utils/buildit/build_llvm:# sysctl -n hw.* does not work when invoked via B&I chroot /BuildRoot.
interpreter/llvm/src/utils/buildit/build_llvm:SYSCTL=`sysctl -n hw.activecpu`
interpreter/llvm/src/utils/buildit/build_llvm: SYSCTL=`sysctl -n hw.ncpu`
interpreter/llvm/src/utils/buildit/build_llvm:# sysctl -n hw.* does not work when invoked via B&I chroot /BuildRoot. Builders
interpreter/llvm/src/utils/lit/lit/util.py: return int(capture(['sysctl', '-n', 'hw.ncpu']))
interpreter/llvm/src/utils/release/test-release.sh: NumJobs=`sysctl -n hw.activecpu 2> /dev/null || true`
interpreter/llvm/src/utils/release/test-release.sh: NumJobs=`sysctl -n hw.ncpu 2> /dev/null || true`
math/vc/cmake/OptimizeForArchitecture.cmake: exec_program("/usr/sbin/sysctl -n machdep.cpu.vendor" OUTPUT_VARIABLE _vendor_id)
math/vc/cmake/OptimizeForArchitecture.cmake: exec_program("/usr/sbin/sysctl -n machdep.cpu.model" OUTPUT_VARIABLE _cpu_model)
math/vc/cmake/OptimizeForArchitecture.cmake: exec_program("/usr/sbin/sysctl -n machdep.cpu.family" OUTPUT_VARIABLE _cpu_family)
math/vc/cmake/OptimizeForArchitecture.cmake: exec_program("/usr/sbin/sysctl -n machdep.cpu.features" OUTPUT_VARIABLE _cpu_flags)
proof/proofd/inc/XrdProofdPlatform.h:#include <sys/sysctl.h>
proof/proofd/src/XrdProofdAux.cxx: // Run "sysctl -n hw.ncpu" in popen and decode the output
proof/proofd/src/XrdProofdAux.cxx: FILE *fp = popen("sysctl -n hw.ncpu", "r");
proof/proofd/src/XrdProofdAux.cxx: // sysctl because the prototype doesn't include the const modifier.
proof/proofd/src/XrdProofdAux.cxx: // We start by calling sysctl with res == 0 and len == 0.
proof/proofd/src/XrdProofdAux.cxx: // We then allocate a buffer of that size and call sysctl again
proof/proofd/src/XrdProofdAux.cxx: // that the loop causes use to call sysctl with 0 again; this
proof/proofd/src/XrdProofdAux.cxx: // Call sysctl with a 0 buffer.
proof/proofd/src/XrdProofdAux.cxx: if ((rc = sysctl((int *)name, (sizeof(name)/sizeof(*name)) - 1,
proof/proofd/src/XrdProofdAux.cxx: // Call sysctl again with the new buffer. If we get an ENOMEM
proof/proofd/src/XrdProofdAux.cxx: if ((rc = sysctl((int *)name, (sizeof(name)/sizeof(*name)) - 1,
test/ios/RootBrowser/root_browser/root_browserAppDelegate.mm:#import <sys/sysctl.h>
test/ios/RootBrowser/root_browser/root_browserAppDelegate.mm: sysctlbyname("hw.machine", nullptr, &dataSize, nullptr, 0);
test/ios/RootBrowser/root_browser/root_browserAppDelegate.mm: sysctlbyname("hw.machine", &line[0], &dataSize, nullptr, 0);
People are now discussing about deprecating myEnvFun (at least for python development)
NixOS/nixpkgs#5623
As we see from http://higgs.snu.ac.kr:8080/build/297/nixlog/1
any packages dependent on xz cannot be now installed.
This behavior is known.
NixOS/nixpkgs#3354
NixOS/nixpkgs#3641
How can we circumvent this problem?
LHAPDF grid sets used to be downloaded after installation of LHAPDF as user's post-installation process. We had better provide them as some kind of LHAPDF-grid packages with flavors (like minimal, CTEQ, MRST, NNNLO, Full etc. ) How to identify sources is not clear to me now.
Hi all,
I've opened NixOS/nixpkgs#19666 where I try to upstream expressions for herwig7 and pythia8 along with up to date versions of their dependencies. It also features a nix-way solution to #2. Your comments and reviews are much welcome.
Special thanks to @wavewave . Because of your presence online, I found out about nix. And, of course, my PR was very much inspired by the work you did for hep-nix-overlay.
Currently, it was marked as unsuccessful.. What was the issue?
We need to have a sample Mathematica package for hep-nix-overlay. How about FeynRules?
hey,
i would like to know how you use this overlay with hydra. on which hydra are you building it? can you paste me the configuration for that?
regards,
qknight
Build of SPheno on higgs server is repeatedly failed. If I build it on my machine myself, then it succeeds. I don't know the reason now. By the way, I wonder if the build of SPheno on hep-nix-overlay at CERN is successful or not.
Given that almost everyone in the HEP community uses clustered computing facilities, the only way to install hep-nix-overlay as a non-privileged user on such systems is to use PRoot (at least until now as far as I know). We had better claim that we officially recommend PRoot.
On OS X, I am now looking into sandbox option. But on OS X, almost everyone is a privileged user, so it is not very crucial for now.
so we need to upgrade haskellPackages
to haskell-ng
.
I got an error when I tried to search the packages through nix-env qaP
. The error message is like:
error: anonymous function at hep-nix-overlay/pkgs/legacy/libyaml-cpp/0.2.5.nix:1:1 called without required argument `boostHeaders', at /nix/store/xqyxmgg0ycj1afydvbbqshz6ah218z22-nixpkgs-14.10pre50280.817ebe2/nixpkgs/lib/customisation.nix:58:12
I see this error in OS X. The error disappears if boostHeaders
in legacy/libyaml-cpp/0.2.5.nix
is replaced by boost
like you did in the commit daf75e87. Could it be reproduced?
I have tried to include CalcHEP in hep-nix-overlay. Basically, it has a Makefile
, and the build can be done quite simply without any patch. The problem is that it stores the path of the directory where it has been built in mkWORKdir
, which is a script for running CalcHEP. So, I modified the corresponding line in mkWORKdir
using sed
. See my nix expression below.
{ pkgs, stdenv, fetchurl, libX11, gfortran }:
with pkgs;
stdenv.mkDerivation rec {
name = "CalcHEP-${version}";
version = "3.6.15";
src = fetchurl {
url = "http://theory.sinp.msu.ru/~pukhov/CALCHEP/calchep_3.6.15.tgz";
sha256 = "0mhpyxlh2qvg2yl329db1vg8cnydj32046hbxyppc0kggpwx4n2z";
};
patches = [ ];
buildInputs = [ gfortran libX11 which ];
enableParallelBuilding = false;
installPhase = ''
sed "2s,.*,CALCHEP=$out," mkWORKdir > mkWORKdir_patched
mv mkWORKdir_patched mkWORKdir
chmod 755 mkWORKdir
mkdir -p $out
cp -r * $out
'';
}
I also tried to make env.nix
like MadGraph, but found that it's a bit non-trivial since one has to know the user's working directory when unpacking them. For example, if one will work in /tmp/calchep
, the line in mkWORKdir
should be modified like
CALCHEP=/tmp/calchep
after unpacking them. I couldn't find the environment variable for this case. Or, we may not need to provide the env.nix
. I'd like to here your opinion. Actually, micrOMEGAs has the similar problem since it includes CalcHEP.
When I attempted to build CheckMATE
, I got the error message as follows.
error: anonymous function at "/nix/store/0g2b345qz577nxx69wi1rnxv5zjindrw-nixpkgs-15.05pre57176.b9cc043/nixpkgs/pkgs/development/interpreters/python/2.7/default.nix":1:1 called with unexpected argument ‘extraLibs’, at "/nix/store/0g2b345qz577nxx69wi1rnxv5zjindrw-nixpkgs-15.05pre57176.b9cc043/nixpkgs/lib/customisation.nix":58:12
It seems that it is claiming about the lines of
pythonCheckMATE = pkgs.pythonFull.override {
extraLibs = with pkgs.pythonPackages; [ numpy ];
};
in pkgs/CheckMATE/default.nix
. So, I removed the lines and modified buildInputs
like
buildInputs = [ root5 pkgs.which pkgs.tcl python pythonPackages.numpy ];
and then, modified buildInputs
in pkgs/CheckMATE/env.nix
in the similar way. After all, I found that the build was successful. If you wish to see it, I will send a pull request.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.