Skip to content

Instantly share code, notes, and snippets.

@dagelf
Last active September 16, 2017 07:39
Show Gist options
  • Save dagelf/99ee07f5638b346adb8c058ab3d57492 to your computer and use it in GitHub Desktop.
Save dagelf/99ee07f5638b346adb8c058ab3d57492 to your computer and use it in GitHub Desktop.
Getting Zygo/bees btrfs deduplication working on Ubuntu 14.04
Getting bees working on Ubuntu 14.04.
Simply adding g++-4.9 still yields unsatisfied btrfs dependencies, so you'll have to build btrfs yourself too.
Building bees in docker on 16.04 yields unsatisfied GLIBCXX_3.4.20 and GLIBCXX_3.4.21 bindings on 14.04. I am
doubtful that bees will run in docker via a bind mount. So far looks like you need to rebuild / use a newer
btrfs too, that's the next step. The story so far:
cd /usr/src
git clone https://github.com/Zygo/bees.git --depth 1
docker run -ti -v /usr/src/bees:/usr/src/bees ubuntu:14.04
apt update &&
apt -y install software-properties-common &&
add-apt-repository ppa:ubuntu-toolchain-r/test &&
apt update && \
apt -y install g++-4.9 build-essential btrfs-tools uuid-dev markdown git
cd /usr/src/bees
# OR update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 50
CXX=/usr/bin/g++-4.9 make
make
Breaks at:
extentwalker.cc: In member function 'virtual crucible::ExtentWalker::Vec crucible::BtrfsExtentWalker::get_extent_map(off_t)':
extentwalker.cc:515:82: error: no matching function for call to 'call_btrfs_get(u8 (&)(btrfs_file_extent_item*), std::vector<char>&)'
auto compressed = call_btrfs_get(btrfs_stack_file_extent_compression, i.m_data);
^
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment