Damyan Ivanov
2001-11-16 07:44:01 UTC
Hi all,
I read there's no precompiled version of Firebird RC1 for linux
with 64-bit I/O support, so I decided to build one myself (but failed).
What I did:
changed in jrd/common.h
#define UNIX_64_BIT_IO
to
#define UNIX_64_BIT_IO 1
and then build the beast:
$ ./Configure.sh PROD
$ ./Configure_SetupEnv.sh
$ make firebird
killed all processes using IB, killed all gds_* processed
copied all from interbase into /opt/interbase
Then I tried to restore a 2.5GB database (previously on multiple files),
but failed:
$ zcat backup.gbk.gz | /opt/interbase/bin/gbak -c stdin /home/base.gdb
-p 4096
all went well, all data was restored, but while creating indexes it
banged:
gbak: restoring index PLACE_NAME_INDEX
gbak: restoring index RDB$PRIMARY56
gbak: restoring index PERSON_COUNTRY
gbak: restoring index PERSON_NAME1_INDEX
gbak: cannot commit index PERSON_NAME2_INDEX
gbak: ERROR: I/O error for file "/home/base.gdb"
gbak: ERROR: Error while trying to read from file
gbak: ERROR: No such file or directory
gbak: ERROR: internal gds software consistency check (buffer marked during cache unwind (268))
gbak: ERROR: internal gds software consistency check (can't continue after bugcheck)
gbak: Exiting before completion due to errors
the file base.gdb is exactly 2G - 1 bytes long.
there is plenty of free splace on the temporary drive.
The filesystem (ext2) supports files larger than 2G, tested with a 5G file.
kernel is 2.4.13
libc is 2.2.4
gcc is 2.95.4
gbak version is:
$ /opt/interbase/bin/gbak -z
gbak: gbak version LI-T6.2.576 Firebird Release Candidate 1
So the general quiestion is: Is what I did (change in jrd/common.h)
sufficient to get 64-bit IO support? If not what more I shuild tweak?
Will gbak benefit from it?
I read there's no precompiled version of Firebird RC1 for linux
with 64-bit I/O support, so I decided to build one myself (but failed).
What I did:
changed in jrd/common.h
#define UNIX_64_BIT_IO
to
#define UNIX_64_BIT_IO 1
and then build the beast:
$ ./Configure.sh PROD
$ ./Configure_SetupEnv.sh
$ make firebird
killed all processes using IB, killed all gds_* processed
copied all from interbase into /opt/interbase
Then I tried to restore a 2.5GB database (previously on multiple files),
but failed:
$ zcat backup.gbk.gz | /opt/interbase/bin/gbak -c stdin /home/base.gdb
-p 4096
all went well, all data was restored, but while creating indexes it
banged:
gbak: restoring index PLACE_NAME_INDEX
gbak: restoring index RDB$PRIMARY56
gbak: restoring index PERSON_COUNTRY
gbak: restoring index PERSON_NAME1_INDEX
gbak: cannot commit index PERSON_NAME2_INDEX
gbak: ERROR: I/O error for file "/home/base.gdb"
gbak: ERROR: Error while trying to read from file
gbak: ERROR: No such file or directory
gbak: ERROR: internal gds software consistency check (buffer marked during cache unwind (268))
gbak: ERROR: internal gds software consistency check (can't continue after bugcheck)
gbak: Exiting before completion due to errors
the file base.gdb is exactly 2G - 1 bytes long.
there is plenty of free splace on the temporary drive.
The filesystem (ext2) supports files larger than 2G, tested with a 5G file.
kernel is 2.4.13
libc is 2.2.4
gcc is 2.95.4
gbak version is:
$ /opt/interbase/bin/gbak -z
gbak: gbak version LI-T6.2.576 Firebird Release Candidate 1
So the general quiestion is: Is what I did (change in jrd/common.h)
sufficient to get 64-bit IO support? If not what more I shuild tweak?
Will gbak benefit from it?
--
Damyan Ivanov Creditreform Bulgaria
***@creditreform.bg http://www.creditreform.bg/
phone: +359 2 928 2611, 929 3993 fax: +359 2 920 0994
mobile: +359 88 566067
Damyan Ivanov Creditreform Bulgaria
***@creditreform.bg http://www.creditreform.bg/
phone: +359 2 928 2611, 929 3993 fax: +359 2 920 0994
mobile: +359 88 566067