You compiled the ESQL/C code with a version 5 (or later) ESQL/C compiler,
and then tried building a 4.1x customer Perform.
This does not work!
You were lucky and found out at link time; the function calls which are
missing clearly show that this is what you were doing. But sometimes you
can write code which when compiled with the 5.0x ESQL/C compiler links with
the 4.1x ISQL, but it may or may not work correctly at run-time.
You MUST compile the ESQL/C code for 4.1x custom ACE or Perform with a 4.1x
ESQL/C compiler. This could be an actual installation of 4.1x ESQL/C, or
you can use the 4.1x I4GL compiler to convert the .ec files to .o before
linking with cace or cperf. If you have neither 4.1x ESQL/C nor 4.1x I4GL,
you need to get one or the other.
Yours,
Jonathan Leffler (johnl@informix.com) #include <disclaimer.h>
}From: dmb@abacus.abasoft.co.uk (David Byrne)
}Date: 28 Mar 1996 17:35:54 -0000
}X-Informix-List-Id: <news.22614>
}
}A simple question - are cursors OK to use in ESQL ? I'm trying to build
}a new version of sperform using cperf, but getting link errors:
}
}Undefined first referenced
} symbol in file
}_iqcddcl CS.o
}_iqlocate_cursor CS.o
}_iqcftch CS.o
}_iqnprep CS.o
}_iqdcopen CS.o
}
}As far as I can see the missing functions are in esql/libsql.a, which is
}not linked against by the cperf script. libfesql.a *is*, but doesn't include
}all the required functions.
}
}I'd appreciate it if anyone can point out the error of my ways !