diff --git a/component/tesseract/buildout.cfg b/component/tesseract/buildout.cfg index d81e19c84c95983f283cdd5c5691e92cc32b4f88..79e147d64eb4e587130e276c4aabd93dc50999ff 100644 --- a/component/tesseract/buildout.cfg +++ b/component/tesseract/buildout.cfg @@ -21,6 +21,7 @@ patch-options = patches = ${:_profile_base_location_}/tesseract-3.00-gcc-4.7-build.patch#ca80db3ec489c547b03f3ee48879c1b1 ${:_profile_base_location_}/tesseract-3.01-remove-bom.patch#2e691858cb492b7c17d23bf0912b3d24 + ${:_profile_base_location_}/tesseract-3.01-gcc6-ftbs.patch#f7a6140c0fe390b96fe753a70e9d59fd pre-configure = libtoolize -f -c aclocal -I ${libtool:location}/share/aclocal -I config diff --git a/component/tesseract/tesseract-3.01-gcc6-ftbs.patch b/component/tesseract/tesseract-3.01-gcc6-ftbs.patch new file mode 100644 index 0000000000000000000000000000000000000000..786e9f5b044199bb19daa3bddc93531e46a71e17 --- /dev/null +++ b/component/tesseract/tesseract-3.01-gcc6-ftbs.patch @@ -0,0 +1,100 @@ +commit 58e79a222e12280984ed19ab4d3bcac654e121fa +Author: Arnaud Fontaine <arnaud.fontaine@nexedi.com> +Date: Fri Nov 4 19:10:13 2016 +0900 + + Fix compilation errors. + +diff --git a/cube/char_set.cpp b/cube/char_set.cpp +index 3cf4798..6b29883 100644 +--- a/cube/char_set.cpp ++++ b/cube/char_set.cpp +@@ -65,13 +65,13 @@ CharSet *CharSet::Create(TessdataManager *tessdata_manager, + !tessdata_manager->SeekToStart(TESSDATA_UNICHARSET)) { + fprintf(stderr, "Cube ERROR (CharSet::Create): could not find " + "either cube or tesseract unicharset\n"); +- return false; ++ return NULL; + } + FILE *charset_fp = tessdata_manager->GetDataFilePtr(); + if (!charset_fp) { + fprintf(stderr, "Cube ERROR (CharSet::Create): could not load " + "a unicharset\n"); +- return false; ++ return NULL; + } + + // If we found a cube unicharset separate from tesseract's, load it and +@@ -84,7 +84,7 @@ CharSet *CharSet::Create(TessdataManager *tessdata_manager, + loaded = char_set->LoadSupportedCharList(charset_fp, NULL); + if (!loaded) { + delete char_set; +- return false; ++ return NULL; + } + + char_set->init_ = true; +diff --git a/cube/cube_line_segmenter.cpp b/cube/cube_line_segmenter.cpp +index deee573..3f0b762 100644 +--- a/cube/cube_line_segmenter.cpp ++++ b/cube/cube_line_segmenter.cpp +@@ -124,7 +124,7 @@ Pixa *CubeLineSegmenter::CrackLine(Pix *cracked_line_pix, + + if (line_con_comps == NULL) { + delete []lines_pixa; +- return false; ++ return NULL; + } + + // assign each conn comp to the a line based on its centroid +@@ -142,7 +142,7 @@ Pixa *CubeLineSegmenter::CrackLine(Pix *cracked_line_pix, + delete []lines_pixa; + boxaDestroy(&line_con_comps); + pixaDestroy(&line_con_comps_pix); +- return false; ++ return NULL; + } + } + +@@ -413,14 +413,14 @@ Pix *CubeLineSegmenter::Pixa2Pix(Pixa *pixa, Box **dest_box, + + (*dest_box) = boxCreate(min_x, min_y, max_x - min_x, max_y - min_y); + if ((*dest_box) == NULL) { +- return false; ++ return NULL; + } + + // create the union pix + Pix *union_pix = pixCreate((*dest_box)->w, (*dest_box)->h, img_->d); + if (union_pix == NULL) { + boxDestroy(dest_box); +- return false; ++ return NULL; + } + + // create a pix corresponding to the union of all pixs +diff --git a/cube/cube_object.cpp b/cube/cube_object.cpp +index 48bce64..b9a7113 100644 +--- a/cube/cube_object.cpp ++++ b/cube/cube_object.cpp +@@ -165,7 +165,7 @@ WordAltList *CubeObject::Recognize(LangModel *lang_mod, bool word_mode) { + if (deslanted_beam_obj_ == NULL) { + fprintf(stderr, "Cube ERROR (CubeObject::Recognize): could not " + "construct deslanted BeamSearch\n"); +- return false; ++ return NULL; + } + } + +diff --git a/cube/word_list_lang_model.cpp b/cube/word_list_lang_model.cpp +index 18f85c1..0f7f562 100644 +--- a/cube/word_list_lang_model.cpp ++++ b/cube/word_list_lang_model.cpp +@@ -74,7 +74,7 @@ LangModEdge **WordListLangModel::GetEdges(CharAltList *alt_list, + // initialize if necessary + if (init_ == false) { + if (Init() == false) { +- return false; ++ return NULL; + } + } +