mariuz/perl-dbd-firebird

CPAN Testers reports for DBD::Firebird = UNKNOWN

stefansbv opened this issue · 5 comments

I have noticed that all CPAN Testers reports for DBD::Firebird are with
UNKNOWN grade.

The reason is always:

In file included from Firebird.h:12,
                           from Firebird.xs:14:
dbdimp.h:13:67: error: DBIXS.h: No such file or directory

Maybe the fix might be to include dbivport.h, like in Pg.h from DBD::Pg?

#include <DBIXS.h>      /* installed by the DBI module */
#include <dbivport.h>   /* DBI portability macros */

How would that help? The failing include in first. To me this seems like a missing -I directive to the compiler. However, the compiler line starts with:

  cc -c  -I"" -I"/home/trushel/perl/perl5124m/lib/site_perl/5.12.4/x86_64-linux-multi/auto/DBI"

and DBI is installed. Strange.

(from http://www.cpantesters.org/cpan/report/05a6be08-20a8-11e1-b290-0a4d585997e0)

I won't argue with that, you're the expert not me, but here is a quote from dbivport.h:

Provides macros that enable greater portability between DBI versions.

This file should be *copied* and included in driver distributions
and #included into the source, after #include DBIXS.h

New driver releases should include an updated copy of dbivport.h from the most recent DBI release.

Regards, Stefan

Faced out with same problem now, while trying to compile DBD::Firebird on debian 6.
The problem hidden in the Makefile.PL on line

  "INC          => qq(-I"$FB::INC" -I"$FB::dbi_arch_dir")"

On my system $FB::INC was empty, so I got something same as above

cc -c  -I"" -I"/home/trushel/perl/perl5124m/lib/site_perl/5.12.4/x86_64-linux-multi/auto/DBI"

It seems -I"" has some bad effect. Removing -I"$FB::INC" from Makefile.PL helped me to compile module with no errors.

perl Makefile.PL
Configuring DBD::Firebird (on linux)

Use of uninitialized value $FB::HOME in print at Makefile.PL line 153.
FIREBIRD_HOME   :
Use of uninitialized value $FB::INC in print at Makefile.PL line 154.
FIREBIRD_INCLUDE:
Use of uninitialized value $FB::LIB in print at Makefile.PL line 155.
FIREBIRD_LIB    :
Client library  : fbclient

Using DBI 1.612 (for perl 5.010001 on i486-linux-gnu-thread-multi) installed in /usr/lib/perl5/auto/DBI/
Use of uninitialized value $FB::LIB in concatenation (.) or string at Makefile.PL line 240.
libfbembed not found, building of DBD::FirebirdEmbed skipped.
Checking if your kit is complete...
Looks good
Writing Makefile for DBD::Firebird

Please, set at least DBI_PASS (or ISC_PASSWORD), before 'make test'.
The default for DBI_USER is 'SYSDBA'.

Thanks, olegwtf, -I"" indeed seems to have some undocumented (or not well documented) effects.

The next CPAN testers problem will be missing firebird client/embedded library, which I have no idea how to address.

Unfortunately not solved, the problem still remains in current version 1.00.