Re: Install Issues With Perl DBD For Informix



Cory Cox wrote:
Jonathan,

Q1
* Version of IDS (or SE, XPS, OnLine) - though that is not going to
material this time.

Q1A - The database server is running on another machine on the network.

OK - it doesn't matter.

Q2

This is the output of 'perl Makefile.PL' for DBD::Informix

Perl: perl v5.008006 PA-RISC2.0 dl_hpux.xs
System: hp-ux l02 b.11.11 u 9000800 135901537 unlimited-user license Using INFORMIXDIR=/home/harbinger/tle/6_0/odbcHPUX and ESQL/C compiler esql
Using IBM Informix CSDK Version 2.81, IBM Informix-ESQL Version 9.53.FC1 from /home/harbinger/tle/6_0/odbcHPUX

So, you're using CSDK 2.81.FC1, not 2.81.HC1 as previously asserted.

That letter is all-important - FC1 is a 64-bit version of CSDK, but your Perl and GCC by default use 32-bit, and we haven't worked out how to turn on a 64-bit compilation. (This is why I ask to see the original output - it tells me answers to questions that people don't know the answer too.)

[...snip...]

Q3

export INFORMIXC="gcc -mpa-risc-2-0"
esql -o esqlbasic -DESQLC_VERSION=953 esqlbasic.ec esqlc_v6.ec

QA3

l02:/home/edi/wlsedi/perl/DBD-Informix-2005.01# sudo esql -c esqlbasic -DESQLC_VERSION=953 esqlbasic.ec esqlc_v6.ec

Woah! sudo? Well, on your own head be it. But I don't like having to run compilations as root - and never do.


Q4

l02:/home/edi/wlsedi/perl/DBD-Informix-2005.01# file $INFORMIXDIR/lib/esql/checkapi.o esqlbasic.o
/home/harbinger/tle/6_0/odbcHPUX/lib/esql/checkapi.o:   ELF-64 relocatable object file - PA-RISC 2.0 (LP64)
esqlbasic.o:    PA-RISC2.0 relocatable object

Yes, it does help - a lot (though the CSDK version number tells the same story). As you can see, there's a huge difference between the file types. Clearly, checkapi.o is a 64-bit file; by inference, esqlbasic.o is not. Those two do not mix.


Since the server is not even on the local machine, I'd simply go and get the 32-bit (2.81.UC2) version of CSDK installed and run with that.

You might also remember that one of the very first things we did was modify (a copy of) the esql script to remove flags peculiar to the HP C compiler. You might think it worthwhile to make a copy of the esql script in $INFORMIXDIR/bin, and then edit the file there, instead of making a copy in DBD::Informix's build directory. OTOH, it may still be better to work out the kinks on a local copy before modifying the version in $INFORMIXDIR/bin. You need to do this to avoid the problems with GCC wittering about +DS2.0 not being found.

--
Jonathan Leffler (jleffler@xxxxxxxxxxxxx, jleffler@xxxxxxxxxx) #include <disclaimer.h>
Guardian of DBD::Informix v2005.01 -- http://dbi.perl.org/
.




Relevant Pages

  • Using HClient on Visual C++ 2008
    ... i would like to know to do use and modify the WDk Hclient at VC++ 2008? ... And about the compilation ... How does it works becouse the DDK headers wont be acepted at ...
    (microsoft.public.win32.programmer.kernel)
  • Re: New versions of VC++ still stuck with function prototypes?
    ... Limitation of what need to be recompiled when you modify an implementation ... C# compilation model doesn't scale well because each time you ... modify the slightest detail in an assembly, ... dependent code. ...
    (microsoft.public.dotnet.languages.vc)
  • Re: Is it possiable
    ... The new compilation model in version 2 of asp.net lets you work like in the good old asp days. ... Just modify the aspx file or the code behind file and aks for the page in the browser. ... And why not try the free Visual Web Developer express. ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: HELP!!!!!!!!!!!!!
    ... An error occurred during the compilation of a resource ... error details and modify your source code appropriately. ... Maybe you're missing something like ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Problem running ASP.NET application
    ... Please review the following specific parse error ... > details and modify your source file appropriately. ... > Parser Error Message: ... > I do not know much about the files created and used during compilation, ...
    (microsoft.public.dotnet.framework.aspnet)