tesseract-ocr / tesseract

Tesseract Open Source OCR Engine (main repository)
https://tesseract-ocr.github.io/
Apache License 2.0
61.78k stars 9.46k forks source link

Compling tesseract with training tools on MacOSX #296

Closed ghost closed 8 years ago

ghost commented 8 years ago

Training tools is not installed by macports. sudo port install tesseract Thought I tried Compiling on OS X with MacPorts, training tools was not installed.

Now, I have succeed to compling and install tessearact and training tools.

Can I edit wiki page? https://github.com/tesseract-ocr/tesseract/wiki/Compiling

Install packages required by training tools

sudo port install cairo pango
sudo port install leptonica
sudo port install icu

Build and Install

git clone https://github.com/tesseract-ocr/tesseract/
cd tesseract
./autogen.sh
./configure \
    --with-extra-libraries=/opt/local/lib \
    --with-extra-includes=/opt/local/include \
    LDFLAGS=-L/opt/local/lib \
    CPPFLAGS=-I/opt/local/include
make
sudo make install

make training
sudo make training-install
stweil commented 8 years ago

Can I edit wiki page?

Yes, you can.

ghost commented 8 years ago

I edit wiki just now. Thanks.

tonlen commented 8 years ago

@m-sakano @stweil
I clone tesseract and run ./autogen.sh and ./configure run ./configure \ --with-extra-libraries=/opt/local/lib \ --with-extra-includes=/opt/local/include \ LDFLAGS=-L/opt/loca/lib \ CPPFLAGS=-I/opt/local/include

./configure: line 17832: syntax error near unexpected token `pango,'

./configure: line 17832: `PKG_CHECK_MODULES(pango, pango, have_pango=true, have_pango=false)'

when I run make :make: *\ No targets specified and no makefile found. Stop. Is already installed icu cairo pango leptonica and automake autoconf libtool

stweil commented 8 years ago

Which version of autotools are you using (run autoconf --version)? It looks as if your version does not know the PKG_CHECK:MODULES macro.

tonlen commented 8 years ago

autoconf --version

autoconf (GNU Autoconf) 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille.

and I use Cmake compling

$ mkdir build
$ cd build && cmake .. && make
$ sudo make install
[  0%] Linking CXX shared library libtesseract.dylib
ld: library not found for -llept
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libtesseract.3.0.5.dylib] Error 1
make[1]: *** [CMakeFiles/tesseract.dir/all] Error 2
make: *** [all] Error 2

I need to use which way to compile

stweil commented 8 years ago

That's the same autoconf version which I am using, so it should work. You could remove configure and call autoconf to generate a new configure file. If that one is still buggy, there is something really strange.

tonlen commented 8 years ago

I generated a new file to solve this problem. thanks

dcguim commented 8 years ago

I ran into the same problems as @tonlen. In a Mac OS El Capitan(10.11.1), I have autoconf 2.69 installed and have successfully installed the "packages required" listed by @m-sakano. But when I run the configure script, specifying libraries and includes i still get:

configure: WARNING: Training tools WILL NOT be built because of missing icu library.
configure: WARNING: Try to install libicu-devel package.
./configure: line 17824: syntax error near unexpected token `pango,'
./configure: line 17824: `PKG_CHECK_MODULES(pango, pango, have_pango=true, have_pango=false)`

I tried to regenerate the configure file by: autoconf configure.ac > configure, and ran the configure script again, this time it does not print the 'WARNING's but still gives the error in line 17824. I also tried uninstalling and reinstalling pango and pango-devel via MacPorts, but didn`t work. Any ideas?

ghost commented 8 years ago

@dcguim I have written wrong spell. Wiki is correct.

(NG) LDFLAGS=-L/opt/loca/lib \ (OK) LDFLAGS=-L/opt/local/lib \

dcguim commented 8 years ago

But I ran the configure script as described in Wiki:

./configure \
    --with-extra-libraries=/opt/local/lib \
    --with-extra-includes=/opt/local/include \
    LDFLAGS=-L/opt/local/lib \
    CPPFLAGS=-I/opt/local/include

These are the pango files listed if I grep the pango files in /opt/local/lib: $ port content pango | grep /opt/local/lib

  /opt/local/lib/girepository-1.0/Pango-1.0.typelib
  /opt/local/lib/girepository-1.0/PangoCairo-1.0.typelib
  /opt/local/lib/girepository-1.0/PangoFT2-1.0.typelib
  /opt/local/lib/girepository-1.0/PangoXft-1.0.typelib
  /opt/local/lib/libpango-1.0.0.dylib
  /opt/local/lib/libpango-1.0.a
  /opt/local/lib/libpango-1.0.dylib
  /opt/local/lib/libpangocairo-1.0.0.dylib
  /opt/local/lib/libpangocairo-1.0.a
  /opt/local/lib/libpangocairo-1.0.dylib
  /opt/local/lib/libpangoft2-1.0.0.dylib
  /opt/local/lib/libpangoft2-1.0.a
  /opt/local/lib/libpangoft2-1.0.dylib
  /opt/local/lib/libpangoxft-1.0.0.dylib
  /opt/local/lib/libpangoxft-1.0.a
  /opt/local/lib/libpangoxft-1.0.dylib
  /opt/local/lib/pkgconfig/pango.pc
  /opt/local/lib/pkgconfig/pangocairo.pc
  /opt/local/lib/pkgconfig/pangoft2.pc
  /opt/local/lib/pkgconfig/pangoxft.pc

If I grep the pango files under include directory, i get: $ port content pango | grep /opt/local/include

  /opt/local/include/pango-1.0/pango/pango-attributes.h
  /opt/local/include/pango-1.0/pango/pango-bidi-type.h
  /opt/local/include/pango-1.0/pango/pango-break.h
  /opt/local/include/pango-1.0/pango/pango-context.h
  /opt/local/include/pango-1.0/pango/pango-coverage.h
  /opt/local/include/pango-1.0/pango/pango-engine.h
  /opt/local/include/pango-1.0/pango/pango-enum-types.h
  /opt/local/include/pango-1.0/pango/pango-features.h
  /opt/local/include/pango-1.0/pango/pango-font.h
  /opt/local/include/pango-1.0/pango/pango-fontmap.h
  /opt/local/include/pango-1.0/pango/pango-fontset.h
  /opt/local/include/pango-1.0/pango/pango-glyph-item.h
  /opt/local/include/pango-1.0/pango/pango-glyph.h
  /opt/local/include/pango-1.0/pango/pango-gravity.h
  /opt/local/include/pango-1.0/pango/pango-item.h
  /opt/local/include/pango-1.0/pango/pango-language.h
  /opt/local/include/pango-1.0/pango/pango-layout.h
  /opt/local/include/pango-1.0/pango/pango-matrix.h
  /opt/local/include/pango-1.0/pango/pango-modules.h
  /opt/local/include/pango-1.0/pango/pango-ot.h
  /opt/local/include/pango-1.0/pango/pango-renderer.h
  /opt/local/include/pango-1.0/pango/pango-script.h
  /opt/local/include/pango-1.0/pango/pango-tabs.h
  /opt/local/include/pango-1.0/pango/pango-types.h
  /opt/local/include/pango-1.0/pango/pango-utils.h
  /opt/local/include/pango-1.0/pango/pango-version-macros.h
  /opt/local/include/pango-1.0/pango/pango.h
  /opt/local/include/pango-1.0/pango/pangocairo.h
  /opt/local/include/pango-1.0/pango/pangocoretext.h
  /opt/local/include/pango-1.0/pango/pangofc-decoder.h
  /opt/local/include/pango-1.0/pango/pangofc-font.h
  /opt/local/include/pango-1.0/pango/pangofc-fontmap.h
  /opt/local/include/pango-1.0/pango/pangoft2.h
  /opt/local/include/pango-1.0/pango/pangoxft-render.h
  /opt/local/include/pango-1.0/pango/pangoxft.h

@m-sakano, Does your look the same? Appreciate the help

ghost commented 8 years ago

@dcguim My mac is ElCapitan(10.11.6).

$ port content pango | grep /opt/local/lib
  /opt/local/lib/girepository-1.0/Pango-1.0.typelib
  /opt/local/lib/girepository-1.0/PangoCairo-1.0.typelib
  /opt/local/lib/girepository-1.0/PangoFT2-1.0.typelib
  /opt/local/lib/girepository-1.0/PangoXft-1.0.typelib
  /opt/local/lib/libpango-1.0.0.dylib
  /opt/local/lib/libpango-1.0.a
  /opt/local/lib/libpango-1.0.dylib
  /opt/local/lib/libpangocairo-1.0.0.dylib
  /opt/local/lib/libpangocairo-1.0.a
  /opt/local/lib/libpangocairo-1.0.dylib
  /opt/local/lib/libpangoft2-1.0.0.dylib
  /opt/local/lib/libpangoft2-1.0.a
  /opt/local/lib/libpangoft2-1.0.dylib
  /opt/local/lib/libpangoxft-1.0.0.dylib
  /opt/local/lib/libpangoxft-1.0.a
  /opt/local/lib/libpangoxft-1.0.dylib
  /opt/local/lib/pkgconfig/pango.pc
  /opt/local/lib/pkgconfig/pangocairo.pc
  /opt/local/lib/pkgconfig/pangoft2.pc
  /opt/local/lib/pkgconfig/pangoxft.pc
$ port content pango | grep /opt/local/include
  /opt/local/include/pango-1.0/pango/pango-attributes.h
  /opt/local/include/pango-1.0/pango/pango-bidi-type.h
  /opt/local/include/pango-1.0/pango/pango-break.h
  /opt/local/include/pango-1.0/pango/pango-context.h
  /opt/local/include/pango-1.0/pango/pango-coverage.h
  /opt/local/include/pango-1.0/pango/pango-engine.h
  /opt/local/include/pango-1.0/pango/pango-enum-types.h
  /opt/local/include/pango-1.0/pango/pango-features.h
  /opt/local/include/pango-1.0/pango/pango-font.h
  /opt/local/include/pango-1.0/pango/pango-fontmap.h
  /opt/local/include/pango-1.0/pango/pango-fontset.h
  /opt/local/include/pango-1.0/pango/pango-glyph-item.h
  /opt/local/include/pango-1.0/pango/pango-glyph.h
  /opt/local/include/pango-1.0/pango/pango-gravity.h
  /opt/local/include/pango-1.0/pango/pango-item.h
  /opt/local/include/pango-1.0/pango/pango-language.h
  /opt/local/include/pango-1.0/pango/pango-layout.h
  /opt/local/include/pango-1.0/pango/pango-matrix.h
  /opt/local/include/pango-1.0/pango/pango-modules.h
  /opt/local/include/pango-1.0/pango/pango-ot.h
  /opt/local/include/pango-1.0/pango/pango-renderer.h
  /opt/local/include/pango-1.0/pango/pango-script.h
  /opt/local/include/pango-1.0/pango/pango-tabs.h
  /opt/local/include/pango-1.0/pango/pango-types.h
  /opt/local/include/pango-1.0/pango/pango-utils.h
  /opt/local/include/pango-1.0/pango/pango.h
  /opt/local/include/pango-1.0/pango/pangocairo.h
  /opt/local/include/pango-1.0/pango/pangocoretext.h
  /opt/local/include/pango-1.0/pango/pangofc-decoder.h
  /opt/local/include/pango-1.0/pango/pangofc-font.h
  /opt/local/include/pango-1.0/pango/pangofc-fontmap.h
  /opt/local/include/pango-1.0/pango/pangoft2.h
  /opt/local/include/pango-1.0/pango/pangoxft-render.h
  /opt/local/include/pango-1.0/pango/pangoxft.h

It is configure log below.

$ ./configure \
>     --with-extra-libraries=/opt/local/lib \
>     --with-extra-includes=/opt/local/include \
>     LDFLAGS=-L/opt/local/lib \
>     CPPFLAGS=-I/opt/local/include
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
Using git revision: 3.05.00dev-396-ga75ab45
checking for a BSD-compatible install... /opt/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /opt/local/bin/gmkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking whether make supports nested variables... yes
checking dependency style of g++... gcc3
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... x86_64-apple-darwin15.6.0
checking host system type... x86_64-apple-darwin15.6.0
checking --enable-graphics argument... yes
checking whether to disable cube... no
checking --enable-embedded argument... no
checking for g++ option to support OpenMP... unsupported
checking --enable-opencl argument... no
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/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 CL/cl.h usability... no
checking CL/cl.h presence... no
checking for CL/cl.h... no
checking OpenCL/cl.h usability... yes
checking OpenCL/cl.h presence... yes
checking for OpenCL/cl.h... yes
checking tiffio.h usability... yes
checking tiffio.h presence... yes
checking for tiffio.h... yes
checking for OpenCL framework
checking if -framework OpenCL works... yes
checking --enable-visibility argument... no
checking --enable-multiple-libraries argument... no
checking whether to use tessdata-prefix... yes
checking whether to enable debugging... 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... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
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... 196608
checking how to convert x86_64-apple-darwin15.6.0 file names to x86_64-apple-darwin15.6.0 format... func_convert_file_noop
checking how to convert x86_64-apple-darwin15.6.0 file names to toolchain format... func_convert_file_noop
checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r
checking for objdump... no
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... no
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... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking for gcc option to produce PIC... -fno-common -DPIC
checking if gcc PIC flag -fno-common -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin15.6.0 dyld
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++... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking whether the g++ linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fno-common -DPIC
checking if g++ PIC flag -fno-common -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin15.6.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether byte ordering is bigendian... no
checking if compiling with clang... yes
checking whether compiler supports C++11... yes
checking for snprintf... yes
checking for library containing sem_init... none required
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... no
checking malloc.h presence... no
checking for malloc.h... no
checking for stdbool.h that conforms to C99... yes
checking for _Bool... no
checking whether #! works in shell scripts... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for getline... yes
checking for wchar_t... yes
checking for long long int... yes
checking for off_t... yes
checking for mbstate_t... yes
checking for leptonica... yes
checking for l_generateCIDataForPdf in -llept... yes
checking leptonica headers version >= 1.71... yes
checking unicode/uchar.h usability... yes
checking unicode/uchar.h presence... yes
checking for unicode/uchar.h... yes
checking for pkg-config... /opt/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for pango... yes
checking for cairo... yes
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 api/Makefile
config.status: creating ccmain/Makefile
config.status: creating opencl/Makefile
config.status: creating ccstruct/Makefile
config.status: creating ccutil/Makefile
config.status: creating classify/Makefile
config.status: creating cube/Makefile
config.status: creating cutil/Makefile
config.status: creating dict/Makefile
config.status: creating neural_networks/runtime/Makefile
config.status: creating textord/Makefile
config.status: creating viewer/Makefile
config.status: creating wordrec/Makefile
config.status: creating tessdata/Makefile
config.status: creating tessdata/configs/Makefile
config.status: creating tessdata/tessconfigs/Makefile
config.status: creating testing/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 training/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

Training tools can be build and installed (after building of tesseract) with:

$ make training
$ sudo make training-install

Now, you have a warning below: configure: WARNING: Try to install libicu-devel package. Could you try the next code? $ port install icu +devel

dcguim commented 8 years ago

I diffed my list of pango files with @m-sakano s for both/opt/local/includeand/opt/local/lib, and the only difference is, in my list there is an extra/opt/local/include/pango-1.0/pango/pango-version-macros.hwhich was not listed by @m-sakano. I uninstalled my version of icu, and reinstalled the porticu +develas suggested and still, when running the configure script, I get no WARNINGs but the error in line 17824 about the pango lib. This error is happening in this part of the configure script:

# Check location of pango headers
PKG_CHECK_MODULES(pango, pango, have_pango=true, have_pango=false)
if !($have_pango); then
        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Training tools WILL NOT be built because of missing pango library." >&5
$as_echo "$as_me: WARNING: Training tools WILL NOT be built because of missing pango library." >&2;}
        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Try to install libpango1.0-dev package." >&5
$as_echo "$as_me: WARNING: Try to install libpango1.0-dev package." >&2;}
         if false; then
  ENABLE_TRAINING_TRUE=
  ENABLE_TRAINING_FALSE='#'
else
  ENABLE_TRAINING_TRUE='#'
  ENABLE_TRAINING_FALSE=
fi

else
      CPPFLAGS="$CPPFLAGS $pango_CFLAGS"
fi

The question is why this code is not finding pango? Thanks for the support!

ghost commented 8 years ago

@dcguim

The question is why this code is not finding pango?

I wonder, too.

My "./configure" script seems different from yours. See ScreenShot. screenshot

"./configure" script is made with command below. Are there any difference?

$ ./autogen.sh 
Running aclocal
Running libtoolize
./autogen.sh: line 65: libtoolize: command not found
glibtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'config'.
glibtoolize: copying file 'config/ltmain.sh'
glibtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
glibtoolize: copying file 'm4/libtool.m4'
glibtoolize: copying file 'm4/ltoptions.m4'
glibtoolize: copying file 'm4/ltsugar.m4'
glibtoolize: copying file 'm4/ltversion.m4'
glibtoolize: copying file 'm4/lt~obsolete.m4'
./autogen.sh: line 66: libtoolize: command not found
Running autoheader
Running automake --add-missing --copy
configure.ac:321: installing 'config/compile'
configure.ac:86: installing 'config/config.guess'
configure.ac:86: installing 'config/config.sub'
configure.ac:69: installing 'config/install-sh'
configure.ac:69: installing 'config/missing'
api/Makefile.am: installing 'config/depcomp'
Running autoconf

All done.
To build the software now, do something like:

$ ./configure [--enable-debug] [...other options]
dcguim commented 8 years ago

I just rm -rf the whole tesseract directory, git cloned it again and executed ./autogen.sh but it generates the configure script which has the PKG_CHECK_MODULES(pango, pango, have_pango=true, have_pango=false) call, which your doesnt (it also has a similar call to cairo in line 17842). That said, i believe your autogen.sh file is different than thehttps://github.com/tesseract-ocr/tesseract/blob/master/autogen.shonce it generates a different configure script, one which has aset dummyinstruction as depicted in your screenshot. @m-sakano, could you create a gist(https://gist.github.com/) of the whole autogen.sh file and the whole configure script (in case autogen.sh doesnt work)? I would enjoy executing the configure script generated by your autogen.sh, perharps this will work.

ghost commented 8 years ago

@dcguim

autogen.sh and configure script: https://gist.github.com/m-sakano/6e4026d4bfa58f3f8ccaefc369eff6f2

I read comment in autogen.sh.

# This is a simple script which is meant to help developers
# better deal with the GNU autotools, specifically:
#
#   aclocal
#   autoheader
#   autoconf
#   automake

Version information of autotools on my environment:

$ aclocal --version
aclocal (GNU automake) 1.15
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Tom Tromey <tromey@redhat.com>
       and Alexandre Duret-Lutz <adl@gnu.org>.
$ autoheader --version
autoheader (GNU Autoconf) 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Roland McGrath and Akim Demaille.
$ autoconf --version
autoconf (GNU Autoconf) 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+/Autoconf: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>, <http://gnu.org/licenses/exceptions.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille.
$ automake --version
automake (GNU automake) 1.15
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Tom Tromey <tromey@redhat.com>
       and Alexandre Duret-Lutz <adl@gnu.org>.

If you don't have autotools, try $ port install automake autoconf.

dcguim commented 8 years ago

I have already installed automake and autoconf. The configure script i copied runs until the end now, for the first time, but still gives:

checking for pkg-config... no
checking for pango... no
configure: WARNING: Training tools WILL NOT be built because of missing pango library.
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.

I reinstalled cairo-devel and pango-devel and executed the configure script (as written in gist), but still gives these WARNINGs. But because the configure script executed until the end, I carried on and ran make and sudo make install which were OK, but when I ran make training it answered: Need to reconfigure project, so there are no errors. I dont get it, maybe i should update my Mac OS to El Capitan 10.11.6, I dont know whatelse I should do to make sure I get this instalation right. Thanks for the help @m-sakano

Shreeshrii commented 8 years ago

Is this related to https://github.com/tesseract-ocr/tesseract/issues/405

which required installation of pango-dev

ghost commented 8 years ago

@dcguim

In your configure log, pkg-config is not installed. Could you try port install pkgconfig. I had installed pkg-config already to install other packages. So I did not catch that pkg-config is required.

@Shreeshrii Thank you for the information. But I do not install cairo-dev and pango-dev packages. Normal cairo and pango is installed on my Mac.

$ port installed | grep cairo
  cairo @1.14.4_0+quartz+universal+x11
  cairo @1.14.6_0+quartz+universal+x11 (active)
  cairo @1.14.6_0+quartz+x11
$ port installed | grep pango
  pango @1.38.1_0+quartz+universal+x11
  pango @1.40.0_0+quartz+universal+x11
  pango @1.40.0_0+quartz+x11
  pango @1.40.1_0+quartz+universal+x11 (active)
ghost commented 8 years ago

@dcguim This is additional information. I tried configure without pkg-config. Then I got same error.

./configure: line 17828: syntax error near unexpected token `pango,'
./configure: line 17828: `PKG_CHECK_MODULES(pango, pango, have_pango=true, have_pango=false)'
dcguim commented 8 years ago

@m-sakano youre so right. I installed pkgconfig and was able tomakethe following scripts. Appreciate the help, thanks for taking the time. I updated the wiki listingpkgconfig` as a dependency of the configure script.

ghost commented 8 years ago

@dcguim Good for you. And thank you for reporting! I added automake, autoconf and icu +devel to install without warning.

tamhuynh5288 commented 7 years ago

I do follow this guide, but after i run 'make' command, i got an error follow:

libtool: link: ar cru .libs/libtesseract_api.a .libs/libtesseract_api_la-baseapi.o .libs/libtesseract_api_la-capi.o .libs/libtesseract_api_la-renderer.o .libs/libtesseract_api_la-pdfrenderer.o libtool: link: ranlib .libs/libtesseract_api.a libtool: link: ( cd ".libs" && rm -f "libtesseract_api.la" && ln -s "../libtesseract_api.la" "libtesseract_api.la" ) /bin/sh ../libtool --tag=CXX --mode=link g++ -g -O2 -std=c++11 -version-info 4:0 -no-undefined -L/opt/local/lib -L/opt/local/lib -o libtesseract.la -rpath /usr/local/lib libtesseract_api.la ../ccmain/libtesseract_main.la ../textord/libtesseract_textord.la ../wordrec/libtesseract_wordrec.la ../classify/libtesseract_classify.la ../dict/libtesseract_dict.la ../arch/libtesseract_avx.la ../arch/libtesseract_sse.la ../lstm/libtesseract_lstm.la ../ccstruct/libtesseract_ccstruct.la ../cutil/libtesseract_cutil.la ../viewer/libtesseract_viewer.la ../ccutil/libtesseract_ccutil.la ../opencl/libtesseract_opencl.la
libtool: link: g++ -dynamiclib -o .libs/libtesseract.4.dylib -Wl,-force_load,./.libs/libtesseract_api.a -Wl,-force_load,../ccmain/.libs/libtesseract_main.a -Wl,-force_load,../textord/.libs/libtesseract_textord.a -Wl,-force_load,../wordrec/.libs/libtesseract_wordrec.a -Wl,-force_load,../classify/.libs/libtesseract_classify.a -Wl,-force_load,../dict/.libs/libtesseract_dict.a -Wl,-force_load,../arch/.libs/libtesseract_avx.a -Wl,-force_load,../arch/.libs/libtesseract_sse.a -Wl,-force_load,../lstm/.libs/libtesseract_lstm.a -Wl,-force_load,../ccstruct/.libs/libtesseract_ccstruct.a -Wl,-force_load,../cutil/.libs/libtesseract_cutil.a -Wl,-force_load,../viewer/.libs/libtesseract_viewer.a -Wl,-force_load,../ccutil/.libs/libtesseract_ccutil.a -Wl,-force_load,../opencl/.libs/libtesseract_opencl.a -L/opt/local/lib -g -O2 -install_name /usr/local/lib/libtesseract.4.dylib -compatibility_version 5 -current_version 5.0 -Wl,-single_module Undefined symbols for architecture x86_64: "_boxCreate", referenced from: tesseract::TessBaseAPI::GetComponentImages(tesseract::PageIteratorLevel, bool, bool, int, Pixa, int, int) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::EquationDetect::PaintColParts(STRING const&) const in libtesseract_main.a(equationdetect.o) tesseract::EquationDetect::ComputeForegroundDensity(TBOX const&) in libtesseract_main.a(equationdetect.o) tesseract::Tesseract::GetRectImage(TBOX const&, BLOCK const&, int, TBOX) const in libtesseract_main.a(linerec.o) tesseract::PageIterator::GetBinaryImage(tesseract::PageIteratorLevel) const in libtesseract_main.a(pageiterator.o) tesseract::PageIterator::GetImage(tesseract::PageIteratorLevel, int, Pix, int, int) const in libtesseract_main.a(pageiterator.o) tesseract::ImageThresholder::GetPixRect() in libtesseract_main.a(thresholder.o) ... "_boxDestroy", referenced from: tesseract::EquationDetect::PaintColParts(STRING const&) const in libtesseract_main.a(equationdetect.o) tesseract::EquationDetect::ComputeForegroundDensity(TBOX const&) in libtesseract_main.a(equationdetect.o) tesseract::Tesseract::GetRectImage(TBOX const&, BLOCK const&, int, TBOX) const in libtesseract_main.a(linerec.o) tesseract::PageIterator::GetBinaryImage(tesseract::PageIteratorLevel) const in libtesseract_main.a(pageiterator.o) tesseract::PageIterator::GetImage(tesseract::PageIteratorLevel, int, Pix, int, int) const in libtesseract_main.a(pageiterator.o) tesseract::ImageThresholder::GetPixRect() in libtesseract_main.a(thresholder.o) tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) ... "_boxGetGeometry", referenced from: tesseract::ImageFind::BoundsWithinRect(Pix, int, int, int, int) in libtesseract_textord.a(imagefind.o) tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) tesseract::FilterFalsePositives(int, Pix, Pix, Pix) in libtesseract_textord.a(linefind.o) tesseract::BoundsWithinBox(Pix*, TBOX const&) in libtesseract_textord.a(textlineprojection.o) "_boxaAddBox", referenced from: tesseract::TessBaseAPI::GetComponentImages(tesseract::PageIteratorLevel, bool, bool, int, Pixa, int, int) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::ShiroRekhaSplitter::SplitWordShiroRekha(tesseract::ShiroRekhaSplitter::SplitStrategy, Pix, int, int, int, Boxa) in libtesseract_textord.a(devanagari_processing.o) tesseract::TableFinder::WriteToPix(FCOORD const&) in libtesseract_textord.a(tablefind.o) "_boxaCreate", referenced from: tesseract::TessBaseAPI::GetComponentImages(tesseract::PageIteratorLevel, bool, bool, int, Pixa, int, int) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) tesseract::TableFinder::WriteToPix(FCOORD const&) in libtesseract_textord.a(tablefind.o) "_boxaDestroy", referenced from: tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) tesseract::ShiroRekhaSplitter::GetModeHeight(Pix) in libtesseract_textord.a(devanagari_processing.o) tesseract::ImageFind::FindImagePartitions(Pix, FCOORD const&, FCOORD const&, TO_BLOCK, tesseract::TabFind, tesseract::ColPartitionGrid, tesseract::ColPartition_LIST) in libtesseract_textord.a(imagefind.o) tesseract::LineFinder::GetLineMasks(int, Pix*, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) tesseract::FilterFalsePositives(int, Pix, Pix, Pix) in libtesseract_textord.a(linefind.o) tesseract::LineFinder::ConvertBoxaToBlobs(int, int, Boxa, C_BLOB_LIST) in libtesseract_textord.a(linefind.o) tesseract::NumTouchingIntersections(Box, Pix) in libtesseract_textord.a(linefind.o) ... "_boxaGetBox", referenced from: tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) tesseract::ShiroRekhaSplitter::GetModeHeight(Pix) in libtesseract_textord.a(devanagari_processing.o) tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) tesseract::FilterFalsePositives(int, Pix, Pix, Pix) in libtesseract_textord.a(linefind.o) "_boxaGetBoxGeometry", referenced from: tesseract::ImageFind::ConnCompAndRectangularize(Pix, Boxa, Pixa) in libtesseract_textord.a(imagefind.o) tesseract::ImageFind::FindImagePartitions(Pix, FCOORD const&, FCOORD const&, TO_BLOCK, tesseract::TabFind, tesseract::ColPartitionGrid, tesseract::ColPartition_LIST*) in libtesseract_textord.a(imagefind.o) tesseract::LineFinder::ConvertBoxaToBlobs(int, int, Boxa, C_BLOB_LIST) in libtesseract_textord.a(linefind.o) "_boxaGetCount", referenced from: tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) tesseract::ShiroRekhaSplitter::GetModeHeight(Pix) in libtesseract_textord.a(devanagari_processing.o) tesseract::ImageFind::FindImagePartitions(Pix, FCOORD const&, FCOORD const&, TO_BLOCK, tesseract::TabFind, tesseract::ColPartitionGrid, tesseract::ColPartition_LIST) in libtesseract_textord.a(imagefind.o) tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) tesseract::FilterFalsePositives(int, Pix, Pix, Pix) in libtesseract_textord.a(linefind.o) tesseract::LineFinder::ConvertBoxaToBlobs(int, int, Boxa, C_BLOB_LIST) in libtesseract_textord.a(linefind.o) tesseract::NumTouchingIntersections(Box, Pix) in libtesseract_textord.a(linefind.o) ... "_boxaReplaceBox", referenced from: tesseract::ImageFind::ConnCompAndRectangularize(Pix, Boxa, Pixa) in libtesseract_textord.a(imagefind.o) "_composeRGBPixel", referenced from: tesseract::ImageFind::ComposeRGB(unsigned int, unsigned int, unsigned int) in libtesseract_textord.a(imagefind.o) tesseract::ImageFind::ComputeRectangleColors(TBOX const&, Pix, int, Pix, Pix, Pix, unsigned char, unsigned char) in libtesseract_textord.a(imagefind.o) tesseract::TextlineProjection::DisplayProjection() const in libtesseract_textord.a(textlineprojection.o) "_findFileFormat", referenced from: tesseract::TessBaseAPI::ProcessPagesInternal(char const, char const, int, tesseract::TessResultRenderer) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessPDFRenderer::imageToPDFObj(Pix, char*, long, char, long) in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) "_findFileFormatBuffer", referenced from: tesseract::TessBaseAPI::ProcessPagesInternal(char const, char const, int, tesseract::TessResultRenderer) in libtesseract_api.a(libtesseract_api_la-baseapi.o) "_l_CIDataDestroy", referenced from: tesseract::TessPDFRenderer::imageToPDFObj(Pix, char, long, char, long) in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) "_l_generateCIDataForPdf", referenced from: tesseract::TessPDFRenderer::imageToPDFObj(Pix, char*, long, char, long) in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) "_l_getFormattedDate", referenced from: tesseract::TessPDFRenderer::EndDocumentHandler() in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) "_lept_free", referenced from: tesseract::TessPDFRenderer::BeginDocumentHandler() in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) tesseract::TessPDFRenderer::AddImageHandler(tesseract::TessBaseAPI) in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) tesseract::TessPDFRenderer::EndDocumentHandler() in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) "_numaDestroy", referenced from: tesseract::PixelHistogram::ConstructHorizontalCountHist(Pix) in libtesseract_textord.a(devanagari_processing.o) "_numaGetCount", referenced from: tesseract::PixelHistogram::ConstructHorizontalCountHist(Pix) in libtesseract_textord.a(devanagari_processing.o) "_numaGetIValue", referenced from: tesseract::PixelHistogram::ConstructHorizontalCountHist(Pix) in libtesseract_textord.a(devanagari_processing.o) "_pixAlphaBlendUniform", referenced from: tesseract::TessPDFRenderer::imageToPDFObj(Pix, char*, long, char*, long) in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) "_pixAnd", referenced from: tesseract::Tesseract::SegmentPage(STRING const, BLOCK_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) tesseract::ImageFind::FindImages(Pix) in libtesseract_textord.a(imagefind.o) tesseract::LineFinder::FindAndRemoveLines(int, bool, Pix, int, int, Pix, tesseract::TabVector_LIST, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) "_pixBlockconv", referenced from: tesseract::TextlineProjection::ConstructProjection(TO_BLOCK, FCOORD const&, Pix) in libtesseract_textord.a(textlineprojection.o) "_pixClearInRect", referenced from: tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) tesseract::ShiroRekhaSplitter::SplitWordShiroRekha(tesseract::ShiroRekhaSplitter::SplitStrategy, Pix, int, int, int, Boxa) in libtesseract_textord.a(devanagari_processing.o) tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) tesseract::FilterFalsePositives(int, Pix, Pix, Pix) in libtesseract_textord.a(linefind.o) tesseract::RemoveUnusedLineSegments(bool, BLOBNBOX_LIST, Pix) in libtesseract_textord.a(linefind.o) "_pixClipBoxToForeground", referenced from: tesseract::ImageFind::BoundsWithinRect(Pix, int, int, int, int) in libtesseract_textord.a(imagefind.o) tesseract::BoundsWithinBox(Pix, TBOX const&) in libtesseract_textord.a(textlineprojection.o) "_pixClipRectangle", referenced from: tesseract::EquationDetect::ComputeForegroundDensity(TBOX const&) in libtesseract_main.a(equationdetect.o) tesseract::Tesseract::GetRectImage(TBOX const&, BLOCK const&, int, TBOX) const in libtesseract_main.a(linerec.o) tesseract::PageIterator::GetBinaryImage(tesseract::PageIteratorLevel) const in libtesseract_main.a(pageiterator.o) tesseract::PageIterator::GetImage(tesseract::PageIteratorLevel, int, Pix, int, int) const in libtesseract_main.a(pageiterator.o) tesseract::ImageThresholder::GetPixRect() in libtesseract_main.a(thresholder.o) tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) tesseract::ImageFind::ComputeRectangleColors(TBOX const&, Pix, int, Pix, Pix, Pix, unsigned char, unsigned char) in libtesseract_textord.a(imagefind.o) ... "_pixClone", referenced from: tesseract::TessBaseAPI::GetThresholdedImage() in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::Tesseract::set_pix_original(Pix) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessBaseAPI::ProcessPage(Pix, int, char const, char const, int, tesseract::TessResultRenderer) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::Tesseract::PrepareForPageseg() in libtesseract_main.a(tesseractclass.o) tesseract::Tesseract::PrepareForTessOCR(BLOCK_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(tesseractclass.o) tesseract::ImageThresholder::GetPixRect() in libtesseract_main.a(thresholder.o) tesseract::BaselineDetect::SetDebugImage(Pix, STRING const&) in libtesseract_textord.a(baselinedetect.o) ... "_pixCloseBrick", referenced from: tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) tesseract::ShiroRekhaSplitter::PerformClose(Pix, int) in libtesseract_textord.a(devanagari_processing.o) tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) "_pixConnComp", referenced from: tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) tesseract::ShiroRekhaSplitter::GetModeHeight(Pix) in libtesseract_textord.a(devanagari_processing.o) tesseract::ImageFind::ConnCompAndRectangularize(Pix, Boxa, Pixa) in libtesseract_textord.a(imagefind.o) tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) tesseract::FilterFalsePositives(int, Pix, Pix, Pix) in libtesseract_textord.a(linefind.o) tesseract::LineFinder::GetLineBoxes(bool, Pix, Pix, C_BLOB_LIST, BLOBNBOX_LIST) in libtesseract_textord.a(linefind.o) tesseract::NumTouchingIntersections(Box, Pix) in libtesseract_textord.a(linefind.o) ... "_pixConvertRGBToLuminance", referenced from: tesseract::ImageThresholder::GetPixRectGrey() in libtesseract_main.a(thresholder.o) "_pixConvertTo32", referenced from: tesseract::EquationDetect::PaintSpecialTexts(STRING const&) const in libtesseract_main.a(equationdetect.o) tesseract::EquationDetect::PaintColParts(STRING const&) const in libtesseract_main.a(equationdetect.o) tesseract::BaselineDetect::ComputeBaselineSplinesAndXheights(ICOORD const&, bool, bool, bool, tesseract::Textord) in libtesseract_textord.a(baselinedetect.o) tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) tesseract::Input::PreparePixInput(tesseract::StaticShape const&, Pix const, tesseract::TRand, tesseract::NetworkIO) in libtesseract_lstm.a(input.o) "_pixConvertTo8", referenced from: tesseract::Tesseract::GetRectImage(TBOX const&, BLOCK const&, int, TBOX) const in libtesseract_main.a(linerec.o) tesseract::ImageThresholder::SetImage(Pix const) in libtesseract_main.a(thresholder.o) tesseract::ImageThresholder::GetPixRectGrey() in libtesseract_main.a(thresholder.o) tesseract::Input::PreparePixInput(tesseract::StaticShape const&, Pix const, tesseract::TRand, tesseract::NetworkIO) in libtesseract_lstm.a(input.o) "_pixCopy", referenced from: tesseract::Tesseract::SegmentPage(STRING const, BLOCK_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) tesseract::ImageThresholder::SetImage(Pix const) in libtesseract_main.a(thresholder.o) tesseract::ImageThresholder::ThresholdToPix(tesseract::PageSegMode, Pix) in libtesseract_main.a(thresholder.o) tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) tesseract::ShiroRekhaSplitter::SplitWordShiroRekha(tesseract::ShiroRekhaSplitter::SplitStrategy, Pix, int, int, int, Boxa) in libtesseract_textord.a(devanagari_processing.o) "_pixCountConnComp", referenced from: tesseract::Tesseract::SegmentPage(STRING const, BLOCK_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) "_pixCountPixels", referenced from: tesseract::ImageFind::CountPixelsInRotatedBox(TBOX, TBOX const&, FCOORD const&, Pix) in libtesseract_textord.a(imagefind.o) tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) tesseract::FilterFalsePositives(int, Pix, Pix, Pix) in libtesseract_textord.a(linefind.o) "_pixCountPixelsByRow", referenced from: tesseract::PixelHistogram::ConstructHorizontalCountHist(Pix) in libtesseract_textord.a(devanagari_processing.o) "_pixCreate", referenced from: tesseract::PageIterator::GetImage(tesseract::PageIteratorLevel, int, Pix, int, int) const in libtesseract_main.a(pageiterator.o) tesseract::Tesseract::AutoPageSeg(tesseract::PageSegMode, BLOCK_LIST, TO_BLOCK_LIST, BLOBNBOX_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) tesseract::ImageThresholder::SetImage(unsigned char const, int, int, int, int) in libtesseract_main.a(thresholder.o) tesseract::ImageThresholder::GetPixRectThresholds() in libtesseract_main.a(thresholder.o) tesseract::ImageThresholder::ThresholdRectToPix(Pix, int, int const, int const*, Pix*) const in libtesseract_main.a(thresholder.o) tesseract::IntGrid::ThresholdToPix(int) const in libtesseract_textord.a(bbgrid.o) tesseract::GridReducedPix(TBOX const&, int, ICOORD, int, int) in libtesseract_textord.a(bbgrid.o) ... "_pixCreateTemplate", referenced from: tesseract::Tesseract::SegmentPage(STRING const, BLOCK_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) "_pixDestroy", referenced from: tesseract::TessBaseAPI::GetThresholdedImage() in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessBaseAPI::FindLines() in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::Tesseract::set_pix_original(Pix) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessBaseAPI::ProcessPagesFileList(__sFILE, STRING, char const, int, tesseract::TessResultRenderer, int) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessBaseAPI::ProcessPage(Pix, int, char const, char const, int, tesseract::TessResultRenderer) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessBaseAPI::ProcessPagesMultipageTiff(unsigned char const, unsigned long, char const, char const, int, tesseract::TessResultRenderer, int) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessBaseAPI::ProcessPagesInternal(char const, char const, int, tesseract::TessResultRenderer) in libtesseract_api.a(libtesseract_api_la-baseapi.o) ... "_pixDilateBrick", referenced from: tesseract::PageIterator::GetImage(tesseract::PageIteratorLevel, int, Pix, int, int) const in libtesseract_main.a(pageiterator.o) tesseract::ImageFind::FindImages(Pix) in libtesseract_textord.a(imagefind.o) tesseract::LineFinder::FindAndRemoveLines(int, bool, Pix, int, int, Pix, tesseract::TabVector_LIST, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) tesseract::LineFinder::FindAndRemoveVLines(int, Pix, int, int*, Pix, Pix, Pix, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) tesseract::LineFinder::FindAndRemoveHLines(int, Pix, int, int, Pix, Pix, Pix, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) "_pixDisplayWrite", referenced from: tesseract::ImageFind::FindImages(Pix) in libtesseract_textord.a(imagefind.o) tesseract::ImageFind::ConnCompAndRectangularize(Pix, Boxa, Pixa) in libtesseract_textord.a(imagefind.o) "_pixDistanceFunction", referenced from: tesseract::FilterFalsePositives(int, Pix, Pix, Pix) in libtesseract_textord.a(linefind.o) tesseract::SetBlobStrokeWidth(Pix, BLOBNBOX) in libtesseract_textord.a(tordmain.o) "_pixDrawBoxa", referenced from: tesseract::TableFinder::WriteToPix(FCOORD const&) in libtesseract_textord.a(tablefind.o) "_pixErodeBrick", referenced from: tesseract::Tesseract::SegmentPage(STRING const, BLOCK_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) "_pixExpandReplicate", referenced from: tesseract::ImageFind::FindImages(Pix) in libtesseract_textord.a(imagefind.o) "_pixForegroundFraction", referenced from: tesseract::EquationDetect::ComputeForegroundDensity(TBOX const&) in libtesseract_main.a(equationdetect.o) "_pixGenHalftoneMask", referenced from: tesseract::ImageFind::FindImages(Pix) in libtesseract_textord.a(imagefind.o) "_pixGenerateCIData", referenced from: tesseract::TessPDFRenderer::imageToPDFObj(Pix, char, long, char, long) in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) "_pixGetColormap", referenced from: tesseract::ImageThresholder::SetImage(Pix const) in libtesseract_main.a(thresholder.o) "_pixGetData", referenced from: tesseract::TessBaseAPI::DumpPGM(char const) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::ImageThresholder::SetImage(unsigned char const, int, int, int, int) in libtesseract_main.a(thresholder.o) tesseract::ImageThresholder::ThresholdRectToPix(Pix, int, int const, int const*, Pix) const in libtesseract_main.a(thresholder.o) tesseract::TraceOutlineOnReducedPix(C_OUTLINE, int, ICOORD, int, int) in libtesseract_textord.a(bbgrid.o) tesseract::TraceBlockOnReducedPix(BLOCK, int, ICOORD, int, int) in libtesseract_textord.a(bbgrid.o) tesseract::PixelHistogram::ConstructVerticalCountHist(Pix) in libtesseract_textord.a(devanagari_processing.o) tesseract::ImageFind::pixNearlyRectangular(Pix, double, double, double, int, int, int, int) in libtesseract_textord.a(imagefind.o) ... "_pixGetDepth", referenced from: tesseract::Tesseract::GetRectImage(TBOX const&, BLOCK const&, int, TBOX) const in libtesseract_main.a(linerec.o) tesseract::ImageThresholder::SetImage(Pix const) in libtesseract_main.a(thresholder.o) tesseract::ImageThresholder::GetPixRectGrey() in libtesseract_main.a(thresholder.o) tesseract::EquationDetectBase::RenderSpecialText(Pix, BLOBNBOX) in libtesseract_textord.a(equationdetectbase.o) tesseract::ImageFind::ComputeRectangleColors(TBOX const&, Pix, int, Pix, Pix, Pix, unsigned char, unsigned char) in libtesseract_textord.a(imagefind.o) tesseract::Input::PreparePixInput(tesseract::StaticShape const&, Pix const, tesseract::TRand, tesseract::NetworkIO) in libtesseract_lstm.a(input.o) C_OUTLINE::ComputeEdgeOffsets(int, Pix) in libtesseract_ccstruct.a(coutln.o) ... "_pixGetDimensions", referenced from: tesseract::ImageThresholder::SetImage(Pix const) in libtesseract_main.a(thresholder.o) "_pixGetHeight", referenced from: tesseract::TessBaseAPI::DumpPGM(char const) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessBaseAPI::FindLines() in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessBaseAPI::MakeTBLOB(Pix) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessPDFRenderer::AddImageHandler(tesseract::TessBaseAPI) in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) tesseract::EquationDetect::PaintColParts(STRING const&) const in libtesseract_main.a(equationdetect.o) tesseract::EquationDetect::ComputeForegroundDensity(TBOX const&) in libtesseract_main.a(equationdetect.o) tesseract::EquationDetect::PrintSpecialBlobsDensity(tesseract::ColPartition const) const in libtesseract_main.a(equationdetect.o) ... "_pixGetPixel", referenced from: BLOBNBOX::ComputeEdgeOffsets(Pix, Pix, BLOBNBOX_LIST) in libtesseract_ccstruct.a(blobbox.o) "_pixGetSpp", referenced from: tesseract::TessPDFRenderer::imageToPDFObj(Pix, char, long, char, long) in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) "_pixGetWidth", referenced from: tesseract::TessBaseAPI::DumpPGM(char const) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessBaseAPI::FindLines() in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessBaseAPI::MakeTBLOB(Pix) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessPDFRenderer::AddImageHandler(tesseract::TessBaseAPI) in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) tesseract::Tesseract::GetRectImage(TBOX const&, BLOCK const&, int, TBOX) const in libtesseract_main.a(linerec.o) tesseract::Tesseract::LSTMRecognizeWord(BLOCK const&, ROW, WERD_RES, tesseract::PointerVector) in libtesseract_main.a(linerec.o) orientation_and_script_detection(STRING&, OSResults, tesseract::Tesseract) in libtesseract_main.a(osdetect.o) ... "_pixGetWpl", referenced from: tesseract::TessBaseAPI::DumpPGM(char const) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::ImageThresholder::SetImage(unsigned char const, int, int, int, int) in libtesseract_main.a(thresholder.o) tesseract::ImageThresholder::SetImage(Pix const) in libtesseract_main.a(thresholder.o) tesseract::ImageThresholder::ThresholdRectToPix(Pix, int, int const, int const, Pix) const in libtesseract_main.a(thresholder.o) tesseract::TraceOutlineOnReducedPix(C_OUTLINE, int, ICOORD, int, int) in libtesseract_textord.a(bbgrid.o) tesseract::TraceBlockOnReducedPix(BLOCK, int, ICOORD, int, int) in libtesseract_textord.a(bbgrid.o) tesseract::PixelHistogram::ConstructVerticalCountHist(Pix) in libtesseract_textord.a(devanagari_processing.o) ... "_pixGetXRes", referenced from: remove_nontext_regions(tesseract::Tesseract, BLOCK_LIST, TO_BLOCK_LIST) in libtesseract_main.a(osdetect.o) "_pixGetYRes", referenced from: tesseract::ImageThresholder::SetImage(Pix const) in libtesseract_main.a(thresholder.o) "_pixInvert", referenced from: tesseract::PageIterator::GetImage(tesseract::PageIteratorLevel, int, Pix, int, int) const in libtesseract_main.a(pageiterator.o) tesseract::Tesseract::SegmentPage(STRING const, BLOCK_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) tesseract::LSTMRecognizer::RecognizeLine(tesseract::ImageData const&, bool, bool, bool, float, float, tesseract::NetworkIO, tesseract::NetworkIO) in libtesseract_lstm.a(lstmrecognizer.o) "_pixOpenBrick", referenced from: tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) "_pixOr", referenced from: tesseract::Tesseract::AutoPageSeg(tesseract::PageSegMode, BLOCK_LIST, TO_BLOCK_LIST, BLOBNBOX_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) tesseract::ColumnFinder::FindBlocks(tesseract::PageSegMode, Pix, int, TO_BLOCK, Pix, Pix, Pix, BLOCK_LIST, BLOBNBOX_LIST, TO_BLOCK_LIST) in libtesseract_textord.a(colfind.o) tesseract::ImageFind::FindImages(Pix) in libtesseract_textord.a(imagefind.o) tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix*, Pixa) in libtesseract_textord.a(linefind.o) tesseract::TrainingSampleSet::ComputeCanonicalSamples(tesseract::IntFeatureMap const&, bool) in libtesseract_classify.a(trainingsampleset.o) "_pixRasterop", referenced from: tesseract::PageIterator::GetBinaryImage(tesseract::PageIteratorLevel) const in libtesseract_main.a(pageiterator.o) tesseract::PageIterator::GetImage(tesseract::PageIteratorLevel, int, Pix, int, int) const in libtesseract_main.a(pageiterator.o) tesseract::IntGrid::ThresholdToPix(int) const in libtesseract_textord.a(bbgrid.o) tesseract::CCNonTextDetect::MarkAndDeleteNonTextBlobs(BLOBNBOX_LIST, int, ScrollView, ScrollView::Color, Pix) in libtesseract_textord.a(ccnontextdetect.o) tesseract::ImageFind::CountPixelsInRotatedBox(TBOX, TBOX const&, FCOORD const&, Pix) in libtesseract_textord.a(imagefind.o) tesseract::ImageFind::TransferImagePartsToImageMask(FCOORD const&, tesseract::ColPartitionGrid, Pix) in libtesseract_textord.a(imagefind.o) C_OUTLINE::render(int, int, Pix) const in libtesseract_ccstruct.a(coutln.o) ... "_pixRead", referenced from: tesseract::TessBaseAPI::ProcessPagesFileList(__sFILE, STRING, char const, int, tesseract::TessResultRenderer, int) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TessBaseAPI::ProcessPagesInternal(char const, char const, int, tesseract::TessResultRenderer) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::TabFind::Deskew(tesseract::TabVector_LIST, BLOBNBOX_LIST, TO_BLOCK, FCOORD, FCOORD) in libtesseract_textord.a(tabfind.o) tesseract::TableFinder::WriteToPix(FCOORD const&) in libtesseract_textord.a(tablefind.o) "_pixReadMem", referenced from: tesseract::TessBaseAPI::ProcessPagesInternal(char const, char const, int, tesseract::TessResultRenderer) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::ImageData::GetPix() const in libtesseract_ccstruct.a(imagedata.o) tesseract::ImageData::GetPixInternal(GenericVector const&) in libtesseract_ccstruct.a(imagedata.o) tesseract::ImageData::PreScale(int, int, float, int, int, GenericVector) const in libtesseract_ccstruct.a(imagedata.o) tesseract::ImageData::Display() const in libtesseract_ccstruct.a(imagedata.o) "_pixReadMemTiff", referenced from: tesseract::TessBaseAPI::ProcessPagesMultipageTiff(unsigned char const, unsigned long, char const, char const, int, tesseract::TessResultRenderer, int) in libtesseract_api.a(libtesseract_api_la-baseapi.o) "_pixReadTiff", referenced from: tesseract::TessBaseAPI::ProcessPagesMultipageTiff(unsigned char const, unsigned long, char const, char const, int, tesseract::TessResultRenderer, int) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::MasterTrainer::LoadPageImages(char const) in libtesseract_classify.a(mastertrainer.o) "_pixReduceRankBinaryCascade", referenced from: tesseract::ImageFind::FindImages(Pix) in libtesseract_textord.a(imagefind.o) "_pixRemoveColormap", referenced from: tesseract::ImageThresholder::SetImage(Pix const) in libtesseract_main.a(thresholder.o) "_pixRenderBoxArb", referenced from: tesseract::EquationDetect::PaintColParts(STRING const&) const in libtesseract_main.a(equationdetect.o) tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) tesseract::ShiroRekhaSplitter::SplitWordShiroRekha(tesseract::ShiroRekhaSplitter::SplitStrategy, Pix, int, int, int, Boxa) in libtesseract_textord.a(devanagari_processing.o) tesseract::ShiroRekhaSplitter::RefreshSegmentationWithNewBlobs(C_BLOB_LIST) in libtesseract_textord.a(devanagari_processing.o) tesseract::EquationDetectBase::RenderSpecialText(Pix, BLOBNBOX) in libtesseract_textord.a(equationdetectbase.o) "_pixRenderPolyline", referenced from: QSPLINE::plot(Pix) const in libtesseract_ccstruct.a(quspline.o) "_pixRenderPolylineArb", referenced from: QSPLINE::plot(Pix) const in libtesseract_ccstruct.a(quspline.o) "_pixRotate", referenced from: tesseract::TabFind::Deskew(tesseract::TabVector_LIST, BLOBNBOX_LIST, TO_BLOCK, FCOORD, FCOORD) in libtesseract_textord.a(tabfind.o) "_pixRotateOrth", referenced from: tesseract::Tesseract::GetRectImage(TBOX const&, BLOCK const&, int, TBOX) const in libtesseract_main.a(linerec.o) "_pixScale", referenced from: tesseract::Input::PreparePixInput(tesseract::StaticShape const&, Pix const, tesseract::TRand, tesseract::NetworkIO) in libtesseract_lstm.a(input.o) tesseract::ImageData::PreScale(int, int, float, int, int, GenericVector) const in libtesseract_ccstruct.a(imagedata.o) "_pixSeedfillBinary", referenced from: tesseract::Tesseract::SegmentPage(STRING const, BLOCK_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) tesseract::ImageFind::FindImages(Pix) in libtesseract_textord.a(imagefind.o) tesseract::LineFinder::FindAndRemoveLines(int, bool, Pix, int, int, Pix, tesseract::TabVector_LIST, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) tesseract::LineFinder::FindAndRemoveVLines(int, Pix, int, int*, Pix, Pix, Pix, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) tesseract::LineFinder::FindAndRemoveHLines(int, Pix, int, int, Pix, Pix, Pix, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) "_pixSetAll", referenced from: tesseract::Tesseract::AutoPageSeg(tesseract::PageSegMode, BLOCK_LIST, TO_BLOCK_LIST, BLOBNBOX_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) tesseract::ImageFind::ConnCompAndRectangularize(Pix, Boxa, Pixa) in libtesseract_textord.a(imagefind.o) "_pixSetAllArbitrary", referenced from: tesseract::Tesseract::AutoPageSeg(tesseract::PageSegMode, BLOCK_LIST, TO_BLOCK_LIST, BLOBNBOX_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) tesseract::ImageThresholder::GetPixRectThresholds() in libtesseract_main.a(thresholder.o) "_pixSetInRect", referenced from: tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) "_pixSetInRectArbitrary", referenced from: tesseract::ImageFind::ComputeRectangleColors(TBOX const&, Pix, int, Pix, Pix, Pix, unsigned char, unsigned char) in libtesseract_textord.a(imagefind.o) "_pixSetMasked", referenced from: tesseract::PageIterator::GetImage(tesseract::PageIteratorLevel, int, Pix, int, int) const in libtesseract_main.a(pageiterator.o) tesseract::Tesseract::AutoPageSeg(tesseract::PageSegMode, BLOCK_LIST, TO_BLOCK_LIST, BLOBNBOX_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) "_pixSetOrClearBorder", referenced from: tesseract::Tesseract::SegmentPage(STRING const, BLOCK_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) "_pixSetPixel", referenced from: tesseract::TrainingSample::RenderToPix(UNICHARSET const) const in libtesseract_classify.a(trainingsample.o) tesseract::NetworkIO::ToPix() const in libtesseract_lstm.a(networkio.o) C_OUTLINE::render_outline(int, int, Pix) const in libtesseract_ccstruct.a(coutln.o) "_pixSetText", referenced from: tesseract::TrainingSample::RenderToPix(UNICHARSET const) const in libtesseract_classify.a(trainingsample.o) "_pixSetYRes", referenced from: tesseract::ImageThresholder::SetImage(unsigned char const, int, int, int, int) in libtesseract_main.a(thresholder.o) "_pixSubtract", referenced from: remove_nontext_regions(tesseract::Tesseract, BLOCK_LIST, TO_BLOCK_LIST) in libtesseract_main.a(osdetect.o) tesseract::LineFinder::FindAndRemoveLines(int, bool, Pix, int, int, Pix, tesseract::TabVector_LIST, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) tesseract::LineFinder::FindAndRemoveVLines(int, Pix, int, int*, Pix, Pix, Pix, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) tesseract::LineFinder::FindAndRemoveHLines(int, Pix, int, int, Pix, Pix, Pix, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) "_pixWrite", referenced from: tesseract::TessBaseAPI::ProcessPage(Pix, int, char const, char const, int, tesseract::TessResultRenderer) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::EquationDetect::PaintSpecialTexts(STRING const&) const in libtesseract_main.a(equationdetect.o) tesseract::EquationDetect::FindEquationParts(tesseract::ColPartitionGrid, tesseract::ColPartitionSet*) in libtesseract_main.a(equationdetect.o) tesseract::EquationDetect::PaintColParts(STRING const&) const in libtesseract_main.a(equationdetect.o) tesseract::Tesseract::AutoPageSeg(tesseract::PageSegMode, BLOCK_LIST, TO_BLOCK_LIST, BLOBNBOX_LIST, tesseract::Tesseract, OSResults) in libtesseract_main.a(pagesegmain.o) tesseract::Tesseract::SetupPageSegAndDetectOrientation(tesseract::PageSegMode, BLOCK_LIST, tesseract::Tesseract, OSResults, TO_BLOCK_LIST, Pix, Pix) in libtesseract_main.a(pagesegmain.o) tesseract::BaselineDetect::ComputeBaselineSplinesAndXheights(ICOORD const&, bool, bool, bool, tesseract::Textord) in libtesseract_textord.a(baselinedetect.o) ... "_pixWriteMem", referenced from: tesseract::ImageData::SetPixInternal(Pix, GenericVector) in libtesseract_ccstruct.a(imagedata.o) ScrollView::Image(Pix, int, int) in libtesseract_viewer.a(scrollview.o) "_pixZero", referenced from: tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) "_pixaAddBox", referenced from: tesseract::TessBaseAPI::GetComponentImages(tesseract::PageIteratorLevel, bool, bool, int, Pixa, int, int) in libtesseract_api.a(libtesseract_api_la-baseapi.o) "_pixaAddPix", referenced from: tesseract::TessBaseAPI::GetComponentImages(tesseract::PageIteratorLevel, bool, bool, int, Pixa, int, int) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::LineFinder::FindAndRemoveLines(int, bool, Pix, int, int*, Pix*, tesseract::TabVector_LIST, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) tesseract::LineFinder::GetLineMasks(int, Pix, Pix, Pix, Pix, Pix, Pix, Pix, Pixa) in libtesseract_textord.a(linefind.o) tesseract::TrainingSampleSet::DeleteOutliers(tesseract::IntFeatureSpace const&, bool) in libtesseract_classify.a(trainingsampleset.o) "_pixaConvertToPdf", referenced from: tesseract::LineFinder::FindAndRemoveLines(int, bool, Pix, int, int, Pix, tesseract::TabVector_LIST, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) "_pixaCreate", referenced from: tesseract::TessBaseAPI::GetComponentImages(tesseract::PageIteratorLevel, bool, bool, int, Pixa, int, int) in libtesseract_api.a(libtesseract_api_la-baseapi.o) tesseract::LineFinder::FindAndRemoveLines(int, bool, Pix, int, int*, Pix, tesseract::TabVector_LIST, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) tesseract::TrainingSampleSet::DeleteOutliers(tesseract::IntFeatureSpace const&, bool) in libtesseract_classify.a(trainingsampleset.o) "_pixaDestroy", referenced from: tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) tesseract::ImageFind::FindImagePartitions(Pix, FCOORD const&, FCOORD const&, TO_BLOCK, tesseract::TabFind, tesseract::ColPartitionGrid, tesseract::ColPartition_LIST) in libtesseract_textord.a(imagefind.o) tesseract::LineFinder::FindAndRemoveLines(int, bool, Pix, int, int, Pix, tesseract::TabVector_LIST, tesseract::TabVector_LIST) in libtesseract_textord.a(linefind.o) tesseract::FilterFalsePositives(int, Pix, Pix, Pix) in libtesseract_textord.a(linefind.o) tesseract::TrainingSampleSet::DeleteOutliers(tesseract::IntFeatureSpace const&, bool) in libtesseract_classify.a(trainingsampleset.o) "_pixaDisplayTiledInRows", referenced from: tesseract::TrainingSampleSet::DeleteOutliers(tesseract::IntFeatureSpace const&, bool) in libtesseract_classify.a(trainingsampleset.o) "_pixaGetCount", referenced from: tesseract::ShiroRekhaSplitter::Split(bool) in libtesseract_textord.a(devanagari_processing.o) tesseract::ImageFind::ConnCompAndRectangularize(Pix, Boxa, Pixa) in libtesseract_textord.a(imagefind.o) "_pixaGetPix", referenced from: tesseract::ImageFind::ConnCompAndRectangularize(Pix*, Boxa, Pixa) in libtesseract_textord.a(imagefind.o) tesseract::ImageFind::FindImagePartitions(Pix, FCOORD const&, FCOORD const&, TO_BLOCK, tesseract::TabFind, tesseract::ColPartitionGrid, tesseract::ColPartition_LIST) in libtesseract_textord.a(imagefind.o) tesseract::FilterFalsePositives(int, Pix, Pix, Pix) in libtesseract_textord.a(linefind.o) "_pixaReplacePix", referenced from: tesseract::ImageFind::ConnCompAndRectangularize(Pix, Boxa, Pixa) in libtesseract_textord.a(imagefind.o) "_ptaAddPt", referenced from: tesseract::PageIterator::BlockPolygon() const in libtesseract_main.a(pageiterator.o) QSPLINE::plot(Pix) const in libtesseract_ccstruct.a(quspline.o) "_ptaCreate", referenced from: tesseract::PageIterator::BlockPolygon() const in libtesseract_main.a(pageiterator.o) QSPLINE::plot(Pix) const in libtesseract_ccstruct.a(quspline.o) "_ptaDestroy", referenced from: QSPLINE::plot(Pix) const in libtesseract_ccstruct.a(quspline.o) "_zlibCompress", referenced from: tesseract::TessPDFRenderer::BeginDocumentHandler() in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) tesseract::TessPDFRenderer::AddImageHandler(tesseract::TessBaseAPI) in libtesseract_api.a(libtesseract_api_la-pdfrenderer.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: [libtesseract.la] Error 1 make[1]: [all-recursive] Error 1 make: [all] Error 2

sherrylee2013 commented 6 years ago

i also the same error .....................

luvwinnie commented 5 years ago

hi i have the error as below.

checking for pkg-config... /Applications/XAMPP/xamppfiles/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

however I have installed cairo and pango with homebrew

how can i fix this?

cairo: stable 1.16.0 (bottled), HEAD
Vector graphics library with cross-device output support
https://cairographics.org/
/usr/local/Cellar/cairo/1.16.0 (117 files, 5.5MB) *
  Poured from bottle on 2018-10-28 at 22:57:07
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/cairo.rb
==> Dependencies
Build: pkg-config ✔
Required: fontconfig ✔, freetype ✔, glib ✔, libpng ✔, pixman ✔
==> Options
--HEAD
    Install HEAD version
==> Analytics
install: 75,795 (30 days), 233,994 (90 days), 616,224 (365 days)
install_on_request: 5,914 (30 days), 17,406 (90 days), 67,216 (365 days)
build_error: 0 (30 days)

pango: stable 1.42.4 (bottled), HEAD
Framework for layout and rendering of i18n text
https://www.pango.org/
/usr/local/Cellar/pango/1.42.4_1 (106 files, 4.4MB) *
  Poured from bottle on 2019-04-06 at 09:58:42
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/pango.rb
==> Dependencies
Build: gobject-introspection ✘, pkg-config ✔
Required: cairo ✔, fontconfig ✔, fribidi ✔, glib ✔, harfbuzz ✔
==> Options
--HEAD
    Install HEAD version
==> Analytics
install: 33,888 (30 days), 137,077 (90 days), 521,563 (365 days)
install_on_request: 3,459 (30 days), 12,529 (90 days), 44,286 (365 days)
build_error: 0 (30 days)

I'm using macOS Mojave version:10.14.4

zdenop commented 5 years ago

see https://github.com/tesseract-ocr/tesseract/issues/1453