Path: utzoo!attcan!uunet!cs.utexas.edu!uwm.edu!dogie.macc.wisc.edu!decwrl!nsc!pyramid!infmx!aland From: aland@infmx.UUCP (Colonel Panic) Newsgroups: comp.databases Subject: Re: Informix-4GL and Microsoft C v6.00 compatibility Summary: MS LINK 5.10 .LNKs not completely backward-compatible. Yuck. Message-ID: <4466@infmx.UUCP> Date: 11 Jun 90 07:35:35 GMT References: <1990Jun8.155913.26443@ibmpcug.co.uk> Reply-To: aland@infmx.UUCP (alan denney) Organization: INFORMIX Professional Services ("Peace thru Normalization") Lines: 72 In article <1990Jun8.155913.26443@ibmpcug.co.uk> jaggy@ibmpcug.co.uk (Mike Jagdis) writes: > >I've just installed Informix 4GL on a DOS machine along with Microsoft >C version 6.00. There is a problem with this so I thought I might as well >tell you guys about it. I will let Informix know if I can dig out an >address for them. (are they on the net? Anyone out there know?). Beats me. [-: >Anyway the problem is in the Microsoft linker. The version 6.00 linker Agreed. >supports both OS/2 and DOS and now has the concept of a "module definition" >file which is required for OS/2 linking but not DOS. However the filename >must still be specified even with DOS. Informix does not know this so >leaves it out which causes compiles to hang at phase 3 since the linker >decides to stop and wait for you to specify the file. Well, "hang" is a strong word. It's unfortunate that Microsoft made this new file prompt mandatory with *no* way to get around it. If they supplied a command-line parameter to suppress this prompt (the default is to create no file anyway, jeez, why make the prompt mandatory?), you could set your LINK environment variable and be done with it. Unfortunately, I (and we) can't find any way around it. The solution is simple enough: just hit when the prompt appears (or enter a deffile name if you want). The other solution would be to change the .LNK file manually to supply the response and call the linker again; note that if you are compiling for protected-mode execution, you would also have to manually run MAKEPM and SPLICE. > A second problem is that one of the libraries Informix specifies is >called llibforms.lib (count the characters). I guess the pre-version 6.00 Not true. That library is, and always has been, named "LLIBFORM.LIB" in the DOS versions, for obvious reasons -- only in the UNIX versions is it named with an "s" ("llibforms.a"). To my knowledge, it's impossible to have a 9-character file name (excluding extension) in DOS, anyway. .LNK files built by 4GL and ESQL always specify LLIBFORM. >linker chopped this down to llibform.lib, however the new linker throws >up on it and waits for you to enter a substitute library name. I've been working with MS C 6.0 for a week, and I haven't seen this happen (nor have I heard this complaint elsewhere). If you can reproduce it, I'd like to hear about it (email address below). Make sure that you installed with the right options. Use the default library names, and do build the combined libraries. If you are running an old version (older than *.10.06C or so -- .06E is current), you will need to keep the uncombined libraries around as well. >I fixed these problems by writing a small C program which sits further >forward in the path than the standard Microsoft link.exe and massages >the .lnk file produced by Informix before invoking the real link.exe. >If anyone else out there is having problems running Informix 4GL with >Microsoft C version 6.00 I'll happily mail a copy - it's only small! Make sure that you pass back the return code transparently. The calling routines detect if a LINK failed by the return code and omit the later steps if appropriate. >Mike Jagdis (jaggy@ibmpcug.co.uk) -- Alan Denney @ Informix Software, Inc. "We're homeward bound aland@informix.com {pyramid|uunet}!infmx!aland ('tis a damn fine sound!) ----------------------------------------------- with a good ship, taut & free Disclaimer: These opinions are mine alone. We don't give a damn, If I am caught or killed, the secretary when we drink our rum will disavow any knowledge of my actions. with the girls of old Maui."