> > >
> > > 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?
Why don't we do this (er, the "royal we"). Can you get subversion and pull
the latest so we are talking apples and apples? I *definitely* don't have
an 8/ anywhere in the code.
>
> 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':
>
>
These are only warnings, though. Did you try make test?
> 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?
You mean this line? That's ok, it's one statement in an if.
if (debug >= 3)
PerlIO_printf(DBIc_LOGPIO(imp_sth),
" handling %d output parameters\n", i);
>
> > 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.
Actually, I think it's in your gzip/tar combo that's causing it, since a
file seems to have been changed. I don't have an 8/ anywhere except in a
date in a comment and nowhere near that line.
>
> 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.
>
No, I don't. I could, I supposed, but It would be perl version dependant
and a mess. It's a mess enough to keep up with ActiveState on the NT side.
> 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)
Please do try the svn version and at least then we can start on the same
page.
>
> I'll also see if I can get a new version of DBI and let you
> know the result.
While that's recommended, I'm not sure it will help here.
Regards,
Jeff