Update to fmt10

In order to reduce warnings, I propose an update to fmt10.

It builds over the other MR

  • fmt10 needs a small change in Hermes (branch fmt10)
  • fmt10 needs changes in date library
  • It produces segfaults as we get stuck in a syscall loop
  • Removed date library and replaced with a small gmtime replacement without timezone
  • Rocksdb updated
  • 0.9.3 docker images created
Edited by Ramon Nou

Merge request reports

Loading
+0 −8
Changes for CMake/gkfs-options.cmake: 0 added lines, 8 removed lines.
Original line number Diff line number Diff line
@@ -348,14 +348,6 @@ gkfs_define_option(
# I/O forwarding
################################################################################

## Forwarding support
gkfs_define_option(
  GKFS_ENABLE_FORWARDING
  HELP_TEXT "Enable I/O forwarding mode"
  DEFAULT_VALUE OFF
  DESCRIPTION "Use ${PROJECT_NAME} as an I/O forwarding layer"
)

## Scheduling in I/O forwarding mode
gkfs_define_option(
  GKFS_ENABLE_AGIOS
+40 −0
Changes for docker/0.9.3/core/Dockerfile: 40 added lines, 0 removed lines.
Original line number Diff line number Diff line
FROM debian:bullseye-slim

LABEL Description="Debian-based environment suitable to build GekkoFS and its dependencies"

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
		git \
		curl \
		ca-certificates \
		libtool \
		pkg-config \
		make \
		automake \
		gcc \
		g++ \
		ninja-build \
		procps \
		# AGIOS dependencies
		libconfig-dev \
		# Mercury dependencies
		libltdl-dev \
		lbzip2 \
        # Margo dependencies \
        libjson-c-dev \
		# RocksDB dependencies
		liblz4-dev \
		# syscall_intercept dependencies
		libcapstone-dev \
		# GekkoFS dependencies
		libboost-program-options-dev \
		uuid-dev && \
    # install cmake 3.14+ since it's needed for some dependencies
    curl -OL https://github.com/Kitware/CMake/releases/download/v3.25.2/cmake-3.25.2-Linux-x86_64.sh && \
    chmod u+x ./cmake-3.25.2-Linux-x86_64.sh && \
    ./cmake-3.25.2-Linux-x86_64.sh --skip-license --prefix=/usr && \
    # Clean apt cache to reduce image layer size
    rm -rf /var/lib/apt/lists/* && \
    # Clean apt caches of packages
    apt-get clean && apt-get autoclean && \
    rm ./cmake-3.25.2-Linux-x86_64.sh
+10 −0
Changes for docker/0.9.3/core/Makefile: 10 added lines, 0 removed lines.
Original line number Diff line number Diff line
.PHONY: all

amd64:
	docker buildx build --platform amd64 -t gekkofs/core:0.9.3 .

aarch64:
	docker buildx build --platform aarch64 -t gekkofs/core:0.9.3 .

all:
	docker buildx build -t gekkofs/core:0.9.3 .
+38 −0
Changes for docker/0.9.3/deps/Dockerfile: 38 added lines, 0 removed lines.
Original line number Diff line number Diff line
FROM gekkofs/core:0.9.3

LABEL Description="Debian-based environment to build GekkoFS"

ENV GKFS_PATH	/opt/gkfs
ENV GKFS_VERSION 0.9.3

ENV SCRIPTS_PATH	${GKFS_PATH}/scripts
ENV DEPS_SRC_PATH	${GKFS_PATH}/deps_src
ENV INSTALL_PATH	/usr/local

COPY scripts/dl_dep.sh		${SCRIPTS_PATH}/
COPY scripts/compile_dep.sh ${SCRIPTS_PATH}/
COPY scripts/patches        ${SCRIPTS_PATH}/patches
COPY scripts/profiles       ${SCRIPTS_PATH}/profiles

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
		python3 \
		python3-pip \
		python3-dev \
		python3-venv \
		python3-setuptools \
    libnuma-dev libyaml-dev libcurl4-openssl-dev \
    procps && \
    python3 -m pip install --upgrade pip && \
    rm -rf /var/lib/apt/lists/* && \
    apt-get clean && apt-get autoclean
 
# Download and build dependencies
RUN cd ${SCRIPTS_PATH} && \
    /bin/bash ./dl_dep.sh -p ci:${GKFS_VERSION} ${DEPS_SRC_PATH} && \
    /bin/bash ./compile_dep.sh -j 8 -p ci:${GKFS_VERSION} ${DEPS_SRC_PATH} ${INSTALL_PATH} && \
    cp ${DEPS_SRC_PATH}/parallax/lib/include/parallax/structures.h ${INSTALL_PATH}/include/ &&\
    rm -rf ${DEPS_SRC_PATH} && \
    rm -rf ${SCRIPTS_PATH} && \
    rmdir ${GKFS_PATH} && \
    ldconfig
+23 −0
Changes for docker/0.9.3/deps/Makefile: 23 added lines, 0 removed lines.
Original line number Diff line number Diff line
CWD:=$(shell pwd)
GIT_ROOT:=$(shell git rev-parse --show-toplevel)

.PHONY: all build mount-scripts umount-scripts

all: build mount-scripts remove-scripts
amd64: build-amd64 mount-scripts remove-scripts
aarch64: build-aarch64 mount-scripts remove-scripts

copy-scripts:
	cp -R $(GIT_ROOT)/scripts $(CWD)/scripts

build: copy-scripts
	docker build -t gekkofs/deps:0.9.3 .

build-amd64: copy-scripts
	docker build --platform amd64 -t gekkofs/deps:0.9.3 .

build-aarch64: copy-scripts
	docker build --platform aarch64 -t gekkofs/deps:0.9.3 .

remove-scripts:
	- rm -rf $(CWD)/scripts
Loading
Loading