4 Commits

Author SHA1 Message Date
169ec60e71 Fix C runtime objects path
Some gcc versions append an extension to the patch version number, but
this extension is not part of the installation path. This patch removes
the extension to the patch version.
2025-05-28 15:11:25 +02:00
b72fef45ff Remove dangling ompv symlink 2025-05-28 15:03:22 +02:00
f962816eab Update PM gitlab URL to new server bscpm04.bsc.es
The old server has died, so we move to the new URL at bscpm04.bsc.es.

Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
Tested-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2025-03-07 15:21:11 +01:00
c4583f787d Fix Nanos6 build from git
The src.rev attribute is not available as it comes from source before
the recursive operator. Instead, simply get it from the function inputs.

Cc: Aleix Boné <aleix.boneribo@bsc.es>
Reviewed-by: Aleix Roca Nonell <aleix.rocanonell@bsc.es>
2025-02-28 13:36:00 +01:00
11 changed files with 22 additions and 18 deletions

View File

@@ -7,7 +7,7 @@
, mpi
, tampi
, gitBranch ? "master"
, gitURL ? "ssh://git@bscpm03.bsc.es/rarias/bench6.git"
, gitURL ? "ssh://git@bscpm04.bsc.es/rarias/bench6.git"
, gitCommit ? "1e6ce2aa8ad7b4eef38df1581d7ec48a8815f85d"
}:

View File

@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
] ++ optionals (enableTest) [ mpi clangOmpss2 tampi ];
src = builtins.fetchGit {
url = "ssh://git@bscpm03.bsc.es/rarias/cn6.git";
url = "ssh://git@bscpm04.bsc.es/rarias/cn6.git";
ref = "master";
rev = "c72c3b66b720c2a33950f536fc819051c8f20a69";
};

View File

@@ -14,7 +14,7 @@
, gcc # needed to set the rpath of libstdc++ for clang-tblgen
, enableDebug ? false
, useGit ? false
, gitUrl ? "ssh://git@bscpm03.bsc.es/llvm-ompss/llvm-mono.git"
, gitUrl ? "ssh://git@bscpm04.bsc.es/llvm-ompss/llvm-mono.git"
, gitBranch ? "master"
, gitCommit ? "8c0d267c04d7fc3fb923078f510fcd5f4719a6cc"
}:

View File

@@ -9,12 +9,14 @@
, ompss2rt ? null
}:
with lib;
let
usingNodesAndOmpv = (openmp.pname == "openmp-v" && ompss2rt.pname == "nodes");
sameNosv = openmp.nosv == ompss2rt.nosv;
in
assert lib.assertMsg (usingNodesAndOmpv -> sameNosv) "OpenMP-V and NODES must share the same nOS-V";
assert assertMsg (usingNodesAndOmpv -> sameNosv) "OpenMP-V and NODES must share the same nOS-V";
let
homevar = if ompss2rt.pname == "nanos6" then "NANOS6_HOME" else "NODES_HOME";
@@ -34,14 +36,15 @@ let
targetConfig = stdenv.targetPlatform.config;
inherit gcc;
cc = clangOmpss2Unwrapped;
gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
in wrapCCWith {
inherit cc bintools;
# extraPackages adds packages to depsTargetTargetPropagated
extraPackages = lib.optional (openmp != null) openmp;
extraPackages = optional (openmp != null) openmp;
extraBuildCommands = ''
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-cflags
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-cflags
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-ldflags
echo "-L${gcc.cc.lib}/lib" >> $out/nix-support/cc-ldflags
for dir in ${gcc.cc}/include/c++/*; do
@@ -55,12 +58,12 @@ in wrapCCWith {
wrap clang++ $wrapper $ccPath/clang++
'' + lib.optionalString (openmp != null) ''
'' + optionalString (openmp != null) ''
echo "export OPENMP_RUNTIME=${ompname}" >> $out/nix-support/cc-wrapper-hook
'' + lib.optionalString (ompss2rt != null) ''
'' + optionalString (ompss2rt != null) ''
echo "export OMPSS2_RUNTIME=${rtname}" >> $out/nix-support/cc-wrapper-hook
echo "export ${homevar}=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook
'' + lib.optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
'' + optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
echo "export NOSV_HOME=${ompss2rt.nosv}" >> $out/nix-support/cc-wrapper-hook
'';
}

View File

@@ -68,6 +68,7 @@ stdenv.mkDerivation rec {
rm -f $out/lib/libiomp*
'' + lib.optionalString enableNosv ''
rm -f $out/lib/libomp.*
rm -f $out/libllvmrt/libomp.*
'';
passthru = {

View File

@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
};
src = builtins.fetchGit {
url = "ssh://git@bscpm03.bsc.es/mercurium/mcxx";
url = "ssh://git@bscpm04.bsc.es/mercurium/mcxx";
ref = "master";
};

View File

@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
#src = /home/Computational/rarias/mcxx;
src = builtins.fetchGit {
url = "ssh://git@bscpm03.bsc.es/rarias/mcxx";
url = "ssh://git@bscpm04.bsc.es/rarias/mcxx";
rev = "44129a6ac05b8f78b06e9e2eff71438b5ca4d29f";
};

View File

@@ -17,7 +17,7 @@
, cachelineBytes ? 64
, enableGlibcxxDebug ? false
, useGit ? false
, gitUrl ? "ssh://git@bscpm03.bsc.es/nanos6/nanos6"
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
, gitBranch ? "master"
, gitCommit ? "9f54c988e0a8b9c011d9d526acdb8d76f18fcae4"
}:
@@ -48,7 +48,7 @@ let
source = if (useGit) then git else release;
in
stdenv.mkDerivation (source // rec {
stdenv.mkDerivation (source // {
pname = "nanos6";
prePatch = ''
@@ -62,7 +62,7 @@ in
export CACHELINE_WIDTH=${toString cachelineBytes}
./autogen.sh
'' + lib.optionalString (useGit) ''
export NANOS6_GIT_VERSION=${src.rev}
export NANOS6_GIT_VERSION=${gitCommit}
export NANOS6_GIT_BRANCH=${gitBranch}
'';

View File

@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
pname = "nixtools";
version = "${src.shortRev}";
src = builtins.fetchGit {
url = "ssh://git@bscpm03.bsc.es/rarias/nixtools";
url = "ssh://git@bscpm04.bsc.es/rarias/nixtools";
ref = "master";
rev = "a103e392048ace3ed88ce74648b32c9e6ed094da";
};

View File

@@ -6,7 +6,7 @@
, fetchFromGitHub
, useGit ? false
, gitBranch ? "master"
, gitUrl ? "ssh://git@bscpm03.bsc.es/rarias/ovni.git"
, gitUrl ? "ssh://git@bscpm04.bsc.es/rarias/ovni.git"
, gitCommit ? "a7103f8510d1ec124c3e01ceb47d1e443e98bbf4"
, enableDebug ? false
# Only enable MPI if the build is native (fails on cross-compilation)

View File

@@ -13,7 +13,7 @@
, enableOvni ? true
, ovni ? null
, useGit ? false
, gitUrl ? "ssh://git@bscpm03.bsc.es/interoperability/tampi.git"
, gitUrl ? "ssh://git@bscpm04.bsc.es/interoperability/tampi.git"
, gitBranch ? "master"
, gitCommit ? "a5c93bf8ab045b71ad4a8d5e2c991ce774db5cbc"
}: