IIseterr linking failure

This is a discussion on IIseterr linking failure within the Ingres Database forums in Other Databases category; When migrating from Unix and Ingres II 2.5 to Linux and Ingres version 9.02 the following error occurred when trying to build an image : Building runnable image of gryl00010aqep . . . seterr.obj: In function `seterr': seterr.c.text+0xe): undefined reference to `iiseterr' collect2: ld returned 1 exit status E_AB0020 Link failed The link failed with status '69891'. This could mean either that the linker could not be run or that it ran and returned an error. E_AI0002 The application image was NOT built. An earlier error prevents the application image from being built. Correct the cause of the ...

Go Back   Database Forum > Other Databases > Ingres Database

Database Forums

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 10-16-2008, 03:32 AM
Default IIseterr linking failure

When migrating from Unix and Ingres II 2.5 to Linux and Ingres version
9.02
the following error occurred when trying to build an image :

"Building runnable image of gryl00010aqep . . .
seterr.obj: In function `seterr':
seterr.c.text+0xe):
undefined reference to `iiseterr'
collect2: ld returned 1 exit status
E_AB0020 Link failed
The link failed with status '69891'. This could mean either that the
linker could not be run or that it ran and returned an error.

E_AI0002 The application image was NOT built.
An earlier error prevents the application image from being built.
Correct the cause of the earlier error and then run imageapp again."

Specs which it was tested on and it occurs :
Ingres II 9.2.0 (int.lnx/118)NPTL
openSUSE 11.0 (i586)

Ingres II 9.2.0 (int.lnx/118)NPTL
CentOS release 5.2 (Final)

First I thought that it was linux related but the same error occurred
on Unix and an old ingres version:
Ingres II 2.0/9808 (usl.us5/00)
5 7.1.1 i386 x86at SCO UNIX_SVR5

However using the following specs the error does not appear and
linking succeeds :
Specs where there was no problem :
Ingres II 2.5/0011
SCO_SV 3.2 5.0.7 i386

Ingres II 2.5/0011
SCO_SV 3.2 5.0.5 i386

Ingres II 2.0/0308 (hpb.us5/00)
HP-UX 11.00

The problem lies in calling the 'iiseterr' function.Apparently, the
linker on the machines with the problem cannot find a reference to it.
The related entry in the manual (r3 Documentation, Forms-based
Application Development Tools, User Guide Runtime Error Processing M–
3, Using iiseterr() in Ingres Applications,page 1243) is :

seterr ()
{
extern int myhandler();
iiseterr (myhandler);
return;
}

In examining some C header (eqpname.h in particular) files I've
noticed that all references to iiseterr were IIseterr. Subsequently
changing the entry to IIseterr solved the problem, the linking
succeeded plus it did not break the specs that had no problem to begin
with. So the correct entry which works universally is :

seterr ()
{
extern int myhandler();
IIseterr (myhandler);
return;
}


The question is why the same entry in some cases breaks and in some
not?
Reply With Quote
Reply


Thread Tools
Display Modes



All times are GMT -4. The time now is 09:19 PM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Integrated by bbpixel2009 :: jvbPlugin R1013.368.1

Search Engine Friendly URLs by vBSEO 3.1.0
vB Ad Management by =RedTyger=
In an effort to better serve ads to our visitors, cookies are used on Mydatabasesupport.com. For more information, check out our Privacy Policy.