Re: 4gl Compile error
Posted in 1999
---- you wrote: > He means that you do not seem to have a C compiler installed on your SCO > system, at least not one named 'cc'. If you are using gcc or some other > C compiler just set the INFORMIXC environment variable to the name of the > compiler driver or edit c4gl and make it the default. > > As to the other. Newer 4GLs made cursor names unique at the file/module > level by prepending the module's filename base to the cursor name. You > apparently have some cursor names that are longer than 18 characters when > the preprocessor does that. Seek these out an fix them then recompile > everything. Al alternative, for the short term, is to disable this newer > feature by adding the '-globcurs' flag which reverses the default > '-localcurs' flag's effect and goes back to global cursor names. No Dude, this is actually a bug. Number 114614 I think. This is the most pathetic attempt at writing code I have ever seen. Here is a test case that fails: database sysmaster main declare a cursor for select * from systables declare b cursor for select * from systables end main You can see that the cursor names are not the same, they are also not long. This test case works: database sysmaster main declare a1 cursor for select * from systables declare b cursor for select * from systables end main Spot the problem yet? I guess Informix QA didn't either! It's all to do with having two cursor names of the same length, regardless of what characters are used! I couldn't believe it either. The good news is this is fixed in version 7.30, the bad news is 7.20 is the latest version for my platform. The real problem is using -phase 34, which produces this error. If you don't use -phase then you do not get this error. So don't use i4gl, use c4gl from the command line, or wait for version 7.30. AB ---------------------------------------------------------------- Get your free email from AltaVista at http://altavista.iname.com