DOC: instructions for building/backporting on Mint 17.2 (Rafaela)

this is a bit trickty, since we need to install gcc-4.9 from a PPA.
Mint only provides the libstdc++ 4.8, which is known to break when
compiling in C++14 mode
This commit is contained in:
Fischlurch 2015-11-05 03:27:55 +01:00
parent 80ea3b72c9
commit e1f7165208
2 changed files with 86 additions and 1 deletions

View file

@ -1,6 +1,7 @@
Backporting to older platforms
==============================
:Date: 8/2015
:Date: 11/2015
:toc:
GCC-4.9
-------
@ -59,4 +60,83 @@ sudo update-alternatives --config gcc
----
Building on Mint 17.2 (Rafaela) -- gcc and Libstdc++ 4.9
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Since Mint is based on Ubuntu LTS, we're facing pretty much the same situation here.
But what makes matters yet more confusing is the fact, that Mint offers even a Clang-3.6
package, which is _unfortunately_ built to rely on the gcc-4.8 libraries; there is a known
header inclusion bug in these libraries, which kicks in as soon as we switch to C++14.
Thus it is _mandatory_ to install the gcc-4.9 from above mentioned Ubuntu-Toolchain PPA,
which is indeed linked against the 4.9 libraries. Stay away from Clang on Mint for now!
Transcript from a build session on a ``pristine'' Mint 17.2 installation:
* add the following to your `/etc/apt/sources.list`
+
----
deb http://lumiera.org/debian/ rafaela experimental
deb-src http://lumiera.org/debian/ rafaela experimental
----
* install _Ichthyo's_ DEB signing key
+
----
gpg --keyserver keyserver.ubuntu.com --recv A1DE94B2
gpg --export -a A1DE94B2 | sudo apt-key add -
----
* prepare build environment
+
----
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install build-essential gcc-4.9 g++-4.9 git-core
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 \
--slave /usr/bin/g++ g++ /usr/bin/g++-4.9
sudo apt-get build-dep lumiera
----
+
after that, your system is prepared for building Lumiera
* now build
* either by (re)compiling the debian package
+
----
apt-get source lumiera
cd lumiera
dpkg-buildpackage
----
* or check out the source and hack away...
+
----
git clone git://git.lumiera.org/LUMIERA
cd LUMIERA
patch -p1 << EOF
--- lumiera-0.pre.03.orig/admin/scons/Platform.py
+++ lumiera-0.pre.03/admin/scons/Platform.py
@@ -120,7 +120,7 @@ def configure(env):
if not conf.CheckPkgConfig('cairomm-1.0', 0.6):
problems.append('Unable to configure Cairo--')
- verGDL = '3.12'
+ verGDL = '3.8' # NOTE: lowered requriements here (was originally '3.12')
verGDLmm = '3.7.3'
urlGDLmm = 'http://ftp.gnome.org/pub/GNOME/sources/gdlmm/'
urlGDLmmDEB = 'http://lumiera.org/debian/'
EOF
scons CC=gcc-4.9 CXX=g++-4.9
----
+
...as usual, from this point on, the compiler setting will be remembered in the file
`optcache`, so no need to repeat it for subsequent `scons` invocations.
TIP: Just run `scons` for standard build or run the testsuite with `scons check`.
Use the switch `-j#` with # corresponding to the number of your cores.
Probably you'll need at least 2GB of memory on AMD64, to build with `-j6`

View file

@ -79,6 +79,11 @@ libgavl-dev libgtkmm-3.0-dev libgdl-3-dev librsvg2-dev libxv-dev
Ubuntu note::
some people reported you need to install the `intltool` package from the standard
Ubuntu repository (for this reason it is included in the above collection)
Mint-17.2 (Rafaela) and Ubuntu 12.LTS note::
We really need the gcc-4.9, so building on these platforms is a bit tricky. See our
link:{ldoc}/technical/howto/backporting.html#_building_on_mint_17_2_rafaela_8201_8212_8201_gcc_and_libstdc_4_9[»Backporting«]
page for detailed info...
Build Directory