Background. The web-server on RedHat what that 6 versions worked, worked Interbase and there were many scripts on Perl, which used library IBerl (when all was developed driver DBD:Interbase for DBI yet was not) for dialogue with Interbase database. And once the operational system has flied. Though all data have remained.
Have chosen:
Operational system - FedoraCore 3
Database - Firebird 1.5
Languages - Perl, PHP
Libraries API - IBerl, new scripts on DBI+DBD:Interbase
By then IBPerl it was not supported any more and to find the distribution kit costed work, but even greater work it would be necessary to translate all these many hundreds scripts on sheaf DBI+DBD:Interbase
History
Has started to establish IBPerl.
Has unpacked.
Has started to make.
[root@www install]# gunzip IBHave chosen:
Operational system - FedoraCore 3
Database - Firebird 1.5
Languages - Perl, PHP
Libraries API - IBerl, new scripts on DBI+DBD:Interbase
By then IBPerl it was not supported any more and to find the distribution kit costed work, but even greater work it would be necessary to translate all these many hundreds scripts on sheaf DBI+DBD:Interbase
History
Has started to establish IBPerl.
Has unpacked.
Has started to make.
IB/ IBPerl-08p3.tar.gz
[root@www install]# gunzip IBPerl-08p3.tar.gz
[root@www install]# tar -xvf IBPerl-08p3.tar
[root@www IBPerl-0.8p3]# perl Makefile.PL
IBPerl 0.8p3 detecting InterBase LI-V1.5.2.4731 Firebird 1.5 (1.5) on the linux platform...
Checking if your kit is complete...
Looks good
Writing Makefile for IBPerl
You must now run 'make'.
[root@www IBPerl-0.8p3]# make
cp IBPerl.pm blib-linux-gcc/lib/IBPerl.pm
/usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp -noprototypes -typemap /usr/lib/perl5/5.8.5/ExtUtils/typemap IBPerl.xs > IBPerl.xsc && mv IBPerl.xsc IBPerl.c
gcc -c -I"/opt/firebird/include" -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -DVERSION=\"0.8p3\" -DXS_VERSION=\"0.8p3\" -fPIC "-I/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE" -UIBDEBUG -DIBVERSION=1.5 IBPerl.c
In file included from IBPerl.xs:17:
IBPerl.h:74: error: redefinition of `struct vary'
make: *** [IBPerl.o] Error 1
[root@www IBPerl-0.8p3]#
Began to find out that for structure such.
She had a following appearance:
typedef struct vary {
short vary_length;
char vary_string [1];
} VARY;
Has found out, that the structure vary is necessary for job with varchar. Earlier this structure should be declared independently, now she is declared in ibase.h. From here and a mistake. Therefore it was necessary to make changes in the form of conditional compilation of such kind:
if FB_API_VER >= 15
typedef struct vary VARY;
else
typedef struct vary {
short vary_length;
char vary_string[1];
} VARY;
endif
As at me the Database - Firebird 1.5 I with conditional compilation have not attended, and has simply replaced that slice of a code on such:
typedef struct vary VARY;
And all was perfectly put. Then I have packed the corrected distribution kit and I am it at myself on HDD just in case.
_________________________________________________________
© Ramzaj
No comments:
Post a Comment