unable to "make training"

713 views
Skip to first unread message

Tairen Chen

unread,
Apr 23, 2019, 1:09:18 AM4/23/19
to tesseract-ocr
Hi, all,
      I want to train the tesseract to read a special font from the image, but for some reason, I can't "make training" when I follow the link " https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract-4.00#building-the-training-tools "

      I got the following message: " Need to reconfigure project, so there are no errors " when I tried to type "make training" in the terminal. I tried to find suggestion from here or Tesseract Github Issues, the closest one is https://github.com/tesseract-ocr/tesseract/issues/2261. But there is no clear answer in the end.
      Please help me if you have some hints. Thank you in advance.

      I am using the Ubuntu 16.04 and the Tesseract version info is below: 
      tesseract 4.1.0-rc1-255-g332a1
      leptonica-1.75.3
      libjpeg 9c : libpng 1.6.36 : libtiff 4.0.6 : zlib 1.2.8

      Found AVX2
      Found AVX
      Found SSE

Zdenko Podobny

unread,
Apr 23, 2019, 1:55:03 AM4/23/19
to tesser...@googlegroups.com
How did you installed tesseract?

Zdenko


ut 23. 4. 2019 o 7:09 Tairen Chen <chent...@gmail.com> napísal(a):
--
You received this message because you are subscribed to the Google Groups "tesseract-ocr" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tesseract-oc...@googlegroups.com.
To post to this group, send email to tesser...@googlegroups.com.
Visit this group at https://groups.google.com/group/tesseract-ocr.
To view this discussion on the web visit https://groups.google.com/d/msgid/tesseract-ocr/c5db65aa-f42a-4e8f-baee-370a7d81a5ef%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Tairen Chen

unread,
Apr 23, 2019, 2:07:29 AM4/23/19
to tesseract-ocr
Hi, Zdenko,


     Some packages such as libjpeg, libpng, libtiff, zlib, leptonica, I downloaded and installed from source.
     I uninstall and install it again, I have the same problem even with " tesseract 5.0.0-alpha-11-g8a34"

     Please let me know if you have some hints.
     Thank you.
                               Tairen
     
     

On Monday, April 22, 2019 at 10:55:03 PM UTC-7, zdenop wrote:
How did you installed tesseract?

Zdenko


ut 23. 4. 2019 o 7:09 Tairen Chen <chent...@gmail.com> napísal(a):
Hi, all,
      I want to train the tesseract to read a special font from the image, but for some reason, I can't "make training" when I follow the link " https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract-4.00#building-the-training-tools "

      I got the following message: " Need to reconfigure project, so there are no errors " when I tried to type "make training" in the terminal. I tried to find suggestion from here or Tesseract Github Issues, the closest one is https://github.com/tesseract-ocr/tesseract/issues/2261. But there is no clear answer in the end.
      Please help me if you have some hints. Thank you in advance.

      I am using the Ubuntu 16.04 and the Tesseract version info is below: 
      tesseract 4.1.0-rc1-255-g332a1
      leptonica-1.75.3
      libjpeg 9c : libpng 1.6.36 : libtiff 4.0.6 : zlib 1.2.8

      Found AVX2
      Found AVX
      Found SSE

--
You received this message because you are subscribed to the Google Groups "tesseract-ocr" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tesser...@googlegroups.com.

Zdenko Podobny

unread,
Apr 23, 2019, 2:46:37 AM4/23/19
to tesser...@googlegroups.com
Please provide log (output) of configure command.

Zdenko


ut 23. 4. 2019 o 8:07 Tairen Chen <chent...@gmail.com> napísal(a):
To unsubscribe from this group and stop receiving emails from it, send an email to tesseract-oc...@googlegroups.com.

To post to this group, send email to tesser...@googlegroups.com.
Visit this group at https://groups.google.com/group/tesseract-ocr.

Tairen Chen

unread,
Apr 23, 2019, 10:31:00 AM4/23/19
to tesser...@googlegroups.com
Hi, Zdenko,
     My ".configure" log is following and I think I found the issue. Let me post my log file first:
"""
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking whether make supports nested variables... yes
checking dependency style of g++... gcc3
checking for a sed that does not truncate output... /bin/sed
checking Major version... 5
checking Minor version... 0
checking Point version... 0-alpha-11-g8a34
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking whether C++ compiler accepts -mavx... yes
checking whether C++ compiler accepts -mavx2... yes
checking whether C++ compiler accepts -msse4.1... yes
checking whether C++ compiler accepts -march=native... yes
checking --enable-graphics argument... 
checking --enable-legacy argument... 
checking --enable-embedded argument... 
checking for g++ option to support OpenMP... -fopenmp
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking tiffio.h usability... yes
checking tiffio.h presence... yes
checking for tiffio.h... yes
checking --enable-opencl argument... 
checking --enable-visibility argument... 
checking whether to use tessdata-prefix... yes
checking whether to enable debugging... 
checking whether byte ordering is bigendian... no
checking how to print strings... printf
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... (cached) /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking if compiling with clang... no
checking whether C++ compiler accepts -std=c++11... yes
checking whether C++ compiler accepts -std=c++14... yes
checking for library containing pthread_create... -lpthread
checking for ANSI C header files... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking sys/ipc.h usability... yes
checking sys/ipc.h presence... yes
checking for sys/ipc.h... yes
checking sys/shm.h usability... yes
checking sys/shm.h presence... yes
checking for sys/shm.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking for stdbool.h that conforms to C99... no
checking for _Bool... no
checking for asciidoc... false
checking for xsltproc... true
checking for wchar_t... yes
checking for long long int... yes
checking for off_t... yes
checking for mbstate_t... yes
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for lept >= 1.74... yes
checking for libarchive... no
checking for icu-uc >= 52.1... no
checking for icu-i18n >= 52.1... no
checking for pango >= 1.22.0... no
configure: WARNING: pango 1.22.0 or higher is required, but was not found.
configure: WARNING: Training tools WILL NOT be built.
configure: WARNING: Try to install libpango1.0-dev package.
checking for cairo... no
configure: WARNING: Training tools WILL NOT be built because of missing cairo library.
configure: WARNING: Try to install libcairo-dev?? package.
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating tesseract.pc
config.status: creating src/api/Makefile
config.status: creating src/api/tess_version.h
config.status: creating src/arch/Makefile
config.status: creating src/ccmain/Makefile
config.status: creating src/opencl/Makefile
config.status: creating src/ccstruct/Makefile
config.status: creating src/ccutil/Makefile
config.status: creating src/classify/Makefile
config.status: creating src/cutil/Makefile
config.status: creating src/dict/Makefile
config.status: creating src/lstm/Makefile
config.status: creating src/textord/Makefile
config.status: creating src/viewer/Makefile
config.status: creating src/wordrec/Makefile
config.status: creating tessdata/Makefile
config.status: creating tessdata/configs/Makefile
config.status: creating tessdata/tessconfigs/Makefile
config.status: creating unittest/Makefile
config.status: creating java/Makefile
config.status: creating java/com/Makefile
config.status: creating java/com/google/Makefile
config.status: creating java/com/google/scrollview/Makefile
config.status: creating java/com/google/scrollview/events/Makefile
config.status: creating java/com/google/scrollview/ui/Makefile
config.status: creating doc/Makefile
config.status: creating config_auto.h
config.status: config_auto.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands

Configuration is done.
You can now build and install tesseract by running:

$ make
$ sudo make install
$ sudo ldconfig

Documentation will not be built because asciidoc or xsltproc is missing.

You can not build training tools because of missing dependency.
Check configure output for details.
"""
You can see from BOLD and/or Purple color fonts. I think for some reason the compiling could not find the required package to make the training tool. I double check the version of libpango in my Ubuntu: it is "libpango1.0-dev is already the newest version (1.38.1-1)", and the version of icu-uc is: "libicu-dev is already the newest version (55.1-7ubuntu0.4). ", and cario is installed as well as " libcairo2-dev is already the newest version (1.14.6-1). ". So all the packages are satisfied with the compiling requirement.

 So the next question is why the compiling could not find the packages that I have installed?
I am not familiar with the "make" file system, please give me your suggestions.
Thank you!
                            Tairen



For more options, visit https://groups.google.com/d/optout.


--
Best regards,

                                                                          Tairen Chen

Zdenko Podobny

unread,
Apr 23, 2019, 1:23:16 PM4/23/19
to tesser...@googlegroups.com
please provide output of command:
dpkg -l | cut -d " " -f 3 | grep "icu\|cairo\|pango\|pkg-config"

and config.log file (you can compress it with e.g. gzip before sending)

Zdenko


ut 23. 4. 2019 o 16:30 Tairen Chen <chent...@gmail.com> napísal(a):

Tairen Chen

unread,
Apr 23, 2019, 6:15:37 PM4/23/19
to tesseract-ocr
Hi, Zdenko,

     Thank you for your reply.
     I uninstall every package that I had installed and remove unzip the packages.
     Then, I follow the link to install again.
     Now the training is working. :-)
     
     Thank you for pointing me to the configure file and I understand what is "reconfigure" mean now. Appreciate your help.
All the best,
                            Tairen
Reply all
Reply to author
Forward
0 new messages