forked from rarias/bscpkgs
Compare commits
29 Commits
pkgs/tasyc
...
f809c65bd0
| Author | SHA1 | Date | |
|---|---|---|---|
|
f809c65bd0
|
|||
|
caac03cec5
|
|||
|
9519a6bacc
|
|||
|
6b430a5a3f
|
|||
|
9143b335c3
|
|||
|
801a9f20d9
|
|||
|
95ad400991
|
|||
|
b90f4ccbe8
|
|||
|
f9aa83dc47
|
|||
|
2b646706ca
|
|||
|
b8c97e7abb
|
|||
|
762a455589
|
|||
|
5869ad06c2
|
|||
|
7d1a312e7d
|
|||
| 974bb56dc3 | |||
| 88d4d8e317 | |||
| 885e04e446 | |||
| 26f52aa27d | |||
| 52fe43bfe1 | |||
| f0637b4569 | |||
| 6ddfea0a3a | |||
| e7adef1ffa | |||
| e82d3c3b9f | |||
| 4442b6a706 | |||
| 2d0b014dc7 | |||
| 867ba3ec5a | |||
| 2cacc2b265 | |||
| e4abd8d8f6 | |||
| a87b99d0a4 |
8
flake.lock
generated
8
flake.lock
generated
@@ -2,10 +2,10 @@
|
|||||||
"nodes": {
|
"nodes": {
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1736867362,
|
"lastModified": 1752436162,
|
||||||
"narHash": "sha256-i/UJ5I7HoqmFMwZEH6vAvBxOrjjOJNU739lnZnhUln8=",
|
"narHash": "sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw=",
|
||||||
"path": "/nix/store/2csx2kkb2hxyxhhmg2xs9jfyypikwwk6-source",
|
"path": "/nix/store/zk8v61cpk1wprp9ld5ayc1g5fq4pdkwv-source",
|
||||||
"rev": "9c6b49aeac36e2ed73a8c472f1546f6d9cf1addc",
|
"rev": "dfcd5b901dbab46c9c6e80b265648481aafb01f8",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ let
|
|||||||
clangOmpss2NodesOmpv = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nodes; openmp = final.openmpv; };
|
clangOmpss2NodesOmpv = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nodes; openmp = final.openmpv; };
|
||||||
clangOmpss2Unwrapped = callPackage ./pkgs/llvm-ompss2/clang.nix { };
|
clangOmpss2Unwrapped = callPackage ./pkgs/llvm-ompss2/clang.nix { };
|
||||||
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated
|
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated
|
||||||
gpi-2 = callPackage ./pkgs/gpi-2/default.nix { };
|
#gpi-2 = callPackage ./pkgs/gpi-2/default.nix { }; # Broken: https://jungle.bsc.es/git/rarias/bscpkgs/issues/7
|
||||||
intel-apt = callPackage ./pkgs/intel-oneapi/packages.nix { };
|
intel-apt = callPackage ./pkgs/intel-oneapi/packages.nix { };
|
||||||
intelPackages_2023 = callPackage ./pkgs/intel-oneapi/2023.nix { };
|
intelPackages_2023 = callPackage ./pkgs/intel-oneapi/2023.nix { };
|
||||||
intelPackages_2024 = final.intel-apt.hpckit_2024;
|
intelPackages_2024 = final.intel-apt.hpckit_2024;
|
||||||
@@ -49,7 +49,7 @@ let
|
|||||||
stdenvClangOmpss2Nanos6 = final.stdenv.override { cc = final.clangOmpss2Nanos6; allowedRequisites = null; };
|
stdenvClangOmpss2Nanos6 = final.stdenv.override { cc = final.clangOmpss2Nanos6; allowedRequisites = null; };
|
||||||
stdenvClangOmpss2Nodes = final.stdenv.override { cc = final.clangOmpss2Nodes; allowedRequisites = null; };
|
stdenvClangOmpss2Nodes = final.stdenv.override { cc = final.clangOmpss2Nodes; allowedRequisites = null; };
|
||||||
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; };
|
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; };
|
||||||
tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
|
#tagaspi = callPackage ./pkgs/tagaspi/default.nix { }; # Broken due gpi-2
|
||||||
tampi = callPackage ./pkgs/tampi/default.nix { };
|
tampi = callPackage ./pkgs/tampi/default.nix { };
|
||||||
tasycl = callPackage ./pkgs/tasycl/default.nix { };
|
tasycl = callPackage ./pkgs/tasycl/default.nix { };
|
||||||
tasycl-acpp = callPackage ./pkgs/tasycl/default.nix { useIntel = false; };
|
tasycl-acpp = callPackage ./pkgs/tasycl/default.nix { useIntel = false; };
|
||||||
|
|||||||
@@ -1,14 +1,20 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
|
, bigotes
|
||||||
, cmake
|
, cmake
|
||||||
, clangOmpss2
|
, clangOmpss2
|
||||||
|
, openmp
|
||||||
|
, openmpv
|
||||||
, nanos6
|
, nanos6
|
||||||
, nodes
|
, nodes
|
||||||
|
, nosv
|
||||||
, mpi
|
, mpi
|
||||||
, tampi
|
, tampi
|
||||||
|
, openblas
|
||||||
|
, ovni
|
||||||
, gitBranch ? "master"
|
, gitBranch ? "master"
|
||||||
, gitURL ? "ssh://git@bscpm04.bsc.es/rarias/bench6.git"
|
, gitURL ? "ssh://git@bscpm04.bsc.es/rarias/bench6.git"
|
||||||
, gitCommit ? "1e6ce2aa8ad7b4eef38df1581d7ec48a8815f85d"
|
, gitCommit ? "bf29a53113737c3aa74d2fe3d55f59868faea7b4"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@@ -21,9 +27,28 @@ stdenv.mkDerivation rec {
|
|||||||
rev = gitCommit;
|
rev = gitCommit;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ cmake clangOmpss2 nanos6 nodes mpi tampi ];
|
buildInputs = [
|
||||||
|
bigotes
|
||||||
|
cmake
|
||||||
|
clangOmpss2
|
||||||
|
openmp
|
||||||
|
openmpv
|
||||||
|
nanos6
|
||||||
|
nodes
|
||||||
|
nosv
|
||||||
|
mpi
|
||||||
|
tampi
|
||||||
|
openblas
|
||||||
|
openblas.dev
|
||||||
|
ovni
|
||||||
|
];
|
||||||
|
|
||||||
|
env = {
|
||||||
|
NANOS6_HOME = nanos6;
|
||||||
|
NODES_HOME = nodes;
|
||||||
|
NOSV_HOME = nosv;
|
||||||
|
};
|
||||||
|
|
||||||
enableParallelBuilding = false;
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DCMAKE_C_COMPILER=clang"
|
"-DCMAKE_C_COMPILER=clang"
|
||||||
"-DCMAKE_CXX_COMPILER=clang++"
|
"-DCMAKE_CXX_COMPILER=clang++"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, ncurses
|
|
||||||
, lib
|
, lib
|
||||||
, dpkg
|
, dpkg
|
||||||
, rsync
|
, rsync
|
||||||
@@ -10,12 +9,9 @@
|
|||||||
, hwloc
|
, hwloc
|
||||||
, zlib
|
, zlib
|
||||||
, autoPatchelfHook
|
, autoPatchelfHook
|
||||||
, symlinkJoin
|
|
||||||
, libfabric
|
, libfabric
|
||||||
, gcc
|
, gcc13
|
||||||
, gcc7
|
|
||||||
, wrapCCWith
|
, wrapCCWith
|
||||||
, linuxHeaders
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
# The distribution of intel packages is a mess. We are doing the installation
|
# The distribution of intel packages is a mess. We are doing the installation
|
||||||
@@ -30,6 +26,8 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
|
gcc = gcc13;
|
||||||
|
|
||||||
v = {
|
v = {
|
||||||
hpckit = "2023.1.0";
|
hpckit = "2023.1.0";
|
||||||
compiler = "2023.1.0";
|
compiler = "2023.1.0";
|
||||||
@@ -305,6 +303,7 @@ let
|
|||||||
"intel-oneapi-compiler-shared-common-${version}"
|
"intel-oneapi-compiler-shared-common-${version}"
|
||||||
"intel-oneapi-compiler-shared-runtime-${version}"
|
"intel-oneapi-compiler-shared-runtime-${version}"
|
||||||
];
|
];
|
||||||
|
dontCheckForBrokenSymlinks = true;
|
||||||
# From https://aur.archlinux.org/packages/intel-oneapi-compiler:
|
# From https://aur.archlinux.org/packages/intel-oneapi-compiler:
|
||||||
# - intel-oneapi-compiler-cpp-eclipse-cfg-2023.0.0-25370_all.deb
|
# - intel-oneapi-compiler-cpp-eclipse-cfg-2023.0.0-25370_all.deb
|
||||||
# + intel-oneapi-compiler-dpcpp-cpp-2023.0.0-2023.0.0-25370_amd64.deb
|
# + intel-oneapi-compiler-dpcpp-cpp-2023.0.0-2023.0.0-25370_amd64.deb
|
||||||
@@ -399,7 +398,9 @@ let
|
|||||||
done
|
done
|
||||||
|
|
||||||
# Need the gcc in the path
|
# Need the gcc in the path
|
||||||
echo 'export "PATH=${mygcc}/bin:$PATH"' >> $out/nix-support/cc-wrapper-hook
|
# FIXME: We should find a better way to modify the PATH instead of using
|
||||||
|
# this ugly hack. See https://jungle.bsc.es/git/rarias/bscpkgs/issues/9
|
||||||
|
echo 'path_backup="${mygcc}/bin:$path_backup"' >> $out/nix-support/cc-wrapper-hook
|
||||||
|
|
||||||
# Disable hardening by default
|
# Disable hardening by default
|
||||||
echo "" > $out/nix-support/add-hardening.sh
|
echo "" > $out/nix-support/add-hardening.sh
|
||||||
|
|||||||
@@ -46,24 +46,14 @@ let
|
|||||||
in (wrapCCWith {
|
in (wrapCCWith {
|
||||||
inherit cc;
|
inherit cc;
|
||||||
extraBuildCommands = ''
|
extraBuildCommands = ''
|
||||||
|
echo "-isystem ${cc}/include" >> $out/nix-support/cc-cflags
|
||||||
|
echo "-isystem ${cc}/include/intel64" >> $out/nix-support/cc-cflags
|
||||||
|
|
||||||
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
|
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gcc.version}" >> $out/nix-support/cc-ldflags
|
||||||
echo "-L${gcc.cc.lib}/lib" >> $out/nix-support/cc-ldflags
|
echo "-L${gcc.cc.lib}/lib" >> $out/nix-support/cc-ldflags
|
||||||
echo "-L${cc}/lib" >> $out/nix-support/cc-ldflags
|
echo "-L${cc}/lib" >> $out/nix-support/cc-ldflags
|
||||||
|
|
||||||
echo "--gcc-toolchain=${gcc.cc}" >> $out/nix-support/cc-cflags
|
echo "--gcc-toolchain=${gcc.cc}" >> $out/nix-support/libcxx-cxxflags
|
||||||
|
|
||||||
# For some reason, If we don't resolve the realpath things go wrong
|
|
||||||
for stddef in ${cc}/lib/clang/*/include/stddef.h ; do
|
|
||||||
dir=$(dirname $(realpath "$stddef"))
|
|
||||||
echo "-isystem $dir" >> $out/nix-support/cc-cflags
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "-isystem ${cc}/include" >> $out/nix-support/cc-cflags
|
|
||||||
echo "-isystem ${cc}/include/intel64" >> $out/nix-support/cc-cflags
|
|
||||||
|
|
||||||
for dir in ${gcc.cc}/lib/gcc/${targetConfig}/*/include; do
|
|
||||||
echo "-isystem $dir" >> $out/nix-support/cc-cflags
|
|
||||||
done
|
|
||||||
|
|
||||||
for dir in ${gcc.cc}/include/c++/*; do
|
for dir in ${gcc.cc}/include/c++/*; do
|
||||||
echo "-isystem $dir" >> $out/nix-support/libcxx-cxxflags
|
echo "-isystem $dir" >> $out/nix-support/libcxx-cxxflags
|
||||||
@@ -78,6 +68,12 @@ let
|
|||||||
# Disable hardening by default
|
# Disable hardening by default
|
||||||
echo "" > $out/nix-support/add-hardening.sh
|
echo "" > $out/nix-support/add-hardening.sh
|
||||||
|
|
||||||
|
# For some reason, If we don't resolve the realpath things go wrong
|
||||||
|
for stddef in ${cc}/lib/clang/*/include/stddef.h ; do
|
||||||
|
dir=$(dirname $(realpath "$stddef"))
|
||||||
|
echo "-isystem $dir" >> $out/nix-support/cc-cflags
|
||||||
|
done
|
||||||
|
|
||||||
'' + extraBuildCommands;
|
'' + extraBuildCommands;
|
||||||
} // (removeAttrs args ["cc" "extraBuildCommands" "extraInstall"])
|
} // (removeAttrs args ["cc" "extraBuildCommands" "extraInstall"])
|
||||||
).overrideAttrs (old: {
|
).overrideAttrs (old: {
|
||||||
@@ -157,6 +153,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||||||
|
|
||||||
sed -i 's/.*isCxx=0/isCxx=1/' $out/bin/icpx
|
sed -i 's/.*isCxx=0/isCxx=1/' $out/bin/icpx
|
||||||
|
|
||||||
|
# oneMath looks for sycl libraries in bin/../lib
|
||||||
ln -s ${finalAttrs.finalPackage.pkgs.compiler}/lib $out/lib
|
ln -s ${finalAttrs.finalPackage.pkgs.compiler}/lib $out/lib
|
||||||
ln -s ${finalAttrs.finalPackage.pkgs.compiler}/include $out/include
|
ln -s ${finalAttrs.finalPackage.pkgs.compiler}/include $out/include
|
||||||
'';
|
'';
|
||||||
|
|||||||
@@ -16,19 +16,19 @@
|
|||||||
, useGit ? false
|
, useGit ? false
|
||||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/llvm-ompss/llvm-mono.git"
|
, gitUrl ? "ssh://git@bscpm04.bsc.es/llvm-ompss/llvm-mono.git"
|
||||||
, gitBranch ? "master"
|
, gitBranch ? "master"
|
||||||
, gitCommit ? "8c0d267c04d7fc3fb923078f510fcd5f4719a6cc"
|
, gitCommit ? "880e2341c56bad1dc14e8c369fb3356bec19018e"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
stdenv = llvmPackages_latest.stdenv;
|
stdenv = llvmPackages_latest.stdenv;
|
||||||
|
|
||||||
release = rec {
|
release = rec {
|
||||||
version = "2024.11";
|
version = "2025.06";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bsc-pm";
|
owner = "bsc-pm";
|
||||||
repo = "llvm";
|
repo = "llvm";
|
||||||
rev = "refs/tags/github-release-${version}";
|
rev = "refs/tags/github-release-${version}";
|
||||||
hash = "sha256-pF0qa987nLkIJPUrXh1srzBkLPfb31skIegD0bl34Kg=";
|
hash = "sha256-ww9PpRmtz/M9IyLiZ8rAehx2UW4VpQt+svf4XfKBzKo=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -39,25 +39,6 @@ let
|
|||||||
cc = clangOmpss2Unwrapped;
|
cc = clangOmpss2Unwrapped;
|
||||||
gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
|
gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
|
||||||
|
|
||||||
resetIntelCCFlags = let tconf = builtins.replaceStrings ["-"] ["_"] targetConfig;
|
|
||||||
in writeShellScript "remove-intel.sh" ''
|
|
||||||
if [ "$NIX_CC_WRAPPER_INTEL" = 1 ]; then
|
|
||||||
unset NIX_CFLAGS_COMPILE_${tconf}
|
|
||||||
unset NIX_CFLAGS_COMPILE_BEFORE_${tconf}
|
|
||||||
unset NIX_CFLAGS_LINK_${tconf}
|
|
||||||
unset NIX_CXXSTDLIB_COMPILE_${tconf}
|
|
||||||
unset NIX_CXXSTDLIB_LINK_${tconf}
|
|
||||||
unset NIX_GNATFLAGS_COMPILE_${tconf}
|
|
||||||
|
|
||||||
unset NIX_CC_WRAPPER_FLAGS_SET_${tconf}
|
|
||||||
# unset NIX_BINTOOLS_WRAPPER_FLAGS_${tconf}
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
in wrapCCWith {
|
|
||||||
inherit cc bintools;
|
|
||||||
# extraPackages adds packages to depsTargetTargetPropagated
|
|
||||||
extraPackages = optional (openmp != null) openmp;
|
|
||||||
extraBuildCommands = ''
|
extraBuildCommands = ''
|
||||||
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
|
||||||
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-cflags
|
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-cflags
|
||||||
@@ -77,19 +58,50 @@ in wrapCCWith {
|
|||||||
echo "--gcc-toolchain=${gcc}" >> $out/nix-support/cc-cflags
|
echo "--gcc-toolchain=${gcc}" >> $out/nix-support/cc-cflags
|
||||||
|
|
||||||
wrap clang++ $wrapper $ccPath/clang++
|
wrap clang++ $wrapper $ccPath/clang++
|
||||||
|
|
||||||
sed -i 's|# Flirting.*|&\nsource ${resetIntelCCFlags}|' $out/bin/clang
|
|
||||||
sed -i 's|# Flirting.*|&\nsource ${resetIntelCCFlags}|' $out/bin/clang++
|
|
||||||
|
|
||||||
echo "" > $out/nix-support/add-hardening.sh
|
|
||||||
|
|
||||||
'' + lib.optionalString (openmp != null) ''
|
|
||||||
echo "export OPENMP_RUNTIME=${ompname}" >> $out/nix-support/cc-wrapper-hook
|
|
||||||
'' + optionalString (ompss2rt != null) ''
|
|
||||||
echo "export OMPSS2_RUNTIME=${rtname}" >> $out/nix-support/cc-wrapper-hook
|
|
||||||
echo "export ${homevar}=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook
|
|
||||||
'' + optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
|
|
||||||
echo "export NOSV_HOME=${ompss2rt.nosv}" >> $out/nix-support/cc-wrapper-hook
|
|
||||||
'';
|
'';
|
||||||
}
|
|
||||||
|
|
||||||
|
envExports = lib.optionalString (openmp != null) ''
|
||||||
|
echo "export OPENMP_RUNTIME=${ompname}" >> $out/nix-support/cc-wrapper-hook
|
||||||
|
'' + optionalString (ompss2rt != null) ''
|
||||||
|
echo "export OMPSS2_RUNTIME=${rtname}" >> $out/nix-support/cc-wrapper-hook
|
||||||
|
echo "export ${homevar}=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook
|
||||||
|
'' + optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
|
||||||
|
echo "export NOSV_HOME=${ompss2rt.nosv}" >> $out/nix-support/cc-wrapper-hook
|
||||||
|
'';
|
||||||
|
|
||||||
|
extraPackages = optional (openmp != null) openmp;
|
||||||
|
|
||||||
|
wrappedCC = wrapCCWith {
|
||||||
|
# extraPackages adds packages to depsTargetTargetPropagated
|
||||||
|
inherit cc bintools extraPackages;
|
||||||
|
extraBuildCommands = extraBuildCommands + envExports;
|
||||||
|
};
|
||||||
|
|
||||||
|
resetIntelCCFlags = let tconf = builtins.replaceStrings ["-"] ["_"] targetConfig;
|
||||||
|
in writeShellScript "remove-intel.sh" ''
|
||||||
|
if [ "''${NIX_CC_WRAPPER_INTEL:-0}" = 1 ]; then
|
||||||
|
unset NIX_CFLAGS_COMPILE_${tconf}
|
||||||
|
unset NIX_CC_WRAPPER_FLAGS_SET_${tconf}
|
||||||
|
|
||||||
|
if (( "''${NIX_DEBUG:-0}" >= 1 )); then
|
||||||
|
echo "ompss2: cleaned NIX_CFLAGS_COMPILE_${tconf} (invokation from intel compiler detected)"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
intelExtraBuildCommands = ''
|
||||||
|
sed -i 's|# Flirting.*|source ${resetIntelCCFlags}\n\n&|' $out/bin/clang
|
||||||
|
sed -i 's|# Flirting.*|source ${resetIntelCCFlags}\n\n&|' $out/bin/clang++
|
||||||
|
'';
|
||||||
|
|
||||||
|
wrappedCCIntel = wrapCCWith {
|
||||||
|
inherit cc bintools extraPackages;
|
||||||
|
# extraPackages adds packages to depsTargetTargetPropagated
|
||||||
|
extraBuildCommands = intelExtraBuildCommands + envExports;
|
||||||
|
};
|
||||||
|
|
||||||
|
in wrappedCC.overrideAttrs (oldAttrs: {
|
||||||
|
passthru = oldAttrs.passthru // {
|
||||||
|
forIcpx = wrappedCCIntel;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|||||||
@@ -17,16 +17,12 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "sha256-SzwplRBO3V0R3m3p15n71ivYBMGoLsajFK2TapYxdqk=";
|
sha256 = "sha256-SzwplRBO3V0R3m3p15n71ivYBMGoLsajFK2TapYxdqk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postUnpack = ''
|
|
||||||
export sourceRoot="$sourceRoot/src"
|
|
||||||
'';
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
sed -i "s@/bin/rm@rm@g" $(find . -name Makefile)
|
sed -i "s@/bin/rm@rm@g" $(find . -name Makefile)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [ libtirpc ];
|
buildInputs = [ libtirpc ];
|
||||||
patches = [ ./fix-install.patch ];
|
patches = [ ./fix-install.patch ./gcc-14.patch ];
|
||||||
|
|
||||||
hardeningDisable = [ "all" ];
|
hardeningDisable = [ "all" ];
|
||||||
|
|
||||||
@@ -34,7 +30,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
makeFlagsArray+=(
|
makeFlagsArray+=(
|
||||||
|
-C src
|
||||||
BASE=$out
|
BASE=$out
|
||||||
|
CFLAGS=-Wno-implicit-int
|
||||||
CPPFLAGS=-I${libtirpc.dev}/include/tirpc
|
CPPFLAGS=-I${libtirpc.dev}/include/tirpc
|
||||||
LDFLAGS=-ltirpc
|
LDFLAGS=-ltirpc
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
--- a/Makefile
|
--- a/src/Makefile
|
||||||
+++ b/Makefile
|
+++ b/src/Makefile
|
||||||
@@ -144,6 +144,7 @@ install-target:
|
@@ -144,6 +144,7 @@ install-target:
|
||||||
if [ ! -d $(BASE)/include ]; then mkdir $(BASE)/include; fi
|
if [ ! -d $(BASE)/include ]; then mkdir $(BASE)/include; fi
|
||||||
if [ ! -d $(BASE)/lib ]; then mkdir $(BASE)/lib; fi
|
if [ ! -d $(BASE)/lib ]; then mkdir $(BASE)/lib; fi
|
||||||
|
|||||||
77
pkgs/lmbench/gcc-14.patch
Normal file
77
pkgs/lmbench/gcc-14.patch
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
From a3c6e7d303cd8368e8d4e35be7cbc1997e801257 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
|
||||||
|
Date: Mon, 21 Jul 2025 17:38:58 +0200
|
||||||
|
Subject: [PATCH] Misc fixes to build with gcc 14
|
||||||
|
|
||||||
|
---
|
||||||
|
src/bench.h | 2 ++
|
||||||
|
src/lat_select.c | 2 +-
|
||||||
|
src/lib_debug.c | 1 +
|
||||||
|
src/lib_sched.c | 2 +-
|
||||||
|
src/lib_timing.c | 2 +-
|
||||||
|
5 files changed, 6 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/bench.h b/src/bench.h
|
||||||
|
index 8166408..4da9079 100644
|
||||||
|
--- a/src/bench.h
|
||||||
|
+++ b/src/bench.h
|
||||||
|
@@ -320,4 +320,6 @@ extern int handle_scheduler(int childno, int benchproc, int nbenchprocs);
|
||||||
|
extern char *rpc_xact_1();
|
||||||
|
extern char *client_rpc_xact_1();
|
||||||
|
|
||||||
|
+void lmbench_usage(int argc, char *argv[], char* usage);
|
||||||
|
+
|
||||||
|
#endif /* _BENCH_H */
|
||||||
|
diff --git a/src/lat_select.c b/src/lat_select.c
|
||||||
|
index 583b505..39df369 100644
|
||||||
|
--- a/src/lat_select.c
|
||||||
|
+++ b/src/lat_select.c
|
||||||
|
@@ -164,7 +164,7 @@ doit(iter_t iterations, void * cookie)
|
||||||
|
state_t * state = (state_t *)cookie;
|
||||||
|
fd_set nosave;
|
||||||
|
static struct timeval tv;
|
||||||
|
- static count = 0;
|
||||||
|
+ static int count = 0;
|
||||||
|
|
||||||
|
tv.tv_sec = 0;
|
||||||
|
tv.tv_usec = 0;
|
||||||
|
diff --git a/src/lib_debug.c b/src/lib_debug.c
|
||||||
|
index e8347dd..cf65312 100644
|
||||||
|
--- a/src/lib_debug.c
|
||||||
|
+++ b/src/lib_debug.c
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
#include "bench.h"
|
||||||
|
#include "lib_debug.h"
|
||||||
|
+#include <math.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* return micro-seconds / iteration at the the fraction point.
|
||||||
|
diff --git a/src/lib_sched.c b/src/lib_sched.c
|
||||||
|
index aa83ae0..4f16bbf 100644
|
||||||
|
--- a/src/lib_sched.c
|
||||||
|
+++ b/src/lib_sched.c
|
||||||
|
@@ -91,7 +91,7 @@ handle_scheduler(int childno, int benchproc, int nbenchprocs)
|
||||||
|
childno * (nbenchprocs + 1) + benchproc);
|
||||||
|
} else {
|
||||||
|
/* default action: do nothing */
|
||||||
|
- return;
|
||||||
|
+ return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return sched_pin(cpu % sched_ncpus());
|
||||||
|
diff --git a/src/lib_timing.c b/src/lib_timing.c
|
||||||
|
index af8cf68..7ec9652 100644
|
||||||
|
--- a/src/lib_timing.c
|
||||||
|
+++ b/src/lib_timing.c
|
||||||
|
@@ -1623,7 +1623,7 @@ bread(void* buf, long nbytes)
|
||||||
|
void
|
||||||
|
touch(char *buf, int nbytes)
|
||||||
|
{
|
||||||
|
- static psize;
|
||||||
|
+ static int psize;
|
||||||
|
|
||||||
|
if (!psize) {
|
||||||
|
psize = getpagesize();
|
||||||
|
--
|
||||||
|
2.49.0
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
, useGit ? false
|
, useGit ? false
|
||||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
|
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
|
||||||
, gitBranch ? "master"
|
, gitBranch ? "master"
|
||||||
, gitCommit ? "9f54c988e0a8b9c011d9d526acdb8d76f18fcae4"
|
, gitCommit ? "f82762b66c82b5174a8eaad33f6c2f335ac759b4"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert enableJemalloc -> (jemallocNanos6 != null);
|
assert enableJemalloc -> (jemallocNanos6 != null);
|
||||||
@@ -28,12 +28,12 @@ with lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
release = rec {
|
release = rec {
|
||||||
version = "4.2";
|
version = "4.3";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bsc-pm";
|
owner = "bsc-pm";
|
||||||
repo = "nanos6";
|
repo = "nanos6";
|
||||||
rev = "version-${version}";
|
rev = "version-${version}";
|
||||||
hash = "sha256-tBrRGLCjSFYdmVGPAC2DzYY6HJyZGUOMeykujafn7+4=";
|
hash = "sha256-/c6WiKBsAo/01uvMRmjv0PMucbrgvaGmbxlPE6q+dfE=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -11,19 +11,19 @@
|
|||||||
, useGit ? false
|
, useGit ? false
|
||||||
, gitUrl ? "git@gitlab-internal.bsc.es:nos-v/nos-v.git"
|
, gitUrl ? "git@gitlab-internal.bsc.es:nos-v/nos-v.git"
|
||||||
, gitBranch ? "master"
|
, gitBranch ? "master"
|
||||||
, gitCommit ? "cfd361bd1dd30c96da405e6bbaa7e78f5f93dfda"
|
, gitCommit ? "9f47063873c3aa9d6a47482a82c5000a8c813dd8"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
release = rec {
|
release = rec {
|
||||||
version = "3.1.0";
|
version = "3.2.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bsc-pm";
|
owner = "bsc-pm";
|
||||||
repo = "nos-v";
|
repo = "nos-v";
|
||||||
rev = "${version}";
|
rev = "${version}";
|
||||||
hash = "sha256-Pkre+ZZsREDxJLCoIoPN1HQDuUa2H1IQyKB3omg6qaU=";
|
hash = "sha256-yaz92426EM8trdkBJlISmAoG9KJCDTvoAW/HKrasvOw=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,40 +1,51 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, intelPackages
|
|
||||||
, withCFlags
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, cmake
|
, cmake
|
||||||
, cudaPackages
|
, withCFlags
|
||||||
, enableNvidia ? true
|
, intelPackages
|
||||||
, withHipTargets ? null # only one target at a time supported
|
|
||||||
, rocmPackages
|
, mklSupport ? true
|
||||||
, enableMkl ? true
|
|
||||||
|
, config
|
||||||
|
|
||||||
|
, cudaSupport ? config.cudaSupport
|
||||||
|
, cudaPackages ? { }
|
||||||
|
|
||||||
|
, rocmSupport ? config.rocmSupport
|
||||||
|
, hipTargets ? null # only one target at a time supported
|
||||||
|
, rocmPackages ? { }
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
enableHip = withHipTargets != null;
|
# rocmSupport is not enough, we need a specific target
|
||||||
|
enableHip = rocmSupport && hipTargets != null;
|
||||||
|
|
||||||
stdenv = withCFlags (lib.optionals enableNvidia [ "--cuda-path=${cudaPackages.cudatoolkit}" ]) intelPackages.stdenv;
|
stdenv = withCFlags (lib.optionals cudaSupport [ "--cuda-path=${cudaPackages.cudatoolkit}" ]) intelPackages.stdenv;
|
||||||
in
|
in
|
||||||
|
|
||||||
|
# at least one backend has to be enabled
|
||||||
|
assert mklSupport || cudaSupport || enableHip;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "oneMath";
|
pname = "oneMath";
|
||||||
version = "0.7";
|
version = "0.8";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "uxlfoundation";
|
owner = "uxlfoundation";
|
||||||
repo = "oneMath";
|
repo = "oneMath";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-De04PUmI68Jx4rJ+MRb+RepayZCapgnouCUCrAu6G38=";
|
sha256 = "sha256-xK8lKI3oqKlx3xtvdScpMq+HXAuoYCP0BZdkEqnJP5o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
(lib.cmakeBool "ENABLE_MKLCPU_BACKEND" enableMkl)
|
(lib.cmakeBool "ENABLE_MKLCPU_BACKEND" mklSupport)
|
||||||
(lib.cmakeBool "ENABLE_MKLGPU_BACKEND" enableMkl)
|
(lib.cmakeBool "ENABLE_MKLGPU_BACKEND" mklSupport)
|
||||||
|
|
||||||
(lib.cmakeBool "ENABLE_CUBLAS_BACKEND" enableNvidia)
|
(lib.cmakeBool "ENABLE_CUBLAS_BACKEND" cudaSupport)
|
||||||
(lib.cmakeBool "ENABLE_CUFFT_BACKEND" enableNvidia)
|
(lib.cmakeBool "ENABLE_CUFFT_BACKEND" cudaSupport)
|
||||||
(lib.cmakeBool "ENABLE_CURAND_BACKEND" enableNvidia)
|
(lib.cmakeBool "ENABLE_CURAND_BACKEND" cudaSupport)
|
||||||
(lib.cmakeBool "ENABLE_CUSOLVER_BACKEND" enableNvidia)
|
(lib.cmakeBool "ENABLE_CUSOLVER_BACKEND" cudaSupport)
|
||||||
(lib.cmakeBool "ENABLE_CUSPARSE_BACKEND" enableNvidia)
|
(lib.cmakeBool "ENABLE_CUSPARSE_BACKEND" cudaSupport)
|
||||||
|
|
||||||
(lib.cmakeBool "ENABLE_ROCBLAS_BACKEND" enableHip)
|
(lib.cmakeBool "ENABLE_ROCBLAS_BACKEND" enableHip)
|
||||||
(lib.cmakeBool "ENABLE_ROCFFT_BACKEND" enableHip)
|
(lib.cmakeBool "ENABLE_ROCFFT_BACKEND" enableHip)
|
||||||
@@ -45,11 +56,11 @@ stdenv.mkDerivation rec {
|
|||||||
(lib.cmakeBool "BUILD_FUNCTIONAL_TESTS" false)
|
(lib.cmakeBool "BUILD_FUNCTIONAL_TESTS" false)
|
||||||
(lib.cmakeBool "BUILD_EXAMPLES" false)
|
(lib.cmakeBool "BUILD_EXAMPLES" false)
|
||||||
] ++ lib.optionals enableHip [
|
] ++ lib.optionals enableHip [
|
||||||
(lib.cmakeFeature "HIP_TARGETS" withHipTargets)
|
(lib.cmakeFeature "HIP_TARGETS" hipTargets)
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
buildInputs = lib.optionals (enableMkl) [
|
buildInputs = lib.optionals (mklSupport) [
|
||||||
intelPackages.mkl
|
intelPackages.mkl
|
||||||
intelPackages.tbb
|
intelPackages.tbb
|
||||||
] ++ lib.optionals (enableHip) [
|
] ++ lib.optionals (enableHip) [
|
||||||
@@ -59,7 +70,7 @@ stdenv.mkDerivation rec {
|
|||||||
rocmPackages.rocsolver
|
rocmPackages.rocsolver
|
||||||
rocmPackages.rocrand
|
rocmPackages.rocrand
|
||||||
rocmPackages.rocsparse
|
rocmPackages.rocsparse
|
||||||
] ++ lib.optionals (enableNvidia) [
|
] ++ lib.optionals (cudaSupport) [
|
||||||
(lib.getDev cudaPackages.cuda_cudart)
|
(lib.getDev cudaPackages.cuda_cudart)
|
||||||
cudaPackages.cudatoolkit
|
cudaPackages.cudatoolkit
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
, useGit ? false
|
, useGit ? false
|
||||||
, gitBranch ? "master"
|
, gitBranch ? "master"
|
||||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/rarias/ovni.git"
|
, gitUrl ? "ssh://git@bscpm04.bsc.es/rarias/ovni.git"
|
||||||
, gitCommit ? "a7103f8510d1ec124c3e01ceb47d1e443e98bbf4"
|
, gitCommit ? "e4f62382076f0cf0b1d08175cf57cc0bc51abc61"
|
||||||
, enableDebug ? false
|
, enableDebug ? false
|
||||||
# Only enable MPI if the build is native (fails on cross-compilation)
|
# Only enable MPI if the build is native (fails on cross-compilation)
|
||||||
, useMpi ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform)
|
, useMpi ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform)
|
||||||
@@ -17,13 +17,13 @@ with lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
release = rec {
|
release = rec {
|
||||||
version = "1.11.0";
|
version = "1.12.0";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bsc-pm";
|
owner = "bsc-pm";
|
||||||
repo = "ovni";
|
repo = "ovni";
|
||||||
rev = "${version}";
|
rev = "${version}";
|
||||||
hash = "sha256-DEZUK1dvbPGH5WYkZ2hpP5PShkMxXkHOqMwgYUHHxeM=";
|
hash = "sha256-H04JvsVKrdqr3ON7JhU0g17jjlg/jzQ7eTfx9vUNd3E=";
|
||||||
} // { shortRev = "a7103f8"; };
|
} // { shortRev = "a73afcf"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
git = rec {
|
git = rec {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
stdenv
|
stdenv
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, boost
|
, boost186
|
||||||
, libxml2
|
, libxml2
|
||||||
, xml2
|
, xml2
|
||||||
, wxGTK32
|
, wxGTK32
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
wx = wxGTK32;
|
wx = wxGTK32;
|
||||||
|
boost = boost186;
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "wxparaver";
|
pname = "wxparaver";
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
, useGit ? false
|
, useGit ? false
|
||||||
, gitUrl ? "ssh://git@bscpm04.bsc.es/interoperability/tampi.git"
|
, gitUrl ? "ssh://git@bscpm04.bsc.es/interoperability/tampi.git"
|
||||||
, gitBranch ? "master"
|
, gitBranch ? "master"
|
||||||
, gitCommit ? "a5c93bf8ab045b71ad4a8d5e2c991ce774db5cbc"
|
, gitCommit ? "f6455db9d3124ae36e715a4874fd49720e79f20a"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
@@ -24,12 +24,12 @@ assert enableOvni -> (ovni != null);
|
|||||||
|
|
||||||
let
|
let
|
||||||
release = rec {
|
release = rec {
|
||||||
version = "4.0";
|
version = "4.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bsc-pm";
|
owner = "bsc-pm";
|
||||||
repo = "tampi";
|
repo = "tampi";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-R7ew5tsrxGReTvOeeZe1FD0oThBhOHoDGv6Mo2sbmDg=";
|
hash = "sha256-SwfPSnwcZnRnSgNvCD5sFSUJRpWINqI5I4adj5Hh+XY=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
git = rec {
|
git = rec {
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
, gnumake
|
, gnumake
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, boost
|
, boost
|
||||||
, opensycl ? null
|
|
||||||
, adaptivecpp ? null
|
, adaptivecpp ? null
|
||||||
, useIntel ? true
|
, useIntel ? true
|
||||||
|
|
||||||
@@ -19,17 +18,9 @@
|
|||||||
, gitCommit ? "78f98dcf60a66e0eaa3b4ebcf55be076bec64825"
|
, gitCommit ? "78f98dcf60a66e0eaa3b4ebcf55be076bec64825"
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert (useIntel || opensycl != null || adaptivecpp != null);
|
assert (useIntel || adaptivecpp != null);
|
||||||
|
|
||||||
let
|
let
|
||||||
# opensycl has migrated to adaptivecpp
|
|
||||||
acpp-flags =
|
|
||||||
if adaptivecpp == null then
|
|
||||||
[ "-L${opensycl}/lib" "-lhipSYCL-rt" "-I${opensycl}/include" ]
|
|
||||||
else
|
|
||||||
[ "-L${adaptivecpp}/lib" "-lacpp-rt" "-I${adaptivecpp}/include" ]
|
|
||||||
;
|
|
||||||
|
|
||||||
variant = if useIntel then "intel" else "acpp";
|
variant = if useIntel then "intel" else "acpp";
|
||||||
|
|
||||||
syclStdenv =
|
syclStdenv =
|
||||||
@@ -38,7 +29,7 @@ let
|
|||||||
# intel disables all optimizations
|
# intel disables all optimizations
|
||||||
withCFlags ["-O3"] intelPackages.stdenv
|
withCFlags ["-O3"] intelPackages.stdenv
|
||||||
else
|
else
|
||||||
withCFlags acpp-flags stdenv
|
withCFlags [ "-L${adaptivecpp}/lib" "-lacpp-rt" "-I${adaptivecpp}/include" ] stdenv
|
||||||
;
|
;
|
||||||
|
|
||||||
release = rec {
|
release = rec {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ writeText, intelPackages, nodes, nosv, clangOmpss2Nodes, clangOmpss2Unwrapped, clangOmpss2, strace }:
|
{ writeText, intelPackages, nodes, nosv, clangOmpss2Nodes, strace }:
|
||||||
|
|
||||||
let
|
let
|
||||||
hello_cpp = writeText "hello.cpp" ''
|
hello_cpp = writeText "hello.cpp" ''
|
||||||
@@ -44,6 +44,10 @@ intelPackages.stdenv.mkDerivation {
|
|||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
|
|
||||||
|
# NODES requires access to /sys/devices to request NUMA information. It will
|
||||||
|
# fail to run otherwise, so we disable the sandbox for this test.
|
||||||
|
__noChroot = true;
|
||||||
|
|
||||||
env.NODES_HOME = nodes;
|
env.NODES_HOME = nodes;
|
||||||
|
|
||||||
NIX_DEBUG = 0;
|
NIX_DEBUG = 0;
|
||||||
@@ -54,9 +58,9 @@ intelPackages.stdenv.mkDerivation {
|
|||||||
echo NODES_HOME=$NODES_HOME
|
echo NODES_HOME=$NODES_HOME
|
||||||
command -v $CXX
|
command -v $CXX
|
||||||
|
|
||||||
icpx -fsycl \
|
icpx -Wno-deprecated-declarations -fsycl \
|
||||||
-fsycl-host-compiler=${clangOmpss2Nodes}/bin/clang++ \
|
-fsycl-host-compiler=${clangOmpss2Nodes.forIcpx}/bin/clang++ \
|
||||||
-fsycl-host-compiler-options='-fompss-2=libnodes' \
|
-fsycl-host-compiler-options='-Wno-deprecated-declarations -fompss-2=libnodes' \
|
||||||
-lnodes -lnosv \
|
-lnodes -lnosv \
|
||||||
$NODES_HOME/lib/nodes-main-wrapper.o \
|
$NODES_HOME/lib/nodes-main-wrapper.o \
|
||||||
hello.cpp -o hello
|
hello.cpp -o hello
|
||||||
|
|||||||
Reference in New Issue
Block a user