ESQL Basic Trouble - Help Needed
Posted in 2000
I am having trouble getting ESQL to work on the simplest of examples. I am using SCO 5.0.5. I then installed ESQL, and found I needed 'cc' to compile. I then installed the UDK (v7.0 with 5.0.5 patch). I then run 'isqldemo' to create the stores database. Now, when I try to compile any of the demos in /usr/informix/demo/esqlc, I get an error message: > esql demo1.ec UX:ld: ERROR: /usr/informix/lib/esql/libifsql.so: fatal error: cannot link OpenServer object into Intel iABI target Using esql -e demo1.ec does produce demo1.c without any problems, which caused me to think it was a problem with cc. I looked up the error on the SCO website, and found the following: Problem The following error message appears when trying to compile binary objects [that is, object files (.o), archives (.a), or dynamic libraries (.so)] on OpenServer 5.0.4 or 5.0.5 with the UDK: Error: UX: ld: Error: "objectfile"."o": fatal error: cannot link OpenServer object into Intel iABI target Cause This is caused by mixing and matching of C++ binary objects [(that is, object files (.o), archives (.a), or dynamic libraries (.so)] between OpenServer's C++ compiler (DevSys) and the UDK. This is due to ANSI/ISO language standardization changes to improve the application binary interfaces (ABI) and give the compiler new language features. This not only applies to the SCO C++ compilers, but all other C++ compilers. Solution For existing OpenServer C++ code, there is a CC -Xo compatibility option that provides source compatibility. However, this also enables bug tolerance, ancient anachronisms, and other compiler defects. This is only intended as a transitional tool to convert existing code in stages to the modern dialect of C++ that will be accepted by the UDK C++ compiler. For situations where the above compatibility option can't be used, or a more permanent solution is required, use the C++ OpenServer compiler found in the SCO OpenServer Development System product instead of the UDK. It is here that I am completely stuck. Am I doing something daft? Am I too optimistic to think ESQL would run 'out of the box'? Can anybody give me a pointer? Regards, Darren