[SOLVED] building Cinnamon (sid)

Archived topics about LMDE 1 and LMDE 2
Locked
zerozero

Re: building Cinnamon (sid)

Post by zerozero »

stz*j
this what i have installed (i'm on 64bit if that would make any difference- eventually not all of this is necessary but i did installed a lot of junk - see my apt and bash history here)
atk-installed.png
xircon

Re: building Cinnamon (sid)

Post by xircon »

Tried adding the key myself, I now have a useless unremovable key :(

I assume I need to lock the cinnamon package in the repo? It wants to update.............
zerozero

Re: building Cinnamon (sid)

Post by zerozero »

this is what i have here (it's held back)

Code: Select all

Calculating upgrade... Done
The following NEW packages will be installed:
  mate-applets-common
The following packages have been kept back:
  cinnamon
The following packages will be upgraded:
  mate-applets
1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 8,494 kB of archives.
After this operation, 1,869 kB of additional disk space will be used.
stz*j

Re: building Cinnamon (sid)

Post by stz*j »

@zerozero, I appreciate your help, but I have the exact packages installed too, with the same version numbers :/ Will try figuring that out somehow.

I did look at your apt and bash history carefully and couldn't help but wonder, is there supposed to be an autogen.sh file in the muffin folder? Coz I can't find one in the one I cloned from https://github.com/linuxmint/muffin I suppose the configure file is the same thing?

P.S. I think the mate-applets upgrade can go through fine now zerozero :)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EDIT: FIXED! Found the nasty bug eating my muffin in a file: /usr/local/lib/pkgconfig/atk.pc . Contents were:

Code: Select all

prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: Atk
Description: Accessibility Toolkit
Version: 2.0.1
Requires: gobject-2.0
Libs: -L${libdir} -latk-1.0
Cflags: -I${includedir}/atk-1.0 
Note the Version: 2.0.1
Renamed the file to something else and apt build is chugging along nicely. Just spat out some nice .deb files :D Now for cinnamon!!!
mockturtl

Re: building Cinnamon (sid)

Post by mockturtl »

xircon wrote:Any ideas on how to change the window theme (close, max, min buttons etc)?
gconf-editor --> desktop.cinnamon.windows.button_layout

(If I've understood the question: gnome-tweak-tool --> Shell --> "Arrangement of buttons on the title bar" should do it, but doesn't seem to work. And be careful in gconf-editor, a typo in there will ruin your day.)
xircon wrote:So this is what I have got so far.....
Image
Congrats!
Last edited by mockturtl on Fri Jan 27, 2012 11:00 am, edited 1 time in total.
GeneC

Re: building Cinnamon (sid)

Post by GeneC »

stz*j wrote:..............Found the nasty bug eating my muffin .............
:lol: :lol:

Even if Cinnamon doesn't become a hit. (I think it will).
We have to give Clem a full 'FOUR STARS"
Image
for his naming convention alone. :wink:
mockturtl

Re: building Cinnamon (sid)

Post by mockturtl »

stz*j wrote:is there supposed to be an autogen.sh file in the muffin folder?
No, there's no autogen script in muffin.

The one in Cinnamon is a wrapper for /usr/bin/gnome-autogen.sh, which looks like it deals with .m4 "macros" and .in files through autoconf, aclocal, and automake. I'm tempted to guess the .am files get involved, too, and the output is configure itself, which then produces a Makefile, which drives gcc. Corrections welcome. :P

apt build seems to take care of running configure, and make, and generating debian packages with the output.
AlbertP
Level 16
Level 16
Posts: 6701
Joined: Sun Jan 30, 2011 12:38 pm
Location: Utrecht, The Netherlands

Re: building Cinnamon (sid)

Post by AlbertP »

The autogen.sh file uses the scripts & programs you described to generate Makefile and other data for the ./configure script, which is run when autogen is finished. But when you have done ./autogen.sh once, you can also just run ./configure the next time, to save time.
Registered Linux User #528502
Image
Feel free to correct me if I'm trying to write in Spanish, French or German.
stz*j

Re: building Cinnamon (sid)

Post by stz*j »

HOWTO:
This is by no way a guaranteed and simple way to build Cinnamon (this is under 32-bit), but it should tidy things up for those wanting to try :) Compiling on Debian Testing should work just fine. Also a note of advice: BACKUP BEFORE PROCEEDING

1)You'll have to enable debian sources list by editing your /etc/apt/sources.list file .Add in the deb-src lines and your inxi -r output should later look somewhat like this
zerozero wrote: yeahh, this was made on lmde-testing

Code: Select all

inxi -r
    Repos:     Active apt sources in file: /etc/apt/sources.list
               deb http://packages.linuxmint.com/ debian main import backport romeo upstream
               deb-src http://packages.linuxmint.com/ debian main import backport romeo upstream #Added by software-properties
               deb http://ftp.debian.org/debian testing main contrib non-free
               deb-src http://ftp.debian.org/debian testing main contrib non-free
               deb http://security.debian.org/ testing/updates main contrib non-free
               deb-src http://security.debian.org/ testing/updates main contrib non-free
               deb http://www.debian-multimedia.org testing main non-free
               deb-src http://www.debian-multimedia.org testing main non-free
               deb http://tridex.net/repo/debian/ wheezy main
2) Get the muffin recipe, I mean sources

Code: Select all

git clone https://github.com/linuxmint/muffin.git
cd muffin/
3) Fix the libcairo2-dev issue, refer to this My way was to

Code: Select all

sudo aptitude install libcairo2-dev
Just find a way to get that thing installed, and please don't remove any packages when running aptitude :)

4) Install missing dependencies, refer to zerozero's post here , have a look at his bash history and apt log

Code: Select all

sudo apt-get install libgtk-3-dev libcanberra-gtk3-dev libclutter-1.0-dev libatk1.0-dev
sudo apt-get install cdbs dh-autoreconf libcanberra-gtk3-dev gobject-introspection libgirepository1.0-dev libjson-glib-dev libclutter-1.0-dev libgconf2-dev libstartup-notification0-dev libxt-dev gnome-pkg-tools
Ok, just find a way to satisfy those dependencies. And if an atk bug was eating your muffin ;) (or in technical terms, giving you an error about Package requirements (clutter-1.0) were not met: Package 'Clutter' requires 'atk >= 2.1.5' but version of Atk is 2.0.1) Refer to my post for a fix :)

5) Start building!

Code: Select all

apt build
If it says you're missing any dependencies, install them and re-run apt build

6) After this point, there should be 5 .deb files from a successful build. So now,

Code: Select all

cd  ## to directory containing those .deb files
sudo chown user *.deb ##my deb files all belong to root... so yeah
sudo dpkg -i muffin_1.0.0_i386.deb muffin-common_1.0.0_all.deb libmuffin0_1.0.0_i386.deb libmuffin-dev_1.0.0_i386.deb gir1.2-muffin-3.0_1.0.0_i386.deb
Your muffins should now be baked and now to add the spice :lol:


~~~Cinnamon~~~
7) Get the Cinnamon spice

Code: Select all

git clone git://github.com/linuxmint/Cinnamon
cd Cinnamon/
8) install required debs, below was mine, so yours might vary :)

Code: Select all

sudo apt-get install libgjs-dev gsettings-desktop-schemas-dev libcaribou-dev libcroco3-dev libdbus-glib-1-dev libgnome-bluetooth-dev libgnome-desktop-3-dev libgnome-keyring-dev libgnome-menu-3-dev libgstreamer0.10-dev libgudev-1.0-dev libnm-glib-dev libmuffin-dev librsvg2-dev libwnck-dev libxss-dev libpulse-dev libecal1.2-dev libedataserver1.2-dev libedataserverui-3.0-dev libfolks-dev libtelepathy-glib-dev libtelepathy-logger-dev libpolkit-agent-1-dev
9) Final steps

Code: Select all

sudo ./autogen.sh
sudo make
sudo make install
apt build
If there's missing dependencies, install them and re-run.
Note:Wasn't sure whether to run those under sudo or not, you can try without sudo first and if it says something about permissions, put back the sudo. Refer to http://forums.linuxmint.com/viewtopic.p ... 40#p532105 if you want :)

On success, you should get a cinnamon_1.2.0_i386.deb file you can install. Log out and hopefully you can enjoy your self-baked muffin with cinnamon :D My thanks to everyone in this forum topic for showing the way :mrgreen:

DISCLAIMER: Even after installing the .deb file, you may still log in and greet the Sad Face of Gnome. So yeah, no promises :P

P.S. If there's any issues to add, I'll try to edit this post appropriately.
Last edited by stz*j on Wed Feb 01, 2012 1:34 am, edited 4 times in total.
GeneC

Re: building Cinnamon (sid)

Post by GeneC »

Hi stz*j :)

Thanks for taking the time for the thorough HOW-TO.
(and to everyone else involved in this thread).
That is what makes this community great.
I will give it a shot later on.

One thing I noticed that should be given attention to in your post, is that it's for 32 bit.
We with 64 bit LMDE have to make appropriate adjustments. :wink:

EDIT:
Thanks for the EDIT. :lol:
stz*j

Re: building Cinnamon (sid)

Post by stz*j »

Just one screenshot to show before calling it a day :D
cinnamon screenshot.png
Good luck to everybody trying!
xircon

Re: building Cinnamon (sid)

Post by xircon »

Configuration Editor - windows_074.png
mockturtl wrote:
xircon wrote:Any ideas on how to change the window theme (close, max, min buttons etc)?
gconf-editor --> desktop.cinnamon.windows.button_layout
Again you are correct! Change Adwaita (or ugly as I call it :)) to whatever, I like Zukitwo-Dark.
zerozero

Re: building Cinnamon (sid)

Post by zerozero »

first of all a big thank you to all the crazy people involved in this amazing adventure, in these couple days i haven't boot any of the other distros (and that's saying a lot 8) )

stz*j wonderful, i wish i could be this organized :roll:

mockturtl and steve tks for joining the last loose ends, now the cake is done :D
Image

Gene come'on my friend, jump in, you know you want :lol:
mockturtl

Re: building Cinnamon (sid)

Post by mockturtl »

Crazy? We have papers!
xircon

Re: building Cinnamon (sid)

Post by xircon »

It's OK I am a mental health support work for people with LMDE (or dementia :wink: ). Well not yet, start work in a couple of weeks, bit of change from what I used to do :)
zerozero

Re: building Cinnamon (sid)

Post by zerozero »

just realised one thing, my cinnamon compiled and runs on gnome-shell 3.0.2

Code: Select all

amadeu@amadeu:~$ cinnamon --version
Cinnamon 1.2.0
amadeu@amadeu:~$ gnome-shell --version
GNOME Shell 3.0.2
mockturtl

Re: building Cinnamon (sid)

Post by mockturtl »

zerozero wrote:just realised one thing, my cinnamon compiled and runs on gnome-shell 3.0.2

Code: Select all

amadeu@amadeu:~$ cinnamon --version
Cinnamon 1.2.0
amadeu@amadeu:~$ gnome-shell --version
GNOME Shell 3.0.2
Cinnamon's a fork of gnome-shell 3.2, isn't it? Testing has just about all of GNOME 3.2 to build against. (gnome-shell eligible to migrate next week)
dcihon

Re: building Cinnamon (sid)

Post by dcihon »

Well I see I have a way to go.
You guys are too smart for me.
I have tried all the steps outlined here and I cannot get Cinnamon to run.
I am going to try from the beginning with the sources.iist and let you know what my errors are so maybe someone can get me there.
Thanks
mockturtl

Re: building Cinnamon (sid)

Post by mockturtl »

A few simplifications, as I'm following stz*j's guide on another install:
stz*j wrote:4) Install missing dependencies, refer to zerozero's post here , have a look at his bash history and apt log

Code: Select all

sudo apt-get install libgtk-3-dev libcanberra-gtk3-dev libclutter-1.0-dev libatk1.0-dev cdbs dh-autoreconf gobject-introspection libgirepository1.0-dev libjson-glib-dev libgconf2-dev libstartup-notification0-dev libxt-dev gnome-pkg-tools intltool
Tweaked that list a bit -- add intltool, remove duplicates.
6) After this point, there should be 5 .deb files [in the parent directory] from a successful build. So now,

Code: Select all

cd ..
sudo dpkg -i *.deb
That will install them.
7) ..
install required debs, below was mine, so yours might vary

Code: Select all

sudo apt-get install libgjs-dev gsettings-desktop-schemas-dev libcaribou-dev libcroco3-dev libdbus-glib-1-dev libgnome-bluetooth-dev libgnome-desktop-3-dev libgnome-keyring-dev libgnome-menu-3-dev libgstreamer0.10-dev libgudev-1.0-dev libnm-glib-dev libmuffin-dev librsvg2-dev libwnck-dev libxss-dev libpulse-dev libecal1.2-dev libedataserver1.2-dev libedataserverui-3.0-dev libfolks-dev libtelepathy-glib-dev libtelepathy-logger-dev libpolkit-agent-1-dev gnome-common caribou gir1.2-accountsservice-1.0
Add gnome-common to run autogen. The other two are reported missing when you try to install the cinnamon deb. :-/

edit: spoke too soon. testing...

edit: still segfaulting. There's a warning logged about libmozjs9d during Cinnamon make...

Code: Select all

42:/usr/bin/ld: warning: libmozjs.so.8d, needed by /usr/lib/gcc/i486-linux-gnu/4.6/../../../../lib/libgjs.so, may conflict with libmozjs.so.9d
46:/usr/bin/ld: warning: libmozjs.so.8d, needed by /usr/lib/gcc/i486-linux-gnu/4.6/../../../../lib/libgjs.so, may conflict with libmozjs.so.9d
... and I'm tempted to think that's the problem (especially since removing it from sid fixed me up!). libgjs-dev 1.30.0-2 depends on libgjs0b and xulrunner-dev, but the first has dep: libmozjs8d while the other has transitive dep: libmozjs-dev (>= 9.0.1-1) dep: libmozjs9d (= 9.0.1-1) .... Compare libgjs-dev 1.30.0-3.

I bet pulling libgjs-dev from sid will fix these problems with cinnamon. Stay tuned. 8)

edit: OK, I can get libmozjs185-dev from sid, but aptitude thinks libgjs0b and libgjs-dev will break gnome-shell. Seems to make sense that lisa debs could work, based on what's available in the oneiric repo. Wheezy has no equivalent of this package.
Last edited by mockturtl on Sat Jan 28, 2012 6:01 pm, edited 4 times in total.
dcihon

Re: building Cinnamon (sid)

Post by dcihon »

First problem:

dcihon@dcihon-linux-mint-debian:~/muffin$ sudo autogen.sh
[sudo] password for dcihon:
sudo: autogen.sh: command not found
Locked

Return to “LMDE Archive”