Hi Jeff, thanks v. much for the response. Comments below.
On Thu, 2004-06-10 at 00:52, Jeff Urlwin wrote:
> >
> > Hi there,
> >
> > I have been having problems compiling DBD::ODBC under RedHat 7.3.
> >
> > OS: RedHat 7.3
> > Kernel: 2.4.20-28.7 (most recent official RH73 update)
> > Glibc: glibc-2.2.5-44 (most recent official RH73 update)
> > gcc: gcc-2.96-113 (most recent official RH73 update)
> > DBI: perl-DBI-1.21-1 (official RH73 pkg)
> > UnixODBC: unixODBC-2.2.0-5 (official RH73 pkg)
> > Perl: perl-5.6.1-34.99.6 (official RH73 pkg)
> [snip]
>
> >
> > DBD-ODBC-1.09]$ make
> > gcc -c -I/usr/include -I.
> > -I/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI
> > -fno-strict-aliasing -I/usr/local/include -O2 -march=i386 -mcpu=i686
> > -DVERSION=\"1.09\" -DXS_VERSION=\"1.09\" -fPIC
> > -I/usr/lib/perl5/5.6.1/i386-linux/CORE -I/usr/include dbdimp.c
> > dbdimp.c: In function `odbc_clear_result_set':
> > dbdimp.c:157: parse error before `static'
>
> [snip]
>
> This is very strange to me. The odbc_clear_result_set function ends and the
> "static" begins the declaration of a new function. Can you look at dbdimp.c
> and see what's on line 154-156. It should be the closing of one function
> and the starting of another.
Yes it is.
I noticed what looks like a typo bug in dbd-odbc 1.09. Line 139 has 8/
instead of */ Is that the same in your version?
Fixing that lets make get a little further before it complains. Now it's
complaing about odbc_handle_outparams:
make
gcc -c -I/usr/include -I.
-I/usr/lib/perl5/site_perl/5.6.1/i386-linux/auto/DBI
-fno-strict-aliasing -I/usr/local/include -O2 -march=i386 -mcpu=i686
-DVERSION=\"1.09\" -DXS_VERSION=\"1.09\" -fPIC
-I/usr/lib/perl5/5.6.1/i386-linux/CORE -I/usr/include dbdimp.c
dbdimp.c: In function `odbc_handle_outparams':
dbdimp.c:161: warning: passing arg 1 of `fprintf' makes pointer from
integer without a cast
dbdimp.c:168: warning: passing arg 1 of `fprintf' makes pointer from
integer without a cast
dbdimp.c:201: warning: passing arg 1 of `fprintf' makes pointer from
integer without a cast
dbdimp.c:211: warning: passing arg 1 of `fprintf' makes pointer from
integer without a cast
dbdimp.c:223: warning: passing arg 1 of `fprintf' makes pointer from
integer without a cast
dbdimp.c: In function `build_results':
Unfortunately odbc_handle_outparams isn't so easy to follow 8) I tried
frobbing a few things in it but I'd need to block out some time to
properly debug it.
Seems there are some missing curlies around some if statements... e.g.
the if statement on line 160-163?
> There is a commented out section at 142 in my
> latest version and it may be something about the closting of that comment
> that causes it, but it's strange to me. I, of course, could be barking up
> the wrong tree.
I think you're barking up the right tree actually =) We're at least in
the correct part of the forest...
> The only other thing I can think of is the version of DBI. Is it possible
> to try upgrading DBI, then building DBD::ODBC?
>
> Please let me know.
Yes I will try that as well but will need to do that tomorrow sorry:
gotta deal with clients =)
My gut feeling is there's a typo/bug or two somewhere that's causing the
rest of the compile to fail.
> > Both "make" and "make test" output the above.
> >
> > I was a bit dubious about the library locations but the
> > errors above don't seem to be related to that but rather the
> > use of the "->" operator. Maybe that's a side-effect of
> > something else though... I'm hoping I don't have to upgrade
> > gcc on this box just for DBD::ODBC but if that's what people
> > think it will take I'll do it.
>
> The library locations were ok.
Thank you for the confirmation there. That's good to know.
>
> >
> > I tried DBD:::ODBC 1.00 and 1.02. They both fail with almost
> > identical output to 1.09. DBD::ODBC 0.43 seems to work OK. It
> > compiles and runs. ("perl Makefile.PL" fails a couple of /t
> > tests possibly wrt date functionality but claims that these
> > are probably OK)
> >
> > Also of note is that I haven't upgraded perl to the latest
> > Red Hat 7.3 errata version. This is because we have a lot of
> > production programs/websites that are heavily reliant on perl
> > and I'd prefer not to risk breaking them. If anyone suspects
> > the perl version though I'll update perl this weekend and
> > deal with the breakage.
> >
> > If I can supply any more information to assist hunting this
> > down please let me know. Otherwise if I get time I'll try to
> > fix it and give you a progress update.
> >
> > Any assistance will be greatly appreciated. Thanks.
>
> I'm not sure I'm of much help here, since I do test on RH9. I am using
> pretty much the current builds. I don't think I have an RH7.3 system left
> to test on.
LOL. Fair enough. I will be slowly migrating services to more recent
rh/fedora builds once I can determine that important things won't break.
I know certain really important things that will.
So Jeff do you have these packages available somewhere? I had be
googling/ rpmfinding like mad for rpms and known Red Hat build issues
but all I could find were rpms for SUSE and PLD.
Anyway thanks very much for your time Jeff, I really appreciate it. I
will get back to you tomorrow with any other buglets I find unless you
beat me to it 8)
I'll also see if I can get a new version of DBI and let you know the
result.
>
> Regards,
>
> Jeff
Cheers
--
Andrew McDonald [EMAIL PROTECTED]
System Engineering W: +61 3 9915-1105
Spider Eye Studios M: 0407-612-790
got standards? http://www.w3.org/ http://www.spidereye.com