2014-03-13 23:59

How to install Guitar Pro 6 on a 64-bit Ubuntu 14.04

I ran into some problems installing Guitar Pro 6 on my new 64-bit Ubuntu 14.04 (alpha) environment. GP6 is a 32 bit application, but I got in to trouble when I tried to install the required i386 packets in parallel. The 32 bit sudo was in conflict with the 64 bit variant, and so was other libraries like libgtop2-7.

I tried to install a virtual 32 bit environment using LXC, but I could not get pulseaudio to work over the virtualization boundary using that technique.

But finally I managed to get it running using schroot, a chroot helper system that can be run without sudo.

I wrote an instruction of how to do it:


Download the Guitar Pro 6 linux package. In my case it was saved as ~/Downloads/gp6-full-linux-r11621.deb

Make sure we got schroot and debootstrap

sudo apt-get install schroot debootstrap

Go to chroot config directory

cd /etc/schroot

Use sudo with your prefered editor and create chroot.d/trusty_i386.conf with this content, adjust the user names to match your local user:

[trusty_i386]
description=Ubuntu 14.04 Trusty Tahr for i386
profile=guitarpro
personality=linux32
type=directory
directory=/var/schroot/trusty_i386
root-users=moggen
users=moggen
preserve-environment=true
aliases=default

Clone the profile, we need to add to the fstab

sudo cp -a desktop guitarpro

We need to add a mapping for the pulseaudio sound system to work. Pulseaudio uses socket files inside /run/user/<your-uid>/pulse/

Sudo edit guitarpro/fstab and add this line last:

/run/user      /run/user       none    rw,bind         0       0

Create the directories for the virtual root

sudo mkdir /var/schroot
sudo mkdir /var/schroot/trusty_i386

Make a bootstrap install of Ubuntu 14.04 inside the virtual root. Please use your local mirror of Ubuntu, in my case se.archive.ubuntu.com. This will download and install many packets. Run:

sudo debootstrap --arch i386 trusty /var/schroot/trusty_i386 http://se.archive.ubuntu.com/ubuntu/

You should now be able to enter the chroot (as your normal user):

cd
schroot

You will get a new prompt similar to this:

(trusty_i386)moggen@moggen-pc:~$

You will need to install a bunch of packages inside the chroot to be able to install GP6. Start with adding the "universe" packet collection.

You need to edit /etc/apt/sources.list. You only got the "vi" editor available in the base install. You can of course install an other editor with apt-get and use that. It is also possible to edit it from outside the chroot directly in your system. The path is then: /var/schroot/trusty_i386/etc/apt/sources.list

You must edit as root. Your passwords are copied to inside the chroot already, so sudo shuld work as usual.

Add "universe" packet collection to the deb source in the end of the line, so it becomes similar to this:

deb http://se.archive.ubuntu.com/ubuntu trusty main universe

Update the packets

sudo apt-get update

Attempt to install the GP6 debian package, it will fail due to missing dependancies! But we'll fix that. Your home directory is mapped to inside the chroot, so your ordinary Downloads directory is available.

sudo dpkg -i Downloads/gp6-full-linux-r11621.deb

Force installation of the dependancies, this will download and install many packets

sudo apt-get -f install

But more packets are needed before we can run GP6:

sudo apt-get install libpulse0 libSM6

Now we should be set.

Exit the chroot with ctrl-d or "exit". It will probably complain about a busy device that can't be unmounted, but it will work anyway.

Restart the chroot and tell it to start GP6:

schroot /opt/GuitarPro6/launcher.sh

Tada!

It is also possible to make an icon and run the launcher via the gnome/unity menus


Additional note: I had some trouble starting the GP6 updater when running via the command above. But the updater seems to work if I start schroot first to get the prompt and then invoke the launcher script.