GNOME ABI is always backwards-compatible, except for when it’s not

So I'm rather surprised by GNOME's response to a recent bug on symbol visibility on Mac OS X. One of the things GNOME has done very well in the past is to always preserve backwards-compatibility, and they've generally stuck to it (and when they haven't, it's been an accident, and has been remedied).

But given the comments on the bug, apparently ELF linking with indirect symbols is now the only officially supported way to compile GNOME libraries, and breaking ABI compatibility is OK as long as it doesn't break any important platforms. (ahem)

I'm in favor of refactoring code to the proper places as much as the next guy, but this is breaking ABI, and should wait for gnome-vfs3. That's the way it works, you're making a compact with the user that as long as this major number doesn't change, your old binaries should still work. It's a shame that they'll break that covenant for the purposes of the convenience of framework developers. It's not like there aren't ways to consolidate the code that doesn't break binary-compatibility.

And here I was going to help Daniel Macks work on getting GNOME modernized in Fink (using my experimental modular x.org Fink packages, and GNOME 2.15/2.16), but suddenly I've got a bad taste in my mouth.

Share on Facebook

OSCON 2006 — Say “Hi”

I'm here in Portland at OSCON until Friday night. If you're here, send me an e-mail and we can try to find each other and say "hi". I've gone ahead and set up a "Birds of a Feather" meet-up, at 8:30pm Wednesday night, in room F150. If you're interested in Fink, give us a visit.

If you're not at OSCON, well, you're missing out. 😉

Share on Facebook

The Beard

So I'm going to veer away from Mac stuff for a sec.

I went to a Carolina Hurricanes game late in the regular season with my fianceé, mom, and aunt, and I got totally hooked (we've already got season tickets for the next season). The Hurricanes made it to the playoffs, and I heard about the tradition of not shaving until you win (or you're eliminated).

Now, I've had facial hair in some form pretty much continuously since junior high, I'm all about not having to shave. Not to pass up yet another excuse not to shave, I thought "what the heck, I can grow a playoff beard!"

The Hurricanes went right to the end, and won the Stanley Cup this year! In the process, I managed to grow a nice substantial amount of facial hair. Of course, I couldn't let that much hair just pass without having a little fun with it...

So I present to you: Operation: Playoff Beard!

Share on Facebook

Qt 4.2 and kdesupport snapshots updated

I've updated my universal packages for Qt and kdesupport to handle the latest that's going on in kdelibs trunk (the move to Qt 4.2 snapshots, D-Bus moving from kdesupport to Qt, etc.) You should be able to build kdelibs trunk with these packages, until things change again. 😉

Share on Facebook

Fink (the cat)

So one of the regulars in #fink on irc just got a new kitten. He named it...

Fink!

Apparently they have a tradition of naming their cats something that starts with "F" (or "Ph").

Say hello to Fink the Cat! (awwwwww)

Fink the Cat

And totally unrelated, I'm really curious now. I wonder what linkie winkie is. I saw it in my feedburner logs and wonder what the secret is. Do *you* know?

Share on Facebook

Major Java Updates

I've gone through a huge number of the java packages I maintain, and updated them en-masse. Besides version updates (and a number of new packages) the biggest change is that I normalized them all to target the 1.4 JDK. When Apple changed the default JDK to 1.5, we ended up with some strange issues because of compiling java code using the 1.4 JDK when some jars have been built with the 1.5 JDK.

A few of them (hsqldb, xerces-j-docs, xalan-j-docs, and I think one or two more) require that you build them with a terminal created by a logged-in user, so ssh'ing in to build, or building in a screen session, could fail. Be forewarned. 😉

Continue reading Major Java Updates

Share on Facebook

Qt 4.1.4 and kdesupport snapshots

If you haven't checked lately, I've been updating my Qt and kdesupport installer packages pretty regularly. If you're interested in trying out KDE4 development, all you need is the Qt and kdesupport packages here, and CMake (2.4.2 or higher).

Things are starting to settle down from the D-Bus move and it looks like things are building pretty well.

I've updated my continuous build systems so that they work again, you can track whether it currently builds on my G4 10.3 box or an intel iMac here.

Share on Facebook

Updates Since May 19th

The KDE4/D-Bus stuff is starting to settle down, and it looks like trunk is starting to regularly build again. It'll be worth seeing if it's stabilized pretty soon.

Also, Peter O'Gorman, Torrey Lyons, and I have been working on getting X.org 7.1 building. Torrey committed a ton of fixes in the monolithic (6.9) tree to fix building with the GL and other changes that happened between 6.8 and 6.9. Now we're trying to get all of that into the 7.x (modular) tree. I've got everything up to the X server packaged in my experimental tree and I've been playing with seeing how things do when built against it. Peter just got XDarwin.app building enough to start up, although it doesn't work yet. Hopefully things will start working soon.

I'm taking this opportunity to work towards making X.org 7.x the "official" X11 of Fink. I've been doing some tests with mixed binaries (some libs linked against /usr/X11R6 and some against /sw/X11) with good results. Eventually, the goal is to transition all X11-using packages in Fink to link against the /sw/X11 tree, and let end-users have whatever X they want in /usr/X11R6 for their runtime. Because of the client-server nature of X11, everything should be able to coexist pretty peacefully. (Stuff linked against /sw/X11 will still run with apple's X11.app and so on.)

In addition, there have been a few general updates released to 10.3, 10.4-transitional, and 10.4:

Share on Facebook

KDE/X11 3.5.3 in Fink Unstable, KDE4 updates

KDE 3.5.3 is in Fink unstable (10.3, 10.4-transitional, and 10.4). It looks like there's an issue with kdenetwork3 building in 10.4-transitional, and a couple of people have reported some strange build errors in kdegraphics3 that I can't reproduce, but other than that I think things are looking pretty good. There aren't really any OSX-specific changes, but a few build system things have been cleaned up.

In other news, the D-Bus branch of kdelibs has officially moved to trunk. This means no more DCOP weirdness on Mac OS X. (yay!) I've put together updated versions of my (universal) KDE4 support binaries that include Qt 4.1.3 as well as D-Bus and it's dependencies. Note that I don't provide a CMake package anymore, you can get Mac OS X binaries from the CMake site.

Share on Facebook

kdepim ported to kde4

Looks like kdepim builds on kdelibs4 now!

I'm in the process of getting Qt/Mac 4.1.3 final (plus the KDE qt-copy patches) finished up for my binary packages, and then I'm going to start tooling up for trying out some more KDE/Mac stuff. It will take a little time to get all the DBus stuff sussed out on OSX.

At least there's something interesting to try out; perhaps I can get KMail running.

Share on Facebook