Re: a problem about Informix 4GL 7.20.UD7 on Linux kernel 2.2.x...
Posted in 2000
On Sat, 15 Jan 2000 oliver8888@my-deja.com wrote:
>I had the same problem when I tried to add a few external C functions to
>the original fgldb and fglgo (RedHat 6.0, Informix tools 7.2x/Engine
>7.3x).
>
>I followed the below/informix
>(http://www.informix.com/idn-secure/Dyna4GL/WebPages/i4glredhat60.html)
>instructions, installed all five packages:
>compat-binutils-5.2-2.9.1.0.23.1.i386.rpm
>compat-egcs-5.2-1.0.3a.1.i386.rpm
>compat-glibc-5.2-2.0.7.1.i386.rpm
>compat-libs-5.2-1.1.i386.rpm
>compat-egcs-objc-5.2-1.0.3a.1.i386.rpm,
>renamed the old gcc and copied the i386-glibc20-linux-gcc to gcc.
I'm not convinced that was a good idea. That means that every C program
you compile from now on will be using the old libraries. You would be
much better off leaving the native compiler alone and either setting
INFORMIXC in your environment (to i386-glibc20-linux-gcc) or modifying
the cfgldb (and cfglgo and c4gl and cacego and cperf) script(s) to use
the old compiler. Obviously, you also need to use the old compiler when
you create C code to go into the custom runner.
>fglgo is now fine and does not core dump, but fgldb still does. Is there
>any more package missing that should be installed? Any suggestions?
Well, I tried the default fgldb on the sample code below, and that
seemed to work OK. I also created a custom debugger using:
INFORMIXC=i386-glibc20-linux-gcc cfgldb -o myfgldb $INFORMIXDIR/etc/fgiusr.c
This also worked on the test program. So, either you were exercising
parts of fgldb that do not get exercised with 'br 1', 'ru', 's', 's',
's', ^T, ^T, 'ex' (to run the program a single step at a time and to
inspect the displayed output -- that's the two ^T's), or you haven't yet
recreated your custom debugger. It is also possible that you didn't
recreate the object files with the old (glibc20) compiler, which could
easily lead to problems.
--
Yours,
Jonathan Leffler (jonathan.leffler@informix.com) #include <disclaimer.h>
Guardian of DBD::Informix v0.95 -- http://www.perl.com/CPAN
"I don't suffer from insanity; I enjoy every minute of it!"
>Jonathan Leffler <Jonathan.Leffler@informix.com> wrote:
>> On Mon, 10 Jan 2000, Ping Xiong wrote:
>> >I am an informix I4GL user. The serial numbers are
>> > I4GL RDS: 7.20.UD7 Serial Number: AAC#J808923
>> > IDS: 7.30.UC7 Serial NUmber: AAC#J808925
>> >
>> >I have a program compiled with the I4GL RDS p-code on Liuxn
>> >and the "cfglgo" compiler always dumps core before I get
>> >started. I went to
>>
>>http://www.informix.com/idn-secure/Dyna4GL/WebPages/i4glredhat60.html)
>> >and followed the steps to try to fix the problem. But
>> >it doesn't work. Is there anything else I need to do?
>> >Do I need to upgrade I4GL RDS from 7.20.UD7 to 7.30UCx?
>>
>> You can, but it isn't necessary.
>>
>> >Here is some information about my system:
>> >
>> > OS: RedHat Linux 6.1 (kernel 2.2.12)
>>
>> I'm using 2.2.12-20smp.
>>
>> > I4GL RDS: 7.20.UD7
>> > IDS: 7.30.UC7
>>
>> I've installed both these.
>>
>> > binutils-2.9.1.0.23-6
>> > egcs-1.1.2-24
>> > egcs-c++-1.1.2-24
>> > egcs-objc-1.1.2-24
>> > compat-glibc-5.2-2.0.7.1
>> > glibc-2.1.2-11
>> > compat-libs-5.2-2
>>
>> You also need to install:
>> compat-binutils-5.2-2.9.1.0.23.1.i386.rpm
>> compat-egcs-5.2-1.0.3a.1.i386.rpm
>>
>> You need to hack cfglgo to use i386-glibc20-linux-gcc compiler. You
>> can verify this by using INFORMIXC=i386-glibc20-linux-gcc in the
>> environment before you modify the actual script.
>>
>> I tested the code:
>>
>> DATABASE stores
>> MAIN
>> DEFINE vn CHAR(10)
>> DISPLAY "Hello World!"
>> SELECT owner INTO vn FROM SysTables WHERE TabName = ' VERSION'
>> DISPLAY "<<", vn CLIPPED, ">>"
>> END MAIN
>>
>> With the as installed fglgo, this seemed to run OK. When I created
>> myfglgo without modifying the C compiler, it linked OK but core
>> dumped. When I created myfglgo with the glibc20 C compiler, it
>> worked OK too.
>>
>> >The INFORMIXC has been changed to "gcc" in "cfglgo" command.
>> >How can I get "cfglgo" work?
>>
>> Install the compatability compiler, as documented in the web pages,
>> and use it to build the custom runner.