Re: cfglgo compile problem, help requested
Posted in 1994
}From: ralphb8649@aol.com (RalphB8649) }Subject: cfglgo compile problem, help requested }Date: 10 Sep 1994 14:36:13 -0400 }X-Informix-List-Id: <news.8594> } }cfgl(won't)go } }I am encountering compile problems while trying to create a custom }runner for a 4GL RDS application, and I am hoping that one fo the many }experts in this group can point me in the right direction. } }Here is the situation. My client's machine (the target for the }application) is a vanilla SCO runtime box. They do not have a }development system and can't afford to buy one at this time. So, I }have temporarilly loaded their SCO Informix RDS software on another }system which has an ISC (Interactive) 3.3.2 development system, for }the purpose of compiling the 4GL sources and C functions of the }application. } }All of the fglpc steps run OK. When I run cfglgo on 4gl's with the }C routines to create the custom runner, however, it fails in the ld steps, } }giving me an unreferenced symbol error for "ftime", "first encountered in }[/usr/informix/lib/]libncolor.a". } }As the application itself does not call an ftime function, and I can }locate nothing in the ISC C compiler docs regarding ftime, my current }assumption is that ftime is specific to the SCO implementation and }included in the Informix library for that reason. ftime() is an old (Version 7, BSD), not very standard, way of getting sub-second timings from the operating system. It is still used by Informix, and has been the cause of numerous similar problems over the years, and the number of problems is increasing as fewer operating systems support it. The newer function for the job which is more or less standardised is gettimeofday(). It gives micro-second resolution, whereas ftime() gives millisecond resolution, or worse. There is also at least one Unix platform with a buggy ftime(). I expect future ports of Informix to make use of gettimeofday() instead of ftime(). In the long term, therefore, you shouldn't have a problem. SCO Unix does provide ftime() somewhere in its libraries. If ISC doesn't, then you cannot safely use ISC as a cross-development platform for SCO. I have no idea about the legality of your setup, though it doesn't seem to be a very fundamental violation of the intent of the licence. However, there can be no doubt that we do not guarantee that you can compile software intended to be compiled on SCO boxes on non-SCO boxes. The solution is to get a SCO development environment. Yours semi-sympathetically, Jonathan Leffler (johnl@informix.com) #include <disclaimer.h>