Compare commits
	
		
			17 Commits
		
	
	
		
			fece91e756
			...
			24326d4fce
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 24326d4fce | |||
| f4472f6082 | |||
| 1ac5992754 | |||
| 26f52aa27d | |||
| 52fe43bfe1 | |||
| f0637b4569 | |||
| 6ddfea0a3a | |||
| e7adef1ffa | |||
| e82d3c3b9f | |||
| 4442b6a706 | |||
| 2d0b014dc7 | |||
| 867ba3ec5a | |||
| 2cacc2b265 | |||
| e4abd8d8f6 | |||
| a87b99d0a4 | |||
| 43d32ac16d | |||
| 9d1944c658 | 
							
								
								
									
										22
									
								
								default.nix
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								default.nix
									
									
									
									
									
								
							| @ -1,11 +1,19 @@ | |||||||
| let | let | ||||||
|   bscOverlay = import ./overlay.nix; |   bscOverlay = import ./overlay.nix; | ||||||
| 
 | 
 | ||||||
|   # Pin the nixpkgs |   # read flake.lock and determine revision from there | ||||||
|   nixpkgsPath = import ./nixpkgs.nix; |   lock = builtins.fromJSON (builtins.readFile ./flake.lock); | ||||||
| 
 |   inherit (lock.nodes.nixpkgs.locked) rev narHash; | ||||||
|   pkgs = import nixpkgsPath { |   fetchedNixpkgs = builtins.fetchTarball { | ||||||
|     overlays = [ bscOverlay ]; |     url = "https://github.com/NixOS/nixpkgs/archive/${rev}.tar.gz"; | ||||||
|  |     sha256 = narHash; | ||||||
|   }; |   }; | ||||||
| 
 | in | ||||||
| in pkgs | { overlays ? [ ] | ||||||
|  | , nixpkgs ? fetchedNixpkgs | ||||||
|  | , ... | ||||||
|  | }@attrs: | ||||||
|  | import nixpkgs ( | ||||||
|  |   (builtins.removeAttrs attrs [ "overlays" "nixpkgs" ]) // | ||||||
|  |   { overlays = [ bscOverlay ] ++ overlays; } | ||||||
|  | ) | ||||||
|  | |||||||
| @ -1,9 +0,0 @@ | |||||||
| let |  | ||||||
|   commit = "e4ad989506ec7d71f7302cc3067abd82730a4beb"; |  | ||||||
| in builtins.fetchTarball { |  | ||||||
|     # Descriptive name to make the store path easier to identify |  | ||||||
|     name = "nixpkgs-${commit}"; |  | ||||||
|     url = "https://github.com/nixos/nixpkgs/archive/${commit}.tar.gz"; |  | ||||||
|     # Hash obtained using `nix-prefetch-url --unpack <url>` |  | ||||||
|     sha256 = "sha256-de9KYi8rSJpqvBfNwscWdalIJXPo8NjdIZcEJum1mH0="; |  | ||||||
| } |  | ||||||
| @ -21,7 +21,7 @@ let | |||||||
|     #gpi-2 = callPackage ./pkgs/gpi-2/default.nix { }; # Broken: https://jungle.bsc.es/git/rarias/bscpkgs/issues/7 |     #gpi-2 = callPackage ./pkgs/gpi-2/default.nix { }; # Broken: https://jungle.bsc.es/git/rarias/bscpkgs/issues/7 | ||||||
|     intelPackages_2023 = callPackage ./pkgs/intel-oneapi/2023.nix { }; |     intelPackages_2023 = callPackage ./pkgs/intel-oneapi/2023.nix { }; | ||||||
|     jemallocNanos6 = callPackage ./pkgs/nanos6/jemalloc.nix { }; |     jemallocNanos6 = callPackage ./pkgs/nanos6/jemalloc.nix { }; | ||||||
|     #lmbench = callPackage ./pkgs/lmbench/default.nix { }; # Broken |     lmbench = callPackage ./pkgs/lmbench/default.nix { }; | ||||||
|     mcxx = callPackage ./pkgs/mcxx/default.nix { }; |     mcxx = callPackage ./pkgs/mcxx/default.nix { }; | ||||||
|     nanos6 = callPackage ./pkgs/nanos6/default.nix { }; |     nanos6 = callPackage ./pkgs/nanos6/default.nix { }; | ||||||
|     nanos6Debug = final.nanos6.override { enableDebug = true; }; |     nanos6Debug = final.nanos6.override { enableDebug = true; }; | ||||||
|  | |||||||
| @ -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,35 +1,41 @@ | |||||||
| { | { | ||||||
|   lib, |   lib, | ||||||
|   stdenv, |   stdenv, | ||||||
|  |   libtirpc, | ||||||
|   fetchFromGitHub |   fetchFromGitHub | ||||||
| }: | }: | ||||||
| 
 | 
 | ||||||
| stdenv.mkDerivation rec { | stdenv.mkDerivation rec { | ||||||
|   pname = "lmbench"; |   pname = "lmbench"; | ||||||
|   version = "701c6c35"; |   version = "941a0dcc"; | ||||||
| 
 | 
 | ||||||
|   # We use the intel repo as they have fixed some problems |   # We use the intel repo as they have fixed some problems | ||||||
|   src = fetchFromGitHub { |   src = fetchFromGitHub { | ||||||
|     owner = "intel"; |     owner = "intel"; | ||||||
|     repo = pname; |     repo = pname; | ||||||
|     rev = "701c6c35b0270d4634fb1dc5272721340322b8ed"; |     rev = "941a0dcc0e7bdd9bb0dee05d7f620e77da8c43af"; | ||||||
|     sha256 = "0sf6zk03knkardsfd6qx7drpm56nhg53n885cylkggk83r38idyr"; |     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 ]; | ||||||
|  |   patches = [ ./fix-install.patch ./gcc-14.patch ]; | ||||||
|  | 
 | ||||||
|   hardeningDisable = [ "all" ]; |   hardeningDisable = [ "all" ]; | ||||||
| 
 | 
 | ||||||
|   enableParallelBuilding = false; |   enableParallelBuilding = false; | ||||||
| 
 | 
 | ||||||
|   preBuild = '' |   preBuild = '' | ||||||
|     makeFlagsArray+=(BASE=$out) |     makeFlagsArray+=( | ||||||
|  |       -C src | ||||||
|  |       BASE=$out | ||||||
|  |       CFLAGS=-Wno-implicit-int | ||||||
|  |       CPPFLAGS=-I${libtirpc.dev}/include/tirpc | ||||||
|  |       LDFLAGS=-ltirpc | ||||||
|  |     ) | ||||||
|   ''; |   ''; | ||||||
| 
 | 
 | ||||||
|   meta = { |   meta = { | ||||||
|  | |||||||
							
								
								
									
										10
									
								
								pkgs/lmbench/fix-install.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								pkgs/lmbench/fix-install.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | |||||||
|  | --- a/src/Makefile
 | ||||||
|  | +++ b/src/Makefile
 | ||||||
|  | @@ -144,6 +144,7 @@ install-target:
 | ||||||
|  |  	if [ ! -d $(BASE)/include ]; then mkdir $(BASE)/include; fi | ||||||
|  |  	if [ ! -d $(BASE)/lib ]; then mkdir $(BASE)/lib; fi | ||||||
|  |  	cp $(EXES) $(BASE)/bin | ||||||
|  | +	cp $(OPT_EXES) $(BASE)/bin
 | ||||||
|  |  	cp $(INCS) $(BASE)/include | ||||||
|  |  	cp $O/lmbench.a $(BASE)/lib/libmbench.a | ||||||
|  |  	cd ../doc; env MAKEFLAGS="$(MAKEFLAGS)" make CC="${CC}" OS="${OS}" BASE="$(BASE)" install | ||||||
							
								
								
									
										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 | ||||||
|  | 
 | ||||||
		Reference in New Issue
	
	Block a user