26 November 2012

284. Fix for: nautilus-open-terminal opens in $HOME

Update: due to a change in the exec-arg, if you followed the instruction here you now can't open the terminal (using nautilus) at all if you've upgraded to nautilus 3.4.2. Look at this post to fixing it: http://verahill.blogspot.com.au/2012/12/another-nautilus-open-terminal-related.html
Everything should now work perfectly.

Original post:
This has been bothering me for the past week or so: if I use nautilus-open-terminal (i.e. right-click in nautilus and select open in terminal) it now always opens in $HOME instead of in the directory I want it to open in.

 Apparently I'm not the only one: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=692518

Luckily the solution is quick and simple: run this in your terminal, then open a new nautilus window:

gsettings set org.gnome.desktop.default-applications.terminal exec gnome-terminal

25 November 2012

283. gnome-shell-extension-common 3.0.2 and gnome-shell-extensions 3.4.0 conflict

Not sure how this came about but I might have downloaded and install an unsupported .deb (from here I think) at some point at the beginning of Gnome 3.
Following this post will get you back to a conflict-free system BUT it will also remove debs that depend on gnome-shell-extension-common (i.e. packages that you have have downloaded from the web as deb packages. It won't affect normal gnome shell extensions).

The problem:
Unpacking gnome-shell-extensions (from .../gnome-shell-extensions_3.4.0-2_all.deb) ...
dpkg: error processing /var/cache/apt/archives/gnome-shell-extensions_3.4.0-2_all.deb (--unpack):
 trying to overwrite '/usr/share/locale/fr/LC_MESSAGES/gnome-shell-extensions.mo', which is also in package gnome-shell-extension-common 3.0.2-2
Errors were encountered while processing:
 /var/cache/apt/archives/gnome-shell-extensions_3.4.0-2_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
and
sudo apt-get remove gnome-shell-extension-common 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 gnome : Depends: gnome-shell-extensions (>= 3.4) but it is not going to be installed
 gnome-shell-extension-alternate-tab : Depends: gnome-shell-extension-common but it is not going to be installed
 gnome-shell-extension-alternative-status-menu : Depends: gnome-shell-extension-common but it is not going to be installed
 gnome-shell-extension-auto-move-windows : Depends: gnome-shell-extension-common but it is not going to be installed
 gnome-shell-extension-dock : Depends: gnome-shell-extension-common but it is not going to be installed
 gnome-shell-extension-gajim : Depends: gnome-shell-extension-common but it is not going to be installed
 gnome-shell-extension-user-theme : Depends: gnome-shell-extension-common but it is not going to be installed
 gnome-shell-extension-windows-navigator : Depends: gnome-shell-extension-common but it is not going to be installed
 gnome-shell-extension-xrandr-indicator : Depends: gnome-shell-extension-common but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

The solution:
sudo dpkg --force-overwrite -i /var/cache/apt/archives/gnome-shell-extensions_3.4.0-2_all.deb
sudo apt-get install -f
sudo apt-get autoremove gnome-shell-extension-common=3.0.2-1
sudo apt-get update && sudo apt-get upgrade

282. Mesa 9.0.1 (64 bit) on debian wheezy


This post is intended as a step towards building wine with libOSmesa. Apparently any version of libOSmesa lower than 9 is no good, and debian wheezy currently have version 8.

Unfortunately building the 32 bit version turns out to be more complex than just requesting it via --enable-32-bit, so I'll be making a post on a chrooted build of the missing wine libraries later. I've also noticed that libOSMesa is just a small part of Mesa -- this build overlaps a lot with mesa-common-dev as well.

Finally, I don't really have a good grasp over graphics on linux -- which means that I'm still confused by OpenGl, CL, Mesa etc.

UPDATE (10th Jan 2013): See here for Wine 1.5.21 using the multiarch approach: http://verahill.blogspot.com.au/2013/01/308-compiling-wine-1521-on-debian.html




As usual: I have a lot of packages installed on my standard compile node, so there are probably a lot of packages which are needed which I didn't notice. But here we go:


First you need to build e.g. libdrm 2.4.40 since wheezy and sid currently have v2.4.33 and you need 2.4.39 or newer.

sudo apt-get install libpciaccess-dev checkinstall
wget http://cgit.freedesktop.org/mesa/drm/snapshot/libdrm-2.4.40.tar.gz
tar xvf libdrm-2.4.40.tar.gz
cd libdrm-2.4.40/
./autogen 
make
sudo checkinstall


When you're asked for a description, type 'libdrm 2.4.40' and it should get the version number right.
(you could also build with --prefix and install it somewhere else but that makes things trickier later)

Make sure it installed correctly:
aptitude show libdrm
Package: libdrm                          
New: yes
State: installed
Automatically installed: no
Version: 2.4.40-1
Priority: extra
Section: checkinstall
Maintainer: root@beryllium
Architecture: amd64
Uncompressed Size: 733 k
Description: libdrm 2.4.40


Build OS mesa v.9.0.1.

sudo apt-get install flex bison libdrm-dev xutils-dev x11proto-gl-dev x11proto-dri2-dev libx11-xcb-dev libxcb-glx0-dev libxcb-dri2-0-dev libxcb-xfixes0-dev llvm automake
cd ~/tmp
wget ftp://ftp.freedesktop.org/pub/mesa/9.0.1/MesaLib-9.0.1.tar.gz
tar xvf MesaLib-9.0.1.tar.gz
cd Mesa-9.0.1/
./autogen.sh --enable-osmesa
make
sudo checkinstall
This package will be built according to these values: 

0 -  Maintainer: [ root@beryllium ]
1 -  Summary: [ Mesa 9.0.1 64 bit]
2 -  Name:    [ mesa ]
3 -  Version: [ 9.0.1 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ Mesa-9.0.1 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ mesa ]
12 - Conflicts: [  ]
13 - Replaces: [  ]

Some notes:
xutils-dev contains makedepend; x11proto-gl-dev is GLPROTO, x11proto-dri2-dev is DRI2PROTO
LLVM is needed for one step in the build process (gallium). I'm sure you can get around it, but I'm not too bothered.



Links to this post:
http://forums.linuxmint.com/viewtopic.php?f=190&p=696973