||[Dec. 17th, 2003|11:31 pm]
Working in London for a client with a problem ... well that's what I do :) This particular problem is a system that runs on one machine but not on another. Simple I hear you say ... search for the differences and correct them. If only ot were so simple!|
Firstly there are some valid differences 'cos we have an upgraded machine and some things have to be different.
Secondly the section of code where the problem is located is complex. Today I have isolated the problem to one section of code. This C program writes a C program ... yes that's right. Usually we get programmers to write code but not here. Rather than write a program to work for every possible combination of "things" that it has to deal with we have it write a new program each time it needs one. Then the progran has to compile the program that has just been created, link it together and create an executable. When it eventually get around to run this it will create some tables in a database, move data around and finally tidy up around itself.
On machine one this all works fine, mostly. On machine two it doesn't, but doesn't give any helpful error messages ... indeed it doesn't give any error messages at all. I think I've given it a better chance of working by actually installing a C compiler on the machine (and if I every get the person who should have done that already I'll .... well they'd better watch out!) By the end of today I was resorting to executing the individual commands (pre-processing compiler, compiler and link loader) by hand after substituting in the values from the C code - brain bending time. After a couple of goes I realised that I had to write a little batch process to do this rather than type long strings of gibberish each time as it tries to read many libraries down long and tortuous paths (that include spaces so they break the command parser unless you enclose them in quotes)
More of this on Thursday ... fun fun fun. Still at least it is some progress I suppose.
Peace to you all