Snap and Boost compilation

Hello,

I am new to Ubuntu Snapcraft process and I want to deploy my application. The issue I have is that it uses a modern version of Boost (1.75.0 minimum) because previous versions of Boost contain a bug about sub processes.

The issue is that default Boost versions on 18.04 and 20.04 are 1.65 and 1.71 respectively.

I am just wondering what to do, I think I will have to build boost manually by cloning the repo (which works fine) but I have no idea how to incorporate that into the Snapcraft building process.

Does anyone have an idea? :wink:

Many thanks, Richard

This is how I do it in the Nextcloud snap in order to build MySQL.

2 Likes

Thank you so much I will try that. Your snap looks painful :slight_smile: I’m curious, why do you also need some specific boost version to build MySQL?

1 Like

I’m just following MySQL’s dependencies, there. Are you asking why I’m building MySQL at all?

Heh, yeah, I’ve learned a lot doing that snap.

I see, I thougth you were working for the MySQL team, my bad :wink:

Throwing my hat into the ring here as I was working on a similar problem and wanted to share my solution for anyone who follows as this thread appears to be the top Google result.

  boost:
    plugin: dump
    source: https://sourceforge.net/projects/boost/files/boost/1.79.0/boost_1_79_0.tar.gz
    override-build: |
      ./bootstrap.sh --prefix=/usr/
      ./b2 install

adding that to your snapcraft parts section is what solved the issue for me.