Friday, 18 December, 2009. 02:28:12 PM


I haven't identified the instability in my mail server yet, so I'm just going to forward it to my gmail account for now. I think it's a fan, but both fans are spinning just fine right now. /n

Monday, 14 December, 2009. 03:11:24 AM


My file server is giving me some reliability trouble. It has been crashing unexpectedly for a few weeks now, when normally it is very stable. I suspect that the fan I mounted above the CPU has died, but I can't do anything about that until Friday when I am home again. If that's not the problem, then the motherboard will need to be replaced. It's a 600Mhz Mini-ITX board, and it's getting pretty old. /n

Thursday, 10 December, 2009. 04:30:07 AM


AIX linking notes:

I've been through this more than once, and never wrote it down. AIX's linker is a little strange compared to other UNIX linkers. Linking static objects is simple, but runtime linking of dynamic libraries can be tricky because of the compiler options required.

Linking the dynamic library:

1) Use xlc to link dynamic libraries, not the ld command. This is much easier.
2) Use the -bnoentry flag on dynamic objects. This means to omit the C startup code, which if included on a library would cause duplicate symbols because it's also included on the program.
3) -bexpall doesn't seem to be required, since exporting all global symbols is the default. Exporting more than just the globals would seem to be a special requirement.
4) -G is the option to make a dynamic library. The -qmakeshrobj option isn't needed for run time linking
5) The tricky part of this is that other libraries may be needed to be specified on the command line with the -l option. For example, a runtime linkable library may make calls to tputs or tgoto, which are curses functions. A normal UNIX linker would know what to do when -lcurses is specified on the PROGRAM link line. But on AIX, the tputs or tgoto symbols would be undefined. That is because when a runtime linked dynamic library that uses curses symbols is built, it has to also have the -lcurses option on the library that BUILDS the runtime linkable dynamic library. The -lcurses option also seems to be required on the command the links the final program too.

Linking the program that uses the dynamic library:

1) Use xlc to link the programs, not the ld command. This is much easier.
2) Use the -brtl option. This specifies that the program will be using runtime linking, so the linker will go after the *.so libraries and not the *.a libraries.
3) Use the -bdynamic option. When used with the -brtl option, this makes the linker first look for the *.so libraries, and then if it is not found to look for the *.a libraries.

And now hopefully Bob's your uncle.
/n

Monday, 07 December, 2009. 03:49:04 AM


They found a qwerty keyboard for me. Belgium uses azerty keyboards. /n

Sunday, 06 December, 2009. 06:16:45 AM


December is a cold and rainy time in Brussels, but the 5th was a good day to be in the city. The Dutch and Dutch Belgians have the tradition of Sinta Klaas (spelling might be wrong) where Saint Nicholas arrives on the night of the 5th to give the good children presents. The bad children are taken away to Spain by Saint Nicholas' helper Swartz Piet (black Pete).

I spent the day wandering around Brussels without any kind of plan, as I like to do, and about 3:30 I found Saint Nicholas coming out of a bar with his helpers. A huge crowd followed him up the street, while he greeted children the whole way. Poor Black Pete wasn't gettin' any love from the kiddies.

The police were busy towing cars along the street to make way for a parade as it turned out. Bolivian musicians and dancers in spectacular colors led the way, with a work horse drawn carriage and stilt walkers bringing up the rear. They wound through the whole city parading Saint Nicholas around in the carriage, with a huge crowd following them the entire way.

I also ate a very suspicious, but delicious, sandwich, and am hoping to avoid the worst. /n

Saturday, 05 December, 2009. 02:16:40 AM


The elevators in Belgium were numbered by a C programmer. The ground floor is zero. /n

Saturday, 05 December, 2009. 02:15:20 AM


I am in Brussels, Belgium working on a migration project for two weeks. There is a lot to see and do in this city, and I have two weekends to do it. /n