xmonad does not have xinerama/twinview support - possibly a libgch6-x11 problem

Bug #203594 reported by hitch
18
Affects Status Importance Assigned to Milestone
haskell-x11 (Debian)
Fix Released
Unknown
haskell-x11 (Ubuntu)
Fix Released
Undecided
Unassigned
xmonad (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: xmonad

I was using the xmonad package from http://people.debian.org/~nomeata/xmonad/gutsy/, with behavior as described in the man page (each monitor was a unique workspace) - upon updating to hardy heron, I lost that functionality. All the digging I've done online suggests that this indicates the the libghc6-x11 libraries were built without xinerama support.

Revision history for this message
hitch (hitch) wrote :

hrm...but this is in the libghc6-x11 package..
/usr/lib/X11-1.4.1/ghc-6.8.2/Graphics/X11/Xinerama.hi

Revision history for this message
Emil Sit (emilsit) wrote :

I found this also to be the case. If you ldd `which xmonad`, it does not link against libxinerama.

$ ldd /usr/X11R6/bin/xmonad
        linux-gate.so.1 => (0xb7f1c000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7e24000)
        libutil.so.1 => /lib/tls/i686/cmov/libutil.so.1 (0xb7e20000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7e1b000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7df6000)
        libgmp.so.3 => /usr/lib/libgmp.so.3 (0xb7db2000)
        librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7da9000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7c5a000)
        libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb7c58000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7c3f000)
        /lib/ld-linux.so.2 (0xb7f1d000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7c27000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb7c24000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7c1f000)

A manually built xmonad (0.7) with manually built X11 Haskell bindings looks like:
$ ldd /opt/wm/bin/xmonad
        linux-gate.so.1 => (0xb7f45000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb7f31000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb7f23000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7e3b000)
        libutil.so.1 => /lib/tls/i686/cmov/libutil.so.1 (0xb7e37000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7e33000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7e0e000)
        libgmp.so.3 => /usr/lib/libgmp.so.3 (0xb7dca000)
        librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7dc1000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7c71000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb7c6e000)
        libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb7c6c000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7c54000)
        /lib/ld-linux.so.2 (0xb7f46000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7c3c000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7c36000)

Changed in xmonad:
status: New → Confirmed
Revision history for this message
Emil Sit (emilsit) wrote :

The problem is that Xinerama support isn't included in libghc6-x11-dev; the upstream bug in Debian includes re-build instructions. Once the updated version appears in Debian, we can sync it into Ubuntu and rebuild xmonad to get Xinerama working out of the box.

Changed in haskell-x11:
status: New → Confirmed
Revision history for this message
zerny (zerny) wrote :

I can confirm this.
The libghc6-x11 package should depend on the libxinerama.
Building from source works if libxinerama-dev is installed.

Revision history for this message
hitch (hitch) wrote :

for someone who doesn't know much about haskell - how would you go about building from source?

Changed in haskell-x11:
status: Unknown → New
Revision history for this message
harald (harald-net) wrote :

sudo apt-get install libxinerama-dev
cd /tmp
apt-get source --compile libghc6-x11-dev
sudo dpkg -i libghc6-x11-dev_1.4.1-1_i386.deb
apt-get source --compile libghc6-xmonad-dev libghc6-xmonad-contrib-dev
sudo dpkg -i libghc6-xmonad-dev_0.6-3_i386.deb libghc6-xmonad-contrib-dev_0.6-4_i386.deb
rm ~/.xmonad/xmonad ~/.xmonad/xmonad-i386-linux

meta-q

Revision history for this message
hitch (hitch) wrote :

Rock! thank you!

Revision history for this message
hitch (hitch) wrote :

....except that it doesn't work.
blast!!!

Revision history for this message
hitch (hitch) wrote :

hm
was possibly
apt-get source --compile xmonad
left out?

Revision history for this message
hitch (hitch) wrote :

so, given my complete and utter failure as an ubuntu power-user....
what are the chances that this will be fixed in the near-term, allowing me to not have to fight with this and lose repeatedly.

Revision history for this message
harald (harald-net) wrote :

uhm, you may need
  sudo apt-get build-dep libghc6-xmonad-dev
before all that

"doesn't work" is a bit unspecific.

Revision history for this message
hitch (hitch) wrote :

....it's hard to argue with that.
okay, I got everything to compile - I needed to grab a half dozen other packages, as you indicate. not sure what as it's been a few days.
by "doesn't work", I mean "after I got everything to compile and installed per the instructions above, removed xmonad-i386-linux (~/.xmonad/xmonad doesn't exist....), removed ~/.xmonad/xmonad.o, in fact - everything but xmonad.hs....
and still no xinerama.

Things I have noted:
the xmonad packages are all 0.6.3
the xmonad-contrib packages are all 0.6.4
xmonad elsewhere appears to be 0.7

not sure if any of that matters. (well, I'm sure that the 0.7 bit doesn't matter)
hope that helps. I'd offer to rip everything out and go over the process again, noting any errors....except that there weren't any errors...
except the build dependencies, which I resolved.

heck, I'll still offer to rip it all out and go over the process again if there's some portion I should be paying particular attention to or giving more info on.

Revision history for this message
Joachim Breitner (nomeata) wrote :

FYI, some update from the debian side: Igloo promised an update of the haskell-x11 package once we got ghc6 in testing, and this has happened now, so "any time now" this might be fixed. Not sure though when he get’s around to actually do it. The relevant bug in question is http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469852 BTW, and status queries should go to <email address hidden>.

Changed in haskell-x11:
status: New → Fix Released
Revision history for this message
Joachim Breitner (nomeata) wrote :

Hi,

just a follow up: New versions of haskell-x11, xmonad, xmonad-contrib have been uploaded to debian that fix this problem. If you merge them into Ubuntu, you can close this bug.

Greetings,
Joachim

Revision history for this message
Martin Marcher (martinmarcher) wrote :

+1

for adding the new packages of debian so that xinerama works. Please, I'd really like to see a no problems install of xmonad with ubuntu :)

thanks
martin

Revision history for this message
Sean (sean-escriva) wrote :

love to have this working by next release

Revision history for this message
Michael Bienia (geser) wrote :

xmonad{,-contrib} (0.7-2) is now synced from Debian to intrepid.

Changed in xmonad:
status: Confirmed → Fix Released
Revision history for this message
Michael Bienia (geser) wrote :

haskell-x11 (1.4.2-1) is now synced from Debian to intrepid.

Changed in haskell-x11:
status: Confirmed → Fix Released
Revision history for this message
Fulvio Scapin (trantorvega) wrote :

Actually it could be working already. You have to create a personal configuration in you home directory and in it import Xmonad.Operations, which is the only component of xmonad employing libXinerama. Reload your configuration or restart xmonad and then using ldd on ~/.xmonad/xmonad-i386-linux, if you use a 32bit platform, will show that executable linked against libXinerama.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.