How to compile the latest Cinnamon

clem
  12 years ago
  26

Add APT sources repositories

  • Open /etc/apt/sources.list
  • For each deb line, add the same line with deb replaced with deb-src.

For instance, here's how it should look in Linux Mint 13:

deb http://packages.linuxmint.com maya main upstream import
deb-src http://packages.linuxmint.com maya main upstream import

deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse

deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main

 

Install all the packages needed to compile muffin and cinnamon

In a terminal:

  • apt update
  • apt install dpkg-dev
  • apt build-dep muffin
  • apt build-dep cinnamon

Get the latest git code for muffin and cinnamon

In a terminal:

  • git clone git://github.com/linuxmint/muffin.git
  • git clone git://github.com/linuxmint/Cinnamon.git

Compile and install the new Muffin

In a terminal:

  • cd muffin
  • dpkg-buildpackage

Then make sure to install the packages you just built, in particular:

  • libmuffin-dev
  • gir1.2-muffin-3.0
  • libmuffin0
  • muffin (not needed to compile cinnamon, but you may as well if muffin is already installed on your system)
  • muffin-common

To install these, you can use "dpkg -i" in the terminal. Assuming there are no other debs in the directory, you could type "sudo dpkg -i *.deb".

Compile and install the new Cinnamon

In a terminal:

  • cd Cinnamon
  • ./autogen.sh
  • dpkg-buildpackage

This produces a cinnamon deb file in the parent directory, which you can install with gdebi or dpkg -i.

Optional: Compiling from the stable branch

The instructions above compile muffin and Cinnamon from their "master" branch, which isn't always stable. To compile from the stable branch, you need to to the following (for both muffin and Cinnamon):

  • cd muffin
  • git checkout -b stable origin/stable
  • dpkg-buildpackage

And for cinnamon:

  • cd Cinnamon
  • git checkout -b stable origin/stable
  • ./autogen.sh
  • dpkg-buildpackage

Note that at the time of writing this tutorial Muffin doesn't yet have a stable branch, and that Cinnamon 1.4-UP3 (in the stable branch) is to be compiled against Muffin 1.0.3-UP1 (use this link to download it rather than using git: https://github.com/linuxmint/muffin/tags)

Comments
mideal 7 years ago

This description seems to be quite outdated (but is still linked to from github/muffin).


arlojeremy 12 years ago

Got this to work, but let me elaborate on the step "Compile and install the new Muffin", because I got all kinds of dependency errors following the steps in that order. I'm on Linux Mint 13 Cinnamon edition.

Basically the reverse order listed:

sudo dpkg -i muffin-common_1.1.1_all.deb
sudo dpkg -i libmuffin0_1.1.1_i386.deb
sudo dpkg -i muffin_1.1.1_i386.deb
sudo dpkg -i gir1.2-muffin-3.0_1.1.1_i386.deb
sudo dpkg -i libmuffin-dev_1.1.1_i386.deb

Also, as someone else mentioned, you need to run this command before the "Compile and install the new Cinnamon" step:

apt install git gnome-commmon

And most (all?) of these commands need to be run with sudo.


iansw 12 years ago

I had installed 1.6 from Romeo and everything went haywire! Lost my menu and panel, then frozen desktop. Aaargh! But I just followed this tutorial while logged in to LXDE (which is also a nice desktop) and now everything is working perfectly - which is great because I rate Cinnamon well above any of the other currently available desktops for Linux. Suits my workflow perfectly. The scale and expo features are nice.
Great work guys. Thanks for the tutorial. (Installation was painless.)


xaptronic 12 years ago

Works great compiling master of both (which I assume at this point is cinnamon 1.6).

One note, which maybe there is a better way around, I had to uninstall the nvidia-driver I'm using otherwise I received an error about unresolved dependencies to libGL.

1.6 is excellent work - thank you very much!


mehdi_tey 12 years ago

Is this working in Linux Mint 12?
I got this error in building muffin:
.
.
.
checking Xcursor... yes
Building with Xcursor
checking for MUFFIN... no
configure: error: Package requirements (
gtk+-3.0 >= 3.3.7
gio-2.0 >= 2.25.10
pango >= 1.2.0
cairo >= 1.10.0
gsettings-desktop-schemas >= 3.3.0
xcomposite >= 0.2 xfixes xrender xdamage
clutter-1.0 >= 1.9.10
cogl-1.0 >= 1.9.6
libstartup-notification-1.0 >= 0.7 libcanberra-gtk3 gobject-introspection-1.0 xcursor) were not met:

Requested 'gtk+-3.0 >= 3.3.7' but version of GTK+ is 3.2.0
Requested 'gsettings-desktop-schemas >= 3.3.0' but version of gsettings-desktop-schemas is 3.2.0
Requested 'clutter-1.0 >= 1.9.10' but version of Clutter is 1.8.0
Requested 'cogl-1.0 >= 1.9.6' but version of Cogl is 1.8.0

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables MUFFIN_CFLAGS
and MUFFIN_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
make: *** [debian/stamp-autotools] Error 1
dpkg-buildpackage: error: debian/rules build gave error exit status 2


cracker42 12 years ago

SUCCESS !!!
cinnamon --version = Cinnamon 1.5.2

My extreme thank you to Clem for providing these instructions. This is way complicated so there is no way I could have figured this out. You are a genius!

BTW: I'm replying using Firefox 14.0.1 running in the i386 32-bit version of Linux Mint 13 Cinnamon 1.5.2 inside VirtualBox 1.4.18r78361 as of 8-19-12 on a Win7 Pro 64-bit host with 1536K for Mint 13 and so far it's smooth running.


cracker42 12 years ago

I went back and ran all the commands again. This time it ran to completion so something was missing that got installed correctly the 2nd time. I have a bunch of .deb packages in the parent directory and the "dpkg -i *.deb" worked so cross my fingers when I restart Mint 13 that I get a cinnamon 1.5.2 desktop. Here goes...


cracker42 12 years ago

I can't get "dpkg-buildpackage" to work, it is erroring with:
Build dependencies/conflicts unsatisfied; aborting

When I use the -d parameter for details I get:
dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): -D_FORTIFY_SOURCE=2
dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2
dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): -Wl,-Bsymbolic-functions -Wl,-z,relro
dpkg-buildpackage: source package muffin
dpkg-buildpackage: source version 1.0.6
dpkg-buildpackage: source changed by Clement Lefebvre
dpkg-buildpackage: host architecture i386
dpkg-source --before-build muffin
debian/rules clean
debian/rules:3: /usr/share/cdbs/1/rules/autoreconf.mk: No such file or directory
debian/rules:4: /usr/share/cdbs/1/rules/debhelper.mk: No such file or directory
debian/rules:5: /usr/share/cdbs/1/class/gnome.mk: No such file or directory
debian/rules:6: /usr/share/cdbs/1/rules/utils.mk: No such file or directory
debian/rules:7: /usr/share/gnome-pkg-tools/1/rules/uploaders.mk: No such file or directory
debian/rules:8: /usr/share/gnome-pkg-tools/1/rules/gnome-version.mk: No such file or directory
make: *** No rule to make target `/usr/share/gnome-pkg-tools/1/rules/gnome-version.mk'. Stop.
dpkg-buildpackage: error: debian/rules clean gave error exit status 2

What other packages do I need to install since I don't have the required make files in the /usr/share/cdbs/1/rules/ directory?


aagsantos 12 years ago

Great up to now it works fine :-)

Thanks!


sarantis 12 years ago

Thnx!!!
My AMD Catalystâ„¢ Proprietary Mobility Radeon runs Cinnamon without problem :)


perfa67 12 years ago

Great - I think this solved my problem with Cinnamon crashing too often and I do not have to use MATE anymore. @BeatSmith: I commented out the deb.src lines - so that I can rebuild Cinnamon later if needed.


BeatSmith 12 years ago

Thanks for the tutorial, it solved my problem :). BTW, should we remove the apt sources added to the sources file after we have compiled and installed Cinnamon and Muffin? i.e. the extra "deb-src" lines


chassum 12 years ago

Thanks!