Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; CBlacklist has a deprecated constructor in /home/saltybanana/www/blog/peel/scripts/sb_blacklist.php on line 6

Warning: session_start(): Cannot start session when headers already sent in /home/saltybanana/www/blog/peel/index.php on line 11

Warning: strpos(): needle is not a string or an integer in /home/saltybanana/www/blog/peel/index.php on line 49

Warning: count(): Parameter must be an array or an object that implements Countable in /home/saltybanana/www/blog/peel/scripts/sb_display.php on line 413
The Banana Peel
Recursive Dependencies in MacPorts 
Wednesday, May 2, 2007, 11:14 PM
Someone posted a query to the MacPorts user maiing list asking why the bittorrent port requires XFree86 or Apple's X11 to build. It is a reasonable question, since at first glance bittorrent doesn't seem to need it:
% port deps bittorrent
bittorrent has library dependencies on:
A second glance says the same as well:
% port deps py-wxpython
py-wxpython has library dependencies on:
% port deps py-twisted
py-twisted has library dependencies on:
% port deps py-crypto
py-crypto has library dependencies on:
I ran into a similar problem in my use of MacPorts, where I needed to determine all the dependencies a port has. So I wrote a Python script,, which outputs the following (emphasis added):
% bittorrent
+- bittorrent
+- (L) py-wxpython
| +- (L) python24
| +- (L) wxWidgets
| +- (L) jpeg
| +- (L) tiff
| | +- (L) jpeg
| | +- (L) zlib
| +- (L) libpng
| | +- (L) zlib
| +- (L) zlib
| +- (L) libiconv
| | +- (B) gperf
| +- (L) expat
| +- (L) libsdl
| | +- (L) XFree86
| | +- (B) perl5.8
| +- (L) libsdl_mixer
| +- (L) libsdl
| | +- (L) XFree86
| | +- (B) perl5.8
| +- (L) smpeg
| | +- (L) libsdl
| | +- (L) XFree86
| | +- (B) perl5.8
| +- (L) libvorbis
| | +- (L) libogg
| +- (L) libogg
| +- (L) libmikmod
+- (L) py-twisted
| +- (L) python24
| +- (L) py-zopeinterface
| +- (L) python24
+- (L) py-crypto
+- (L) python24
This has saved me from needing to repeatedly execute the port deps command by hand or going through Portfiles to hunt down dependencies on many occasions.

Of course, my little handy Python script only provides a skin-deep explanation of why X11 is needed by saying "because the Portfile says so", which isn't all that insightful. A slightly better explanation can be found here. Basically, bittorrent has a dependency on libsdl, which will not compile unless X11 is present.

Now why does libsdl need X11 to build? I don't know the answer to this one. Do you?
  |  permalink   |   ( 3 / 888 )

@voip_provider = if vonage.go_under? and 
Wednesday, April 18, 2007, 1:35 AM
Thanks to a speedy Internet connection and Vonage, I have been landline-free for a little over two years now.

My VOIP service during the past 24+ months hasn't been trouble free, but it has been pretty good.

However, given the troubles Vonage is currently going through, things don't look so hot. The latest news for the company sounds downright ominous. Yes the company keeps stating that existing customers aren't affected. But I wonder when that statement might change.

Vonage is in the business of providing a service/solution using technology. But it would seem it has reached a roadblock that technology is unable to solve. So either Vonage needs to solve its problems another way, or I will have to start shopping for another VOIP provider.
  |  permalink   |   ( 2.9 / 496 )

Freeciv 2.1.0 Beta 4 and the Future 
Tuesday, April 3, 2007, 5:42 PM
The developers cranked out the 4th beta over the weekend. You can download the Mac OS X Tiger (PPC) binary here.

Someone asked about a Universal version of Freeciv some time ago. Unfortunately that's not quite possible right now, because the option to build the libraries Freeciv depends as universal binaries isn't yet available, and I have no control over when this will change.

At some point in the future, when I do purchase an Intel-based Mac, I will be able to product Intel-native binaries. Then, assuming I will continue to have access to my current as well as the new machines, two packages could be produced: one for PowerPC and the other for Intel. But, it will not be something I want to do long-term. And of course, there is the Leopard consideration as well.

For now, though, my Freeciv binaries run on Tiger+X11 on PowerPC, or on Tiger+X11+Rosetta on Intel.


  |  permalink   |   ( 3 / 820 )

Freeciv 2.1.0 Beta 3 - Success! 
Monday, March 26, 2007, 3:26 PM
I finally figured out what was going awry. If you just want to play, head on over here to download it. If you are interested in what transpired, read on.

As it turns out, newest versions of the Pango library changed how the pangorc file is parsed. It used to understand double quotes, but no longer. Took me a lot of trial and error to figure this one out.

Anyway, I am glad things worked out. Now if I find some time, I will have to research the SDL client some more, since I am told that it has far less dependencies than the GTK client. If it pans out, perhaps it will reduce the size of the distribution as well.

  |  permalink   |   ( 3 / 1016 )

Freeciv 2.1.0 Beta 3 Progress Slows 
Friday, March 23, 2007, 6:29 PM
I was working on both the GTK+ client as well as the SDL client for beta 3. However, given the limited amount of time I can devote to the project, I have decided to focus on the GTK+ client.

But, I've hit a bit of a wall with it. While the game compiles and runs locally on my machine, I am having difficulty making it re-distributable.

It seems the matter at hand has to do with pango, a library used for the laying out and rendering of internationalized text.

When I attempt to run the supposedly re-distributable binary, I get the following warnings about this library:

(freeciv:2564): Pango-WARNING **: No builtin or dynamically
loaded modules were found. Pango will not work correctly.
This probably means there was an error in the creation of:
You should create this file by running pango-querymodules.

(freeciv:2564): Pango-WARNING **: pango_shape called with bad font, expect ugly output

(freeciv:2564): Pango-WARNING **: pango_font_get_glyph_extents called with null font argument, expect ugly output

(freeciv:2564): Pango-WARNING **: pango_font_get_metrics called with null font argument, expect ugly output

(freeciv:2564): Pango-WARNING **: _pango_cairo_font_install called with bad font, expect ugly output

The game does run, but rectangles are rendered instead of letters. So clearly there is something wrong. I just don't know what.

Since Freeciv is based on MacPorts (formerly DarwinPorts), perhaps the MacPorts community can lend me some insight.

  |  permalink   |   ( 3 / 907 )

Back Next