i successfully compiled tesseract and if i run it on
the given example file, it hangs. Ths same code
compiled under cygwin, successfully runs.
ive done a strace and it hangs on:
read(6, "O", 1) = 1
read(6, "u", 1) = 1
read(6, "t", 1) = 1
read(6, "p", 1) = 1
read(6, "u", 1) = 1
read(6, "t", 1) = 1
read(6, "_", 1) = 1
read(6, "L", 1) = 1
read(6, "a", 1) = 1
read(6, "y", 1) = 1
read(6, "e", 1) = 1
read(6, "r", 1) = 1
read(6, "1", 1) = 1
read(6, "\0", 1) = 1
read(6, "\0\0P\310", 4) = 4
read(6,
"?\7\307\270\276\342>U>\0301d\277\244p/\277M\341\370\276"...,
82720) = 82720
close(6) = 0
write(2, "Tesseract Open Source OCR Engine"...,
33Tesseract Open Source OCR Engine
) = 33
open("phototest.tif", O_RDONLY|O_LARGEFILE) = 6
read(6, "II*\0\10\0\0\0", 8) = 8
fstat64(6, {st_mode=S_IFREG|0644, st_size=38668, ...}) = 0
mmap2(NULL, 38668, PROT_READ, MAP_SHARED, 6, 0) =
0xf6d57000
fstat64(6, {st_mode=S_IFREG|0644, st_size=38668, ...}) = 0
brk(0xa51c000) = 0xa51c000
munmap(0xf6d57000, 38668) = 0
close(6) = 0
open("phototest.bl", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("phototest.vec", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("phototest.uzn", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("phototest.pd", O_RDONLY) = -1 ENOENT (No
such file or directory)
times({tms_utime=3, tms_stime=1, tms_cutime=0,
tms_cstime=0}) = 528269873
brk(0xa53d000) = 0xa53d000
times({tms_utime=4, tms_stime=1, tms_cutime=0,
tms_cstime=0}) = 528269876
Logged In: YES
user_id=1609632
Tesseract also hangs for me. I'm running Scientific Linux
4.3, a clone of RHEL 4. I did:
./configure
make
ln -s ccmain/tesseract ./
tesseract phototest.tif test batch
It writes
Tesseract Open Source OCR Engine
to the screen and hangs.
I can supply the config log if needed.
Logged In: NO
If it's the same problem I had (also had hangs on FC3), try
this. And no, I have no idea why this fixes the problem,
but either this code change or compiling with -O instead of
-O3 fixed things:
Index: textord/makerow.cpp
RCS file: /cvsroot/tesseract-ocr/tesseract/textord/makerow.cpp,v
retrieving revision 1.1
diff -r1.1 makerow.cpp
631a632
> INT32 temp;
663c664,665
< deltas[(INT32) floor (bottom) - min_y] += width;
---
> temp = (INT32) floor (bottom) - min_y;
> deltas[temp] += width;
669c671,672
< deltas[(INT32) floor (top) - min_y] -= width;
---
> temp = (INT32) floor (top) - min_y;
> deltas[temp] -= width;
Logged In: YES
user_id=215626
For me, FC3 the sent patch:
Index: textord/makerow.cpp
RCS file:
/cvsroot/tesseract-ocr/tesseract/textord/makerow.cpp,v
retrieving revision 1.1
diff -r1.1 makerow.cpp
631a632
> INT32 temp;
663c664,665
< deltas[(INT32) floor (bottom) - min_y] += width;
---
> temp = (INT32) floor (bottom) - min_y;
> deltas[temp] += width;
669c671,672
< deltas[(INT32) floor (top) - min_y] -= width;
---
> temp = (INT32) floor (top) - min_y;
> deltas[temp] -= width;
works. So the change to non-optimized compiling is not
necessary.
Thanks.