HOWTO: Cinnamon compile and run guide

Write tutorials for Linux Mint here
More tutorials on https://github.com/orgs/linuxmint/discu ... /tutorials and (archive) on https://community.linuxmint.com/tutorial
Forum rules
Don't add support questions to tutorials; start your own topic in the appropriate sub-forum instead. Before you post read forum rules
Post Reply
Arrow2Knee

HOWTO: Cinnamon compile and run guide

Post by Arrow2Knee »

I struggled with this for almost a week now, and I don't want to happen that also to you guys, so here a little guide on how you should compile and run Cinnamon yourself.

First, you will need git, most of you will already have this installed, but still execute the command:

Code: Select all

sudo apt-get install git
Now, you want to retrieve the Cinnamon code, so execute

Code: Select all

git clone https://github.com/linuxmint/Cinnamon.git
This should create a new directory, named Cinnamon. We move there:

Code: Select all

cd Cinnamon
Now, before compiling, we need a couple of depencies. I spend days of finding out which. Luckily for you guys, my kindness doesn't know any limits, so here is the command:

Code: Select all

sudo apt-get update && sudo apt-get upgrade && sudo apt-get install libfolks-dev gnome-common libxml++2.6-dev libtelepathy-glib-dev libgtk-3-dev libnm-glib-dev libmutter-dev libsoup-gnome2.4-dev libgnome-menu-3-dev libgirepository1.0-dev libcanberra-gtk3-dev libgnome-keyring-dev libpolkit-agent-1-dev libtelepathy-logger-dev libstartup-notification0-dev libgjs-dev libcroco3-dev libgconf2-dev libgnome-desktop-3-dev libpulse-dev libecal1.2-dev libedataserverui-3.0-dev
Hehe, all that installing, now finally the compile process. I am using sudo because it doesn't seem to work any other way for me.

Code: Select all

sudo autogen.sh

Code: Select all

sudo make

Code: Select all

sudo make install
If nothing went wrong, Cinnamon is now installed, you can run it by executing:

Code: Select all

sudo Cinnamon --replace
You don't even have to log out, how awesome is this?

If you want to start it using the login manager, install the cinnamon-session package:

Code: Select all

sudo apt-get install cinnamon-session
I hope you spent a maximum of 15 minutes on this guide, instead of me, which it costed a week. But I'm happily to do that for such a loving community :)

Greetz!
Arrow2Knee
Last edited by Arrow2Knee on Wed Jan 04, 2012 8:59 am, edited 1 time in total.
User avatar
xenopeek
Level 25
Level 25
Posts: 29503
Joined: Wed Jul 06, 2011 3:58 am

Re: HOWTO: Cinnamon compile and run guide

Post by xenopeek »

Move here by moderator

Thanks for sharing your solution! I was about to post a link to this on your other post... Doh!
Image
Kevin108

Re: HOWTO: Cinnamon compile and run guide

Post by Kevin108 »

First and foremost: I love how your post morphed from asking a question into being a tutorial. Thank you for your work!

Noob's questions: Is following this guide and compiling Cinnamon better than just installing cinnamon and cinnamon-session? Once compiled, can it be updated through our regular automated methods?
Arrow2Knee

Re: HOWTO: Cinnamon compile and run guide

Post by Arrow2Knee »

Kevin108 wrote:First and foremost: I love how your post morphed from asking a question into being a tutorial. Thank you for your work!

Noob's questions: Is following this guide and compiling Cinnamon better than just installing cinnamon and cinnamon-session? Once compiled, can it be updated through our regular automated methods?
Well, I haven't figured out how to compile cinnamon-session yet, as I don't find the source. Firstly, you will also have the slight performance boost with self compiled software. That's just one thing, which won't matter. Second, you learn about things by building them up. By finding a way to compile each program, you will learn little more about the OS and its functionality. Third, I was planning to help developing some with Cinnamon, but before that, I had to discover how to compile it in normal phase.

As for your second question, you will not be able to update it using the update manager as it isn't just a package you installed. You can just use

Code: Select all

git pull
while in the Cinnamon directory and then do the compiling process again.

Hope this helped you out ;)
Monsta
Level 10
Level 10
Posts: 3071
Joined: Fri Aug 19, 2011 3:46 am

Re: HOWTO: Cinnamon compile and run guide

Post by Monsta »

Kevin108 wrote:Once compiled, can it be updated through our regular automated methods?
Most probably, no. That's the usual trap of the tutorials that explain how to "make install" but don't tell anything about how you should keep the source tree intact (so you can "make uninstall" later) or about possible conflicts when you decide to install a newer version via dpkg/apt/synaptic/etc.

One of the methods to avoid this trap is using checkinstall instead of "make install".

More info here:
1) http://forums.linuxmint.com/viewtopic.p ... 47&p=61048
2) https://help.ubuntu.com/community/CheckInstall
3) googling something like "checkinstall deb" :)
Arrow2Knee

Re: HOWTO: Cinnamon compile and run guide

Post by Arrow2Knee »

Monsta wrote:
Kevin108 wrote:Once compiled, can it be updated through our regular automated methods?
Most probably, no. That's the usual trap of the tutorials that explain how to "make install" but don't tell anything about how you should keep the source tree intact (so you can "make uninstall" later) or about possible conflicts when you decide to install a newer version via dpkg/apt/synaptic/etc.

One of the methods to avoid this trap is using checkinstall instead of "make install".

More info here:
1) http://forums.linuxmint.com/viewtopic.p ... 47&p=61048
2) https://help.ubuntu.com/community/CheckInstall
3) googling something like "checkinstall deb" :)

Just git pull and compile again?
macabu

Re: HOWTO: Cinnamon compile and run guide

Post by macabu »

It's missing a package: libmuffin-dev

And also I got this error (after running "sudo ./autogen.sh"):

Code: Select all

...

checking for GStreamer (needed for recording functionality)... no
checking for CINNAMON... yes
checking for CINNAMON_PERF_HELPER... yes
checking for CINNAMON_HOTPLUG_SNIFFER... yes
checking for BROWSER_PLUGIN... yes
./configure: line 15479: syntax error near unexpected token `$GOBJECT_INTROSPECTION_MIN_VERSION'
./configure: line 15479: `GOBJECT_INTROSPECTION_CHECK($GOBJECT_INTROSPECTION_MIN_VERSION)'
Thanks!
cwwgateway

Re: HOWTO: Cinnamon compile and run guide

Post by cwwgateway »

I am a newbie with compiling things, but I followed all of the steps (as far as I know), but whenever I run

Code: Select all

sudo make
I get the message

Code: Select all

make: *** No targets specified and no makefile found.  Stop.
The only thing that I didn't paste directly from the tutorial was instead of

Code: Select all

sudo autogen.sh
I had to use

Code: Select all

sudo ./autogen.sh
because otherwise it didn't work. I have tried various files with

Code: Select all

sudo make --makefile=...
As I said, I am a newbie with compiling, so I probably did something wrong.
cwwgateway

Re: HOWTO: Cinnamon compile and run guide

Post by cwwgateway »

I installed libmuffin-dev and now I get the same error when running autogen.sh as the above poster (above my first post)
Joe_D

Re: HOWTO: Cinnamon compile and run guide

Post by Joe_D »

You also have to install gobject-introspection.

Code: Select all

sudo apt-get install gobject-introspection
Then follow the instructions and Cinnamon should compile.
cwwgateway

Re: HOWTO: Cinnamon compile and run guide

Post by cwwgateway »

Joe_D wrote:You also have to install gobject-introspection.

Code: Select all

sudo apt-get install gobject-introspection
Then follow the instructions and Cinnamon should compile.
Thanks! It worked well! :D :D :D
mordant23

Re: HOWTO: Cinnamon compile and run guide

Post by mordant23 »

I found I could replace

Code: Select all

sudo ./autogen.sh
sudo make
with

Code: Select all

./autogen.sh
make
after I changed the permissions on some of the folders. I forget which ones I had to change, but the error messages will tell you exactly which folders were denied access due to permissions. Since I've had no need to use sudo except for

Code: Select all

sudo make install
.
Spot

Re: HOWTO: Cinnamon compile and run guide

Post by Spot »

I tried Clems tutorial and got muffin to install
Then I started to build Cinnamon and got the error below.
I then reverted back to the latest stable version of muffin.
I then found this tutorial and followed it
I completely removed my Cinnamon directory
installed (cut and pasted the installs above)
regot the git
ran autogen.sh as me under sudo and as root and still got the same error

This could be just something about the git unstable version today.
When I got the stable code it complied fine.

Has any one got any ideas please

thanks Greg

------------------------------------------8<----------------------------------
configure: error: Package requirements (gio-2.0 >= 2.29.10
gio-unix-2.0 dbus-glib-1 libxml-2.0
gtk+-3.0 >= 3.0.0
libmuffin >= 1.0.5
cjs-internals-1.0 >= 1.29.18
libgnome-menu-3.0 gstreamer-0.10 gstreamer-base-0.10 x11 gconf-2.0
gdk-x11-3.0 libsoup-2.4 gl
clutter-x11-1.0 >= 1.7.5
libstartup-notification-1.0 >= 0.11
gobject-introspection-1.0 >= 0.10.1
libcanberra
polkit-agent-1 >= 0.100 xfixes
libnm-glib libnm-util gnome-keyring-1) were not met:

No package 'cjs-internals-1.0' found
------------------------------------>8------------------------------------
Post Reply

Return to “Tutorials”