Install MonoDevelop on OpenSUSE remote workstation   December 19th, 2013

My testing environment is a workstation running on a JiffyBox, using X2Go

Here are the steps that I use to setup my machine with OpenSUSE 12.3:

zypper install -t pattern kde4 kde4_basis findutils-locate

Install X2Go as described here:

zypper addrepo http://download.opensuse.org/repositories/X11:RemoteDesktop:x2go/openSUSE_12.3/X11:RemoteDesktop:x2go.repo
zypper refresh
zypper install x2goserver

Then I run these commands so that the login works with a password:

/etc/init.d/x2gocleansessions start
sed -i "s/PasswordAuthentication .*/PasswordAuthentication yes/g" /etc/ssh/sshd_config
/etc/init.d/sshd start
useradd myusername -m
passwd myusername

To install the latest MonoDevelop, follow these instructions:

zypper addrepo http://download.opensuse.org/repositories/home:tpokorra:mono/openSUSE_12.3/home:tpokorra:mono.repo
zypper refresh
zypper install monodevelop-opt

Now I had the problem that MonoDevelop did not start.

I tried everything:

. /opt/mono/env.sh
cd /opt/monodevelop/lib/monodevelop/bin
strace MONO_LOG_LEVEL=debug mono -O=-aot  MonoDevelop.exe

but no error message that I would understand.

Then I tried running monodoc, and this finally gave an error that I could understand:

The program 'browser' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 131 error_code 2 request_code 25 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

This lead me to this bug report: https://bugs.eclipse.org/bugs/show_bug.cgi?id=386955 which mentions X2Go. At the end of that bug, it says that a specific version of Cairo does not support old XRenderers anymore. It has been fixed in version http://www.cairographics.org/news/cairo-1.12.10/

To build and install that version of Cairo, I followed these steps:

wget http://www.cairographics.org/releases/cairo-1.12.16.tar.xz
tar xf cairo-1.12.16.tar.xz
cd cairo-1.12.16
zypper install gcc libpng-devel libpixman-1-0-devel make libX11-devel libXrender-devel libXext-devel libXt-devel fontconfig-devel
./configure --prefix=/usr --enable-xlib
make
make install

Now MonoDevelop and monodoc start fine on OpenSUSE over a remote connection via X2Go.

Tags: , ,
This entry was posted on Thursday, December 19th, 2013 at 7:05 pm and is filed under Software Development. You can follow any responses to this entry through the RSS 2.0 feed.Both comments and pings are currently closed.

No Responses