March 17th, 2011
While building a brand new powerpc cross-compiler with crosstool-ng (which is great), I came about a simple issue which was unexpectedly hard to fix:
../misc/syslog.c: In function '__vsyslog_chk':
../misc/syslog.c:123: sorry, unimplemented: inlining
failed in call to 'syslog': function body not available
../misc/syslog.c:155: sorry, unimplemented: called from here
Using different combinations of build helper tools, eglibc, gcc, whatever did not really help. Even the search engine results were full of the same questions but with very little answers, and most of the answers were clearly in the league of cargo cult programming, nothing you’d want to rely on for a toolchain to be used by others.
But finally I came across this mail from Mike Frysinger which finally showed that it can be as easy as
CT_LIBC_GLIBC_EXTRA_CFLAGS="-U_FORTIFY_SOURCE"

Of course the question remains why compiling glibc has to be always a major PITA, but that’s something I’d rather not discuss in public…
Posted in linux, tripledragon, tuxbox | No Comments »
March 8th, 2011
Posted in linux, openSUSE | No Comments »
February 25th, 2011
Kids, don’t try this at home.
Anyway, here is what worked for me:
- add arch = x86_64 to /etc/zypp/zypp.conf
- zypper ref -f
- rpm -qa kernel*
- zypper in -f kernel-default kernel-default-base (the kernel packages found by the step above)
- mkinitrd
- reboot
- zypper in -f glibc
- zypper in -f rpm Attention: don’t install, just resolve everything and get the list of -32bit packages that would get installed
- zypper in -f file-32bit libbz2-1-32bit… Install all the -32bit packages that were selected in the previous step
- zypper in -f rpm
- zypper dup --no-recommends --download-in-advance
- mkinitrd
- reboot
Whenever zypper asks you for conflict resolution (which will be every single case), select the option that involves “change architecture”, never select “break …” or “do not install …”. There should be no “uninstall…” proposal in the summary before confirming, only architecture changes and newly installed -32bit packgages.
There were some failing postinstalls for glib and other libraries, which could probably have been avoided by more carefully updating in intermediate steps, or by installing some -32bit library packages before the “dup” step, but the resulting system seems to work just fine.
Posted in linux, openSUSE, work | 2 Comments »
February 5th, 2011
And while I am at it, some hints on getting GNOME a small little bit more usable. The problem is mostly the default window manager, and the gripes I’m having with it are basically the same that Linus Torvalds had some years ago. I want my window buttons to be configurable. To be more precise, I want the “maximize” button to behave like in almost every other window manager: 3 different mouse buttons, 3 different button actions: “maximize”, “maximize horizontally”, “maximize vertically”.
Linus’ problems have been addressed, and I’m explaining a lame workaround for my wishes to get something slightly similar to what I want. My workaround does only work because of the fixes for Linus’ problems.
After looking into the code I understood that the window buttons are only used with left-click, right and middle click are handled by the “window titlebar action” instead.
So I redefined the window titlebar mouse actions to do maximize horizontally / vertically on right click and double click. (I am pretty accustomed to having middle button on title bar put the window into the background, but I might change that).
So here’s what you have to do.
- open
regedit.exe gconf-editor
- browse to /apps/metacity/general
- change
action_double_click_titlebar to toggle_maximize_vertically
- change
action_right_click_titlebar to toggle_maximize_horizontally
While you are at it, you might also enable resize_with_right_button, which restores even some more sanity.
For all those asking why I’m not using a different window manager with GNOME: been there, tried that, but the integration of them all was pretty horrible (keyboard shortcuts no longer easily configurable, …) and I want somehting that just works and does not always get in my way. If I wanted that, I could have kept KDE.
Posted in KDE4, linux, openSUSE | 2 Comments »
February 5th, 2011
If you ever have to use Windows, and are accustomed to “focus follows mouse” as I am, you might find this description useful.
I’m citing the important part here, to let me find it more easily:
Believe it or not, Windows does support focus-follows-mouse, though there is no GUI configuration exposing it. Instead you must edit a registry key and then log out and back in for the change to become effective. You can use regedit to edit the key.
[...]
you need to change a binary-valued registry key:
HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferencesMask
This is a little-endian bitmask. For focus-follows-mouse, add the flag 0x1.
For example, my XP SP2 laptop originally had a value of 9E 3E 05 80, which is 0x80053E9E. To activate focus-follows-mouse I changed to 0x80053E9F, or 9F 3E 05 80 in regedit.
Helped me a lot on a Vista machine yesterday. Don’t forget to log out and back in again after the change.
Posted in work | 2 Comments »
February 3rd, 2011
Shortly after the OpenStack “bexar” (spoken “bear”) release was ready, my packages finished building and are available at the isv:B1-Systems:OpenStack Build Service repo.
Grab them, while they are still hot!
The ride might still be a bit bumpy as the whole OpenStack development is very Ubuntu centric, and thus some of the dependencies, especially to old versions of python stuff are tricky to find. However, first results look promising.
I’ll update here soon with some short hints on how to configure and use the whole lot.
Thanks go to my colleagues Christian Berendt and Andre Nähring at B1 Systems GmbH who have been tireless in testing packages and reporting packaging bugs and other problems. Thanks also to Gregory Haskins with whom I started the packaging effort early in december.
Posted in OpenStack, linux, openSUSE, work | 2 Comments »
February 2nd, 2011
Check out this bugreport. Sometimes I’m wondering if Takashi has a time machine, allowing him to jump back in time in order to fix reported bugs in such an amazingly short time…
Posted in linux, openSUSE | Comments Off
January 28th, 2011
No comment:
2:05pm up 79 days 6:40, 5 users, load average: 2948.98, 2948.04, 2945.49
(Later we found out that the load was actually “fake”, the kernel had somehow died and everything accessing /proc/$pid/* was hanging in state D)
Posted in linux, work | 2 Comments »
January 26th, 2011
(No, it was not me who made this necessary. Yes, we did reinstall the machine anyway.)
#!/bin/bash
while read p; do
rpm -V $p > /dev/null && continue
echo "fixing $p's file ownership..."
while read x x u g x x x x n x; do
chown -h $u:$g $n
done < <(rpm -qlv $p)
done < <(rpm -qa)
Posted in linux, work | 3 Comments »
January 17th, 2011
Today I wondered again, why my KVM guests get only 800×600 display resolution, even though the framebuffer console is configured for 1024×768. While most of the time this does not matter for testing, it does once you want to evalutate desktop environments or such in a VM.
I checked the xorg log file and found, that the Cirrus card emulation apparently has no DDC channel implemented, thus cannot detect the monitor and then X.org falls back to a plain SVGA monitor. From the logfile:
Using default hsync range of 31.50-37.90 kHz
Using default vrefresh range of 50.00-70.00 Hz
Simply setting those ranges to something reasonable (I got my values from “hwinfo --monitor“) helps quite a lot. Put this into /etc/X11/xorg.conf.d/50-monitor.conf:
HorizSync 31 - 61
VertRefresh 50 - 90
and you get a much more usable 1024×768 resolution.
Posted in linux | 2 Comments »