Recently in Macintosh Category

KDE 4.2.1 in Fink

| 3 Comments | No TrackBacks

Yes, that's right, a post to my blog that isn't about OpenNMS. ;)

As you can tell, I've been pretty busy having fun hacking on OpenNMS lately. While I have been keeping up with my Fink work to some extent, one major thing was still looming: finally getting all the work I did on KDE/Mac released in Fink, now that things have stabilized.

If you've been watching the commits for the last few months, you've seen the beginnings of that work. Updates to Qt, releases of support things like strigi and soprano... The big hurdle was getting D-Bus in a state where it plays well with KDE/Mac. After some initial hiccoughs, the D-Bus updates have been released to Fink now, and seem to be working well for people.

Today, I released the base packages for KDE 4.2.x into fink: kdelibs4, kdepimlibs4, and kdebase4.

Because of the cross-platform nature of KDE, I've released them in 2 variants: mac and x11, so you can run konqueror as an X11 app, or as a mac app. :)

Some things will only be present in one or the other, for various reasons (X11-specific features, etc.) One thing that will be in the X11 variant that is not there now is kdebase-workspace, so no plasma desktop as of yet. I've built it, but it doesn't act right currently, so I'm waiting to release until it's in a usable state.

This is still early test stuff, so if you run into issues with it, please feel free to let me know and I'll see what I can do.

I can't thank enough Orville Bennett and the other KDE/Mac folks. They have picked up the early work I did on porting and ran with it, helping polish it into a nice, buildable, and solid set of code while I was on my "hiatus" from KDE packaging. :) They have done a lot of great work in helping bring native mac KDE from "freakish mutant" to "used every day by KDE developers."

In the coming weeks I hope to get more of the base KDE packages done. I'm in the testing phase for koffice, amarok, kdeartwork, and a couple of others, and working my way through packaging more. I'll post as I get anything interesting.

Stats Junkie

| 3 Comments | No TrackBacks

If there's one thing I know about people who are involved in network management, it's that they're stats junkies. Case in point. (Hah, I mean, how cool is it to poll the weather in OpenNMS...) I put that to the test in the last week, most definitely.

I got slashdotted (and ars technica'd, and dugg) a few days ago, and despite being under the weather, it fired me up to do 2 things.

First of all, it got me excited about working on KDE more. I had a great time at the KDE 4.0 release event and for the first time got strong feedback from KDE folks on what I've been working on. I got a little bit of that at aKademy but I also still felt quite a bit like the outsider there. This time around there were a number of people who gave me great feedback, encouragement, and all-around made me feel like a part of the community.

As a result, the thing I'd hoped would happen most after getting the press did happen -- the kde-darwin IRC channel is hoppin' with people not only willing to help test things and give bug reports, but willing to dig into the code, and help out in other ways. (One guy is designing a sweet web site that will hopefully be at mac.kde.org when we can get the administrative stuff handled.) And as for testers... well, there've been at least 1200 people who have completed downloading the "everything" torrent!

Second of all, I obsessively watched my web page and download stats. I can't help it, I love watching the graphs go crazy.

Google Analytics graph -- KDE slashdotting

We, of course, monitor my web site with OpenNMS. However, I've recently switched to a new server at my hosting provider and I hadn't noticed that I wasn't monitoring the new machine. So thanks, ars technica, for getting me to monitor my new server. The cobbler's children finally got some shoes. ;)

I also use Google Analytics for web-site tracking. You can see in the graph on the right the difference between last week and this week. (Last week is the little green bit at the bottom of the graph...) This week I've had over 13,000 unique visitors, when about 1,500 is the norm. That's just crazy!

And on that subject, Tarus and I were talking about a bug reported to the discuss list related to my recent changes to the OpenNMS RPM packages. Tarus joked that "at least two people are running nightly snapshots" which, of course, got me thinking, "Hmm, our Yum downloads aren't recorded on SourceForge, I wonder how many snapshot users we do have..."

I figured it would be maybe 20 or 30 people brave enough to run the nightly version of OpenNMS. Boy was I wrong. A quick grep through the logs shows that since we started doing snapshots, we've had almost 8 thousand snapshot downloads, from 900 unique hosts. That's not people running the latest release, that's people running whatever nightly code got checked in the day before. Granted, we do a pretty good job of making sure trunk is always usable, but "usable" is not the same as "regression tested" nor "proven in the field."

All I can say is, thanks to everyone willing to try things out, it's great to see that we've got that many people willing to be on the front lines making sure our software works.

New KDE/Mac Snapshot

| 14 Comments | No TrackBacks

Just in time for the KDE release event (grin) -- a new KDE/Mac snapshot is available. I will be demoing it at the release event, thanks to Google and the KDE release coordinators for arranging free lodging, and my employer, OpenNMS, for covering my travel!

On to info about the snapshots.

Qt is updated to 4.3.3, and my build tools have been updated to use the KDE 4.0 branch now that 4.0.0 has been tagged. This does mean that kdepim and kdevelop are no longer being built (for now). Also, I'm not building Amarok right now since it has some compile issues, and I need to get with the Amarok folks to figure out what to do about some architectural issues (no Plasma on OSX).

Nothing huge code-wise has changed from a Mac point of view, other than all of the general updates that have gone on in the KDE codebase since the last snapshot. It appears that kdeinit4 and kded4 both have some crashing issues related to something deep in Qt, I will be investigating it when time permits. In the meantime, a lot of apps still work. Notably, KOffice apps appear to work now! In fact, KSpread is looking pretty darn good.

The torrents are still in the process of uploading to my seed servers, I've got most of them finished but a few are still going, and the "everything" torrent is still going, so if you're impatient, grab the individual packages of the stuff you want for best results. Note that I will be traveling to San Jose for the release event today, so you may see the torrents stop updating for a while but I will resume them as soon as possible.

As always, comments and questions are welcome, just send me an e-mail or reply in the comments here.

Good News, Everybody!

| 2 Comments | No TrackBacks

(No, it's not a suppository.)

Trolltech has released phonon backends for GStreamer, DirectShow, and QuickTime/CoreAudio, and will be maintaining them in the KDE codebase!

I guess it's time to start another build and see how Amarok sounds with nice CoreAudio output.

As of last night, the new PDB seems to be working alright with the (few) testers it's gotten from fink-devel yesterday evening, so I'd like to open this up to a wider audience.

Please, give the new test code a whirl and let me know if you see any issues.

So I've finally gotten a full KDE/Mac build done, and new snapshots are available.

The kdeaddons package went away, and QCA is now part of kdesupport (since they've gone on and done new development that isn't compatible with current KDE trunk). I've done some spot-checking, and as always, things that are simple tend to work better -- most of the kdegames stuff looks great as always.

Everything in KOffice is unfortunately failing with the error:

11/17/07 12:36:56 AM [0x0-0xb50b5].kspread[11258] ASSERT: "not isInitialized" in file /Users/ranger/cvs/kde-mac/source.build/koffice/libs/pigment/KoColorConversionSystem_p.h, line 70

I haven't yet figured out why it's happening yet, but expect an update once I do.

Amarok actually runs and plays music, although it inexplicably loses it's menu bar completely, so there isn't much else you can do with it. I suspect it might be the splash screen stuff confusing Qt, but I'm not positive.

BUT, the big news is that it actually works on Leopard too. :) I've made an ugly patch that fixes the CoreFoundation fork/exec issue and I was able to open pretty much everything (well, everything that didn't crash for other reasons... <grin>).

A few of the packages are still seeding from my 384kbit upstream system, so it might still be a little bit before they're all available, but please, as always, try them out, and post if you see any interesting issues.

Fink + Leopard Potpourri

| No Comments | No TrackBacks

Just wanted to give a quick update on a mix of Fink and Leopard issues.

First of all, if you get the error, "Failed: Can't fix GCC after Repair Permissions" it's because the XCode installer decided not to bother erasing your /usr/sbin/gcc_select even though it shouldn't be there anymore. It should be safe to erase it, but if that scares you, you can upgrade to 0.27.8 and your problem should go away as well... (Fink does not use gcc_select anymore on 10.5 as of 0.27.8.)

Also, people have been coming out of the woodwork hitting the OpenGL bug ("ld: cycle in dylib re-exports with /usr/X11R6/lib/libGL.dylib") so I want to mention it here specifically for search engines to make it easier for people to find the fix.

The fix is to add the following line to your linker command: -Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib

It should be a perfectly safe no-op on older Mac OS X releases, but makes sure that the XCode 3.0 linker doesn't get confused and try to be too smart about finding the correct libGL.dylib.

I've also been trying to solve a new-on-leopard issue where they no longer allow CoreFoundation code to be called across a fork (presumably mach port messiness). The error is:

The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec(). Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__() to debug.

...it seems to hit KUniqueApplications specifically. The fix is most likely to re-exec after kdeinit does it's thing, using execve() but I'm not entirely sure. I need to play around with it some more first. If anyone has any ideas, please let me know. ;)

Also, I updated fontconfig2-dev -- it's at 2.4.1 in 10.4 now, and no longer has conflicting configuration stuff that expects Apple's to be there. On 10.5, it's a dummy package that symlinks into the fontconfig 2.4.1 in /usr/X11, so there's no issues of conflicts on leopard.

On an unrelated note, yes I am working on a new KDE/Mac snapshot, and have been making good progress on it. I'd say I'm probably 95% of the way through a full clean build working. Of course, KDE/Mac on Leopard has the same problem that KDE/X11 does, so whatever I solve in one will need to be ported to the other. Whee.

I think that's it... If you have any questions, as always, let me know. I'm trying to work my way through everything, but there's lots of stuff to fix still.

OpenNMS Installer

| 4 Comments | No TrackBacks

So I've spent the last week or so working on a Windows installer for OpenNMS, using IzPack, an awesome Java-based installer. After some trial-and-error getting it to handle paths nicely (some of our code is not spaces-in-paths clean, so I had to hack something up to get the DOS 8.3 filename), it seems to be working!

We're going to spend some time testing it and making sure everything works well enough to be considered an "alpha", but this certainly appears to put us on track to have a nice installer working shortly after 1.3.8 is out -- which should be any day, there are only a couple of bugs left on the blocker list.

...and since IzPack is a Java-based installer, it actually works on Mac OS X and Linux as well, and in theory, anywhere else that supports Java 1.5... (Although it is still recommended you use native package management, since you'll get config-file management and other nice stuff...)

Fink and Leopard

| 1 Comment | No TrackBacks

If you've missed it, David posted to the Fink news that we have initial Leopard support.

Thanks to apple keeping C++ binary compatibility this release (phew) it is most definitely the easiest upgrade yet! For most people, you can just do a "fink selfupdate-rsync" (or "fink selfupdate-cvs") to get the fink 0.27.7 tool, and it will automatically convert your fink installation to be Leopard-compatible. If you're doing a fresh fink install, you'll have to install XCode 3 off the Leopard DVD, and then bootstrap from the 0.27.7 tarball, but it's a very painless procedure. A binary installer is on the way.

The best part is, increased POSIX compliance and better overall system headers in 10.4 has paid off in most Fink packages working out of the box on 10.5 (minus the stupid linker bug which apple did not fix in time for 10.5.0) and what's left will get updated as problems arise. The transition (as compared to the 10.3 -> 10.4 gcc-3.3 to gcc-4.0 move) has been considerably less painful.

Since Leopard is still very new, and not many maintainers have had the chance to upgrade, if you find issues with packages (or missing packages) and wish to report a bug, please CC the fink-devel list for the next few weeks so we can find someone to help fix it, even if the maintainer can't test bugfixes yet.

I just released KDE 3.5.8 to Fink unstable.

There are a ton of little bugfixes in this release, as well as a few Fink-specific changes, mostly related to Leopard-compatibility... (A newer CUPS and a workaround for a stupid linker bug that won't be fixed in time for 10.5.0.)

As always, please let me know if you have any issues, or if it works for you. We're going to try to fast-track the update to stable so we're ready for Leopard. (Only 10 days to go!)