|
|
|
April 30th, 2008
11:34 am - Why mozilla needs a freedesktop.org liason So I finally got fed up with fonts on half the sites i visit (including LJ) being gargantuan in Firefox 3. I managed to track it down to this bug [https://bugzilla.mozilla.org/show_bug.cgi?id=384090].
Yay, it's fixed!
Then I read this gem:
"Well, the correct way to set font DPI on the Linux desktop is with the /desktop/gnome/font_rendering/dpi gconf key."
*sigh*
|
April 29th, 2008
12:00 pm - note to self... ...posting to mailing lists while on significant doses of painkillers is not always the best idea.
|
12:41 am - mail after about three weeks without email, i gave up on setting up a dedicated router/firewall/web/mail/media server set up and just installed getmail and dovecot on one of my machines for now. at least then i can still get email access, and i can work on getting everything else set up as i learn more.
i've installed claws-mail again and am giving it another spin. i can't remember exactly what was the showstopper last time i used it, but that was in the days where i was frequently offline for a week or two at a time and so it was probably some annoyance i had with with the offline mode. i've been happy with it so far, except for the fact that to display html messages i get to choose from two plugins - dillo, with a pantload of gtk-1 dependences, or gtkhtml, which pulls in half of gnome. *sigh*
i tried kmail again last week and it went all funky on my maildir - showing me a subjectline that when i click gives me a completely different message body. thunderbird, which is what i've used the last couple years finally accumulated enough pain in the ass annoyances (not remembering folder setting when you leave the folder, not removing newsgroup data (which is significantly large on some mailing lists i'm on) when unsubscribing, leaving me at one point with nearly a gig of useless data my profile. but the straw that finally broke TB's back was when random email and news messages would display nothing but a blank page when i opened them. To read the message i would have to save it to disk and then open it in an external editor. Doing this for every third message got old fast.
Yes, I should be using mutt. I like mutt, it seems great. It has a learning curve however, and it seems every time i start up it i end up sliding back down. Maybe a bit later.
|
April 20th, 2008
12:25 am - iwl4965 + 2.6.25 just to save someone else the grief.. if you're having issues with a iwl4965 card and D-Link DIR-655 802.11n router with 2.6.25, like the following over and over and over again:
Apr 19 20:44:36 [kernel] wlan0: authenticate with AP 00:1b:11:68:c9:d5 Apr 19 20:44:36 [kernel] wlan0: RX authentication from 00:1b:11:68:c9:d5 (alg=0 transaction=2 status=0) Apr 19 20:44:36 [kernel] wlan0: authenticated Apr 19 20:44:36 [kernel] wlan0: associate with AP 00:1b:11:68:c9:d5 Apr 19 20:44:36 [kernel] wlan0: RX AssocResp from 00:1b:11:68:c9:d5 (capab=0x431 status=0 aid=1) Apr 19 20:44:36 [kernel] wlan0: associated Apr 19 20:44:36 [kernel] wlan0: switched to short barker preamble (BSSID=00:1b:11:68:c9:d5) Apr 19 20:44:36 [kernel] wlan0 (WE) : Wireless Event too big (268) Apr 19 20:44:46 [kernel] wlan0: disassociate(reason=3) Apr 19 20:44:46 [kernel] wlan0: RX deauthentication from 00:1b:11:68:c9:d5 (reason=1) Apr 19 20:44:46 [kernel] wlan0: deauthenticated
try disabling Wireless QoS and/or 802.11n HT Features under the device driver.
|
April 17th, 2008
08:42 pm - quick tip - microcode updating Normally, a processor firmware update comes in the form of a BIOS upgrade. These can be a bit of a pain and often rely on your BIOS/chipset vendor putting out an update specific to your hardware. Intel processors, however, have the ability to update their microcode from userspace after boot time. This update is volatile - it has to be done every time the machine is rebooted - but this can be trivially automated.
Microcode updating in Linux is handled by the microcode-ctl utility. But before installing it let's make sure that the kernel supports microcode updates. This is controlled by CONFIG_MICROCODE, which you can find at Processor type and features --->
/dev/cpu/microcode - Intel IA32 CPU microcode support(despite the name, it does work on both x86 and x86_64)
You can build it right into the kernel or as a kernel module. The advantage of using a module is that it's loaded to do the update and then unloaded automatically afterward.
Rebuild, reboot, etc. if you need to.
Next emerge sys-apps/microcode-ctl. This installs both the utility and a copy of the microcode data. However, Intel began making updates available for the general public through their Download Center recently, and rather than duplicate the effort the author of microcode-ctl has decided to not update the data file included in the package anymore. So we'll have to get the latest version from Intel.
Go to http://downloadcenter.intel.com/default.aspx and select Processors from the menu on the left. Pick your processor (actually they all point to the same file so it doesn't matter which you pick) and select Linux as the operating system. Click the download link for Linux Processor Microcode Data File. You should end up with something like microcode-20080401.dat.
# mv microcode-20080401.dat /etc/microcode.dat Now you're set. Run
# /etc/init.d/microcode_ctl start to update the processor firmware. You should see something like this in dmesg:
IA-32 Microcode Update Driver: v1.14a <tigran@aivazian.fsnet.co.uk> Finally, make the update happen automatically on every boot by running
# rc-update add microcode_ctl default
Further reading: http://urbanmyth.org/microcode/ http://kerneltrap.org/node/2678
|
March 4th, 2008
09:37 am - more mips (still sick. well, i drove half an hour to work only to have them send me home so at least i tried.)
A little experiment I did that I thought some might find interesting:
mneme # for pkg in kdeaddons kdeadmin kdeartwork kdebase kdeedu kdegames kdegraphics kdelibs
kdemultimedia kdenetwork kdepim kdetoys kdeutils kdewebdev; do genlop -t $pkg; done
* kde-base/kdeaddons
Mon Feb 25 08:40:58 2008 >>> kde-base/kdeaddons-3.5.9
merge time: 1 hour, 53 minutes and 37 seconds.
* kde-base/kdeadmin
Mon Feb 25 21:43:33 2008 >>> kde-base/kdeadmin-3.5.9
merge time: 22 minutes and 53 seconds.
* kde-base/kdeartwork
Mon Feb 25 18:58:53 2008 >>> kde-base/kdeartwork-3.5.9
merge time: 48 minutes and 56 seconds.
* kde-base/kdebase
Sun Feb 24 02:54:47 2008 >>> kde-base/kdebase-3.5.9
merge time: 9 hours, 42 minutes and 47 seconds.
Tue Mar 4 07:41:34 2008 >>> kde-base/kdebase-3.5.9
merge time: 10 hours, 2 minutes and 26 seconds.
* kde-base/kdeedu
Tue Feb 26 09:29:29 2008 >>> kde-base/kdeedu-3.5.9
merge time: 1 hour, 57 minutes and 1 second.
* kde-base/kdegames
Sun Feb 24 12:05:12 2008 >>> kde-base/kdegames-3.5.9
merge time: 1 hour, 20 minutes and 59 seconds.
* kde-base/kdegraphics
Tue Feb 26 03:50:28 2008 >>> kde-base/kdegraphics-3.5.9
merge time: 3 hours, 14 minutes and 17 seconds.
* kde-base/kdelibs
Sat Feb 23 06:36:54 2008 >>> kde-base/kdelibs-3.5.9
merge time: 6 hours, 44 minutes and 9 seconds.
* kde-base/kdemultimedia
Sat Feb 23 11:26:45 2008 >>> kde-base/kdemultimedia-3.5.9
merge time: 1 hour, 32 minutes and 1 second.
* kde-base/kdenetwork
Sun Feb 24 19:36:26 2008 >>> kde-base/kdenetwork-3.5.9
merge time: 5 hours, 29 minutes and 6 seconds.
* kde-base/kdepim
Mon Feb 25 06:47:20 2008 >>> kde-base/kdepim-3.5.9
merge time: 10 hours, 30 minutes and 5 seconds.
* kde-base/kdetoys
Tue Feb 26 09:57:10 2008 >>> kde-base/kdetoys-3.5.9
merge time: 27 minutes and 41 seconds.
* kde-base/kdeutils
Mon Feb 25 20:59:09 2008 >>> kde-base/kdeutils-3.5.9
merge time: 1 hour, 45 minutes and 32 seconds.
* kde-base/kdewebdev
Tue Feb 26 11:38:25 2008 >>> kde-base/kdewebdev-3.5.9
merge time: 1 hour, 41 minutes and 15 seconds.
this is on a distcc cluster comprised of 2 additional dual-core processors (-j8), but a lot of the time they're not being used - the O2 can't preprocess fast enough to keep them occupied. ccache should help the second time around, but it looks like that wasn't the case for kdebase. still, i am hitting the cache a lot. i might need to bump the size a GiB or two.
cache directory /var/cache/ccache
cache hit 25701
cache miss 71263
called for link 7158
multiple source files 24
compile failed 2092
preprocessor error 1024
bad compiler arguments 2
not a C/C++ file 1991
autoconf compile/link 17169
unsupported compiler option 1391
no input file 6007
files in cache 142526
cache size 1.2 Gbytes
max cache size 1.5 Gbytes
a lot time is spent in configure, generating Makefiles, eautoreconf (usually takes 15-30 min (!)), linking, anything that can't be distributed. ebuilds that force -j1 are going to make me sad.
PS - don't mistake this for complaining. I do this cause I like it. ;) I'm just surprised at what we can take for granted.
|
March 3rd, 2008
10:13 am took the day off sick today. i've been feeling rough the last couple weeks but today i'm dizzy as hell and everytime i stand up i get the twisty headache of dooooooooooooooom.
so i went back downstairs after calling in and discovered my laptop had fried overnight. after a couple of bad reboots it seems to be up again, though half the keyboard doesn't work. i have two months left in a two year warranty so i'll be making a trip to staples this week. knowing them, i'll have to send it halfway across the country for 6 months to get it fixed. (and it'll probably come back with windows installed). in the meantime i guess i'll have to set up a head on the desktop and move over there. or maybe just buy a new laptop... hmm.
i have kde 3.5.9 running on mips. i'm checking some of the more obscure USE flag combos out before i do some more testing and finally keyword it. yesterday i got hal and friends keyworded, though the USE flag is still masked until i do yet more testing there. i decided to set up FreeNX for remote X sessions yesterday and it works great. i wish i would have thought of doing this before.
obligatory screenshot:

the rest of the day will be spent on the couch reading, sleeping, and playing PS3.
|
February 18th, 2008
10:19 pm - GCC 4.3 status update update GCC 4.3 was branched today. Release candidates will be following very soon-now.
We're (I'm) way far behind in porting. One thing I'm doing right now is moving my laptop/main dev machine/lifeline-to-the-net to 4.3. Then when I encounter a broken package, it is likely to annoy the hell out of me, forcing me to fix it, stick it into the gcc-porting overlay, and open a bug for it. And so on...
Welll that's the idea anyways..
|
February 2nd, 2008
09:30 pm - mips I bought an SGI O2 R5k off of eBay last month and it arrived on Monday. I've spent most of the week tinkering and reading and after one bad kernel got it booting linux last night. When people tell you these things are slow they aren't kidding. I remember thinking building on a P3-450 was bad. ;) But I built a couple of cross-compilers yesterday and fought with distcc most of the morning so I think I'm in good shape (or at least as good as a cluster consisting of a dual core laptop and an em64t desktop can be). I'm also planning on getting a couple Octane2 R10k boxes soon (and i should really get the PS3 running Gentoo already) so that should help keep me busy for a while and ramp up the power bill.
|
January 26th, 2008
11:47 pm - GCC 4.3 status update I'm still plugging away at getting the tree ready for GCC 4.3. This version ranks near the high end of the disruptive scale, unlike the 4.2 upgrade, with many packages needing patching to build. Users wanting to experiment will find many breakages in the current portage tree and will likely want to use an overlay. Mine is available through layman, and there are a few others available that can be found through the dedicated work of the people in the GCC 4.3 testing thread in the Unsupported Software forum.
Rather than go over the major porting issues here, I'll point people to the excellent porting document put together by Benjamin Kosnik and the GCC team located at http://gcc.gnu.org/gcc-4.3/porting_to.html
One recent development was the revert of a patch that made redefinitions errors. With this patch, whose intent was to make the C++ frontend and the preprocessor's pedantic warnings consistent, something like this would cause an error:
$ cat test.cpp #define foo bar #define foo baz
$ g++ -c test.cpp test.cpp:2:1: error: "foo" redefined test.cpp:1:1: error: this is the location of the previous definition
The problem is many many packages have code like this in their configure scripts. Whether this is a problem in autoconf, or lazy programming, or just the compiler being completely anal (which many have suggested), it's still a hell of lot of packages to fix. A conversation on the gcc-dev mailing list resulted in a compromise where a new system of pendantic warnings/errors was agreed upon. However, being too close to the release of 4.3 to make major changes, it was decided to integrate it into 4.4 and revert the original patch for 4.3.
So most of what remains is missing header fixes and the odd -std=99 inline error. Unfortunately there's still a lot of them.
Interested parties can follow along on bug #198121. If you want to file bugs please include (a) patches (b) the error message (c) a link to the upstream bug (if there is none, file one ;]) or cvs checkin if they've already fixed it (in which case we probably will just wait till they release rather than patch our version).
|
January 6th, 2008
12:11 pm - Fonts & Encodings

http://www.amazon.com/Fonts-Encodings-Yannis-Haralambous/dp/0596102429/
This book is awesome. Though he keeps calling it the "X Window System". Close enough; I'm just happy they cover Unix at all. ;)
|
December 21st, 2007
05:26 pm - wxGTK 2.8 Time to close bug #145884.
After over a year of waiting (but still way ahead of Debian), wxGTK 2.8 is finally coming to Gentoo. I'd like to thank everyone for their patience while we got the wrinkles ironed out.
Many of the problems we've had previously with wxWidgets in Gentoo were due in general to an incomplete separation between two major versions (being 2.4 and 2.6). These ebuilds had many file collisions and would conditionally install important files based on if the other version was installed or not, leading to situations where a working system was solely dependent on the order in which they were installed. Uninstalling or re-emerging one would often break the other. Packages would be built against whichever version was handy, despite what its requirements were. Many bugs were filed, and Jakub was sad.
The first thing we did to get ourselves out of this situation was to get rid of 2.4. Then I took some pointers (and patches) from FreeBSD and got 2.6 and 2.8 to coexist nicely. After some fiddling with eclasses, a wrapper or two, and an eselect module, we seem to be on good ground.
So here's what you need to know.
For the Users:
Nothing. ;P If all you know about wxGTK is it's some dependency you have to install on your way to building amule or vlc or audacity then everything should just work without you having to do a thing. You might be happy to know we've cut the compile time in half though.
For the Other Users:
If you are building software outside of portage, say, doing development on a package that uses wxGTK or building something from CVS/SVN/etc., then we have a new eselect module (eselect-wxwidgets) which can be used to set the default version and type of wxGTK you need. Initially the profile is set to "none" and you'll have to switch to the one you want. This is currently a global setting, and has zero effect on packages built through portage.
We previously planned to allow installing debug and release versions side by side, but later decided against it. I know there is some interest in this and I tried to design things to keep it open as an option so we might reconsider it sometime in the future.
For the Devs:
Basically, /usr/bin/wx-config is now a wrapper. When called from userspace it falls through to the wx-config corresponding to the profile the user has set with the eselect module. When called from wxwidgets.eclass, it uses info provided by the ebuild (WX_GTK_VER, need-wxwidgets) to choose which wx-config to call. The obvious result of this is that ebuilds *NEED* to be accessing wx-config through the eclass. There are a few packages which currently don't do this that I'll be filing bugs for. Eventually (and sooner than later) calling the wrapper from ${PACKAGE_MANAGER} without going through the eclass will result in a fatal error.
The eclass has been in the tree for a bit and is documentated so I won't go over it again here. `emerge eclass-manpages && man wxwidgets.eclass` should do it. If we missed anything or you have any questions about the eclass please feel free to ask me and/or leio and/or wxwindows@g.o. One thing I did want to mention is that the eclass now automatically does the necessary built_with_use checks (X, unicode, etc) for whatever type of wxGTK you request so they can be dropped from the ebuilds. There is also a new check_wx function for checking wxGTK for other USE flags (eg. opengl, odbc, gstreamer) in a consistant way.
The biggest change in our wxGTK-2.8 is we are no longer supporting the ansi profile; that is, we are unicode-only. The upcoming wxWidgets 3.0 will do away with the ansi/unicode split and simply use UTF-8 for everything. If your package supports building against the unicode libraries (most should), we encourage you to at least provide that option with a unicode USE flag or at most make it the default. ;)
Thanks to everyone who helped this along, tested, or otherwise poked at us to get it done.
Your wxWi{ndows,dgets} team.
PS. wxpython-2.8 will also be added shortly, after I finish cleaning up a few more packages that break when the two versions are both installed.
|
December 18th, 2007
05:43 pm - re: links in urxvt in my last post i said i needed to install gtk2-perl to get clickable links working. that was wrong. i needed gtk2-perl to run rxvt-tabbed (find it in /usr/share/doc/rxvt-unicode-${PV}/) but the link matcher works fine without it.
|
December 17th, 2007
08:38 pm - links in urxvt i've always known that rxvt-unicode had a built in perl parser that lets you do all kinds of crap, but i never really looked into it until yesterday when i was checking if the tab rendering in urxvt was anywhere near as good as mrxvt yet (PS - it isn't). after emerging dev-perl/gtk2-perl and adding a couple simple lines to ~/.Xdefaults...
URxvt.perl-ext-common: default,matcher URxvt.urlLauncher: firefox URxvt.matcher.button: 1 ...i now have groovy clickable links in irssi.

the whole config, as always, is here
|
December 3rd, 2007
07:45 pm - the trouble with wxpython Silly me. Here I thought that because wxpython has had an elegant, well documented method for handling multiple-version installs for several years now, people would actually, you know, USE it.
Ha ha.
So now I have a bunch of stuff to go through, test, and fix before wxpython-2.8 can hit the tree. I'll try to get it done as soon as possible; I know people have already been waiting a hell of a long time for this.
If you want to test/fix your own package, you probably have more python-fu than I, but something simple like:
try:
import wxversion
wxversion.select("2.6")
except Exception, e:
print >> sys.stderr, "%s: wxPython 2.6 not installed." %e
sys.exit(1) before the first `import wx` has been working for me.
|
November 24th, 2007
10:39 pm - it's dead! i guess by now i should know better. please hold off testing wxpython; i have some more SLOT fixing to do. go nuts on wxGTK though. ;)
|
09:30 pm - it's alive! After over a year of tinkering, the wxWidgets 2.8 upgrade is finally ready for the last shakedown. I just fixed the last of the known issues (file collisions between wxpython SLOTs). I'm sure there are a crapload of little things that'll pop up during testing but I think the serious bits have been taken care of.
I'm not putting the 2.8 ebuilds into the tree until I'm sure I'm finished with them. It's just so much nicer to work in an SVN repo ;). I've put a couple of new 2.6 ebuilds up though. These use the new eselect-wxwidgets module for configuring the wxGTK profile to use for out-of-portage building (inside portage the wxwidgets eclass handles this).
I'm going to be writing something up in the next couple days describing the major changes people need to be aware of. The biggest user-visible change is that in 2.8 we dropped ansi support, ie. we only build unicode. This is because of two reasons:
(a) wxGTK 3.0 will move to using UTF-8 instead of the current ansi/unicode split (b) maintainer sanity
You might remember me previously saying we had implemented the ability to install release and debug versions of the libraries side-by-side for wxWidgets developers using Gentoo. It was decided that this was a potential contributer to the general degradation of (b), of which we have limited resources, so it was dropped. However, I wrote the ebuilds/eclass with this in mind, so if there's enough demand for it we might reconsider.
In the meantime I could use some guinea-p^Wtesters. If you'd like to help out here's what you can do:
edit: MAKE SURE YOU REMOVE ANY THIRD PARTY WXGTK/PYTHON EBUILDS/ECLASSES/OVERLAYS YOU MIGHT BE USING BEFORE TESTING THESE EBUILDS. Make sure there are no stray files/symlinks/crap left over too.
Unmask the new ebuilds by adding app-admin/eselect-wxwidgets, dev-python/wxpython, and x11-libs/wxGTK to /etc/portage/package.unmask.
emerge wxGTK-2.6.4.0-r2 and wxpython-2.6.4.0-r1. Make sure everything works like it should, other packages build, USE flags work, etc.
You can grab my overlay with layman for the 2.8 ebuilds. emerge wxGTK-2.8.6.1 and wxpython-2.8.6.1 and do the same again. Make sure that ebuilds requesting 2.6 get 2.6.
Try changing profiles with `eselect wxwidgets`. Make sure ebuilds don't use the eselect profile instead of the one set in the ebuild (a good way to check is to set a 2.8 profile in eselect. All ebuilds in the tree are locked to 2.6 right now so if you see something build against 2.8 it's a bug). See what `wx-config --list` tells you. The "default config" should match the current eselect profile. Unmerge one of the SLOTs. Unmerge both SLOTS. Reinstall in a different order.
etc. etc.
You can post any problems you find on bug #145884 (for wxGTK), #178727 (for wxpython), or #199594 (for eselect-wxwidgets), or email me.
Currently all that needs to be done (other than testing) is to get bugs #197186 (stabilization) and #199594 (keywording) fixed.
|
September 24th, 2007
10:30 pm - Texts Rasterization Exposures via LWN:
The Anti-Grain Geometry project has an article on font rendering, covering Linux, Mac, and Windows techniques. It looks at various ways to make text look better on a monitor, including sub-pixel rendering, hinting, and gamma correction. "The Windows way of text rendering is bad, the Linux way is much worse. In all Linux systems I've seen they use FreeType by David Turner, Robert Wilhelm, and Werner Lemberg. It is a great library, really, but the way of using it is not so good."
http://antigrain.com/research/font_rasterization/index.html
This looks like an excellent doc for anyone who's interested in fonts and font rendering systems.
|
September 11th, 2007
07:14 pm - wx{GTK,python}-2.6.4.0 wxGTK and wxpython-2.6.4.0 have now been in the tree package.masked since Sept 1st. I'm planning on unmasking them very soon, probably this weekend. I've done a reasonable amount of testing, but I'd still like to know if anyone runs into trouble upgrading from earlier versions. If you're feeling adventurous, you can put =x11-libs/wxGTK-2.6.4.0 and =dev-python/wxpython-2.6.4.0 in your package.unmask and try them out. Please report any problems you might have either to wxwindows@gentoo.org or bug #182083.
Thanks ;D
https://bugs.gentoo.org/182083
|
August 25th, 2007
01:54 am - busyness for everyone wondering what happened to wxGTK-2.8, it's still baking. my first attempt was deemed too complex and i have to agree. we have something much simpler in mind now which should still work for everyone. i'm going to be starting on testing it this weekend and i'm also planning on making a personal overlay available to open up the development process so we at least have an indicator of our progress and at most get some valuable feedback.
but honestly for the last month or two i just haven't had time for many gentoo-related things. summer is our worst time at work, when every lake has a half-dozen new subdivisions to survey, the cities - in the midst of a veritable housing boom - dump lot postings and title certificates on us by the dozen, and the oil companies expect 0-day response times. yesterday we actually managed to do seven jobs. unfortunately by the end of the day thirteen more had come in. our crack office staff has been especially helpful in plastering every single job with various coloured sticky notes saying "RUSH!" and "ASAP!" and "HAS CALLED FIVE TIMES", which apparently makes them go faster or something.
things slow down in the winter but considering as-is we're already booked through next February and you can (and we do) still pound steel posts four feet into the ground to mark out a 50-lot lakeside subdivision when it's -40C out (it just takes a wee bit more effort (and a jackhammer)), there's plenty of fun to come.
wxGTK and wxpython 2.6.4.0 will be in the tree early next week. i hope to be done with 2.8 before 3.0 is released, weather permitting. Current Mood: restless
|
|
|