Verified Commit fd5d2a19 authored by Marc Vef's avatar Marc Vef
Browse files

Adding first version for spack

parent ba81942d
Loading
Loading
Loading
Loading
+55 −0
Original line number Diff line number Diff line

### Spack

You can use Spack to install GekkoFS and let it handle all the dependencies. First, you will need to install Spack:

```
git clone https://github.com/spack/spack.git
. spack/share/spack/setup-env.sh
```

Once Spack is installed and available in your path, add gekkofs to the Spack namespace.

```
spack repo add gekkofs/scripts/spack
```

You can then check that Spack can find GekkoFS by typing:

```
spack info gekkofs
```

Finally, just install GekkoFS. You can also install variants (tests, forwarding mode, AGIOS scheduling).

```bash
spack install gekkofs
# for installing tests dependencies and running tests
spack install -v --test=root gekkofs +tests
```

Remember to load GekkoFS to run:

```
spack load gekkofs
```

If you want to enable the forwarding mode:

```
spack install gekkofs +forwarding
```

If you want to enable the AGIOS scheduling library for the forwarding mode:

```
spack install gekkofs +forwarding +agios
```

If you want to use the latest developer branch of GekkoFS:

```
spack install gekkofs@latest
```

The default is using version 0.9.1 the last stable release.
+20 −0
Original line number Diff line number Diff line
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack import *


class Agios(CMakePackage):
    """AGIOS: an I/O request scheduling library at file level."""

    homepage = "https://github.com/francielizanon/agios"
    url      = "https://github.com/jeanbez/agios/archive/refs/tags/v1.0.tar.gz"
    git      = "https://github.com/francielizanon/agios.git"

    version('latest', branch='development')
    version('1.0', sha256='e8383a6ab0180ae8ba9bb2deb1c65d90c00583c3d6e77c70c415de8a98534efd')

    depends_on('libconfig')
+36 −0
Original line number Diff line number Diff line
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack import *


class Bmi(AutotoolsPackage):
    """FIXME: Put a proper description of your package here."""

    homepage = 'https://github.com/radix-io/bmi/'
    git = 'https://github.com/radix-io/bmi.git'

    maintainers = ['carns', 'jeanbez']

    version('main', branch='main')

    depends_on('autoconf', type='build')
    depends_on('automake', type='build')

    # need to override 'autoreconf' so we can run BMI's 'prepare' script
    def autoreconf(self, spec, prefix):
        Executable('./prepare')()

    def configure_args(self):
        args = [
            '--enable-shared',
            '--enable-bmi-only',
            '--disable-static',
            '--disable-karma',
            '--enable-fast',
            '--disable-strict'
        ]

        return args
+42 −0
Original line number Diff line number Diff line
--- a/src/daemon/CMakeLists.txt	2021-07-08 16:40:56.952476529 -0700
+++ b/src/daemon/CMakeLists.txt	2021-07-08 16:49:09.257352458 -0700
@@ -66,31 +66,23 @@
     )
 ################### Forwarding daemon ###################
 if (GKFS_ENABLE_FORWARDING)
-    if (GKFS_ENABLE_AGIOS)
-        set(FWD_DAEMON_SRC
-            ${DAEMON_SRC}
-            scheduler/agios.cpp
+    set(FWD_DAEMON_SRC
+        ${DAEMON_SRC}
+        scheduler/agios.cpp
         )
-        set(FWD_DAEMON_HEADERS
-            ${DAEMON_HEADERS}
-            ../../include/daemon/scheduler/agios.hpp
+    set(FWD_DAEMON_HEADERS
+        ${DAEMON_HEADERS}
+        ../../include/daemon/scheduler/agios.hpp
         )
-        add_executable(gkfwd_daemon ${FWD_DAEMON_SRC} ${FWD_DAEMON_HEADERS})
+    add_executable(gkfwd_daemon ${FWD_DAEMON_SRC} ${FWD_DAEMON_HEADERS})
 
+    if (GKFS_ENABLE_AGIOS)
         target_compile_definitions(gkfwd_daemon
             PUBLIC
             GKFS_ENABLE_FORWARDING
             DGKFS_ENABLE_AGIOS
             )
     else ()
-        set(FWD_DAEMON_SRC
-            ${DAEMON_SRC}
-        )
-        set(FWD_DAEMON_HEADERS
-            ${DAEMON_HEADERS}
-        )
-        add_executable(gkfwd_daemon ${FWD_DAEMON_SRC} ${FWD_DAEMON_HEADERS})
-
         target_compile_definitions(gkfwd_daemon
             PUBLIC
             GKFS_ENABLE_FORWARDING
+11 −0
Original line number Diff line number Diff line
--- a/CMake/FindDate.cmake	2021-07-04 23:47:33.784047611 -0700
+++ b/CMake/FindDate.cmake	2021-07-04 23:54:14.063139808 -0700
@@ -35,7 +35,7 @@
 )
 
 find_library(TZ_LIBRARY
-    NAMES tz
+    NAMES date-tz
 )
 
 include(FindPackageHandleStandardArgs)
Loading