Persistent Memory Library: pmlib

This is the project page for the persistent memory library pmlib.

Getting Started

To compile the project you will need the following:

  1. A posix file-system
  2. git: distributed version control system
  3. CMake: build system
  4. A decent C compiler (e.g. gcc, clang)

In principle, you can compile the source with any C compiler. However, we use and recommend the use of clang.

  1. Clang: a C language family frontend for LLVM

Setting up access to the gitlab

To get a copy of the code, you first need to get access to our gitlab server. Once you have an account and access to this project, then you can clone the code. The recommended was of “pulling” and “pushing” changes from/to the repo is ssh. To do this you need to add to your profile in gitlab, the public ssh key of the machine from which you work. Your ssh public key is located in ~/.ssh/id_rsa.pub. Here are the steps

  1. Log into gitlab
  2. Navigate to My Profile > Add Public Key
  3. Enter the name of the computer as the title
  4. Copy the content of your ~/.ssh/id_rsa.pub into the key field
  5. Click on Add key

If you don't already have an aash key, you can create one issuing the following command.

$ ssh-keygen

Now you should be ready to follow the previous steps.

Installing the dependencies

If you are on a Debian/Ubuntu system, you can install git, cmake and clang with the following command.

 $ sudo apt-get install git-all clang cmake

It's a good idea to verify that the version of clang in your system is not too old. Here you can checkout the most recent version of clang.

Getting the source code

Once you have set your account on gitlab, issue the following command to clone the repo:

$ git clone git@sylab-srv.cs.fiu.edu:lmarmol/pmlib.git

Compiling the source code

Change directory into the repo folder. Assuming that you did not change the name, the following commands should work:

 $ cd pmlib
 $ mkdir build && cd build
 $ cmake ../src
 $ make 

https://docs.google.com/document/d/1p-zjXeSQWP0RiSe2-iw-ZA53XQOrgfRYNAwwpDDnMLM/edit?usp=sharing