Tesseract installation error in "Make" file - ocr

I am using following system
* Tesseract Version: 4.0.0-324-gb67f
* Platform: Ubuntu16.04 64-bit
I want to retrain tesseract, I am referring to Googles documentation at https://github.com/tesseract-ocr/tesseract/blob/master/INSTALL. Here are the steps that I am following
1. git pull https://github.com/tesseract-ocr/tesseract.git
2. cd tesseract/
3. ./autogen.sh
4. ./configure
5. make
6. make check
After doing make check I am observing this error:
make[1]: Entering directory '/home/ajinkya/Documents/tesseract/doc'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/ajinkya/Documents/tesseract/doc'
Making check in unittest
make[1]: Entering directory '/home/ajinkya/Documents/tesseract/unittest'
make libgtest.la libgtest_main.la libgmock.la libgmock_main.la libabseil.la apiexample_test applybox_test baseapi_test bitvector_test cleanapi_test colpartition_test dawg_test denorm_test fileio_test heap_test imagedata_test indexmapbidi_test intfeaturemap_test intsimdmatrix_test lang_model_test layout_test linlsq_test loadlang_test mastertrainer_test matrix_test nthitem_test osd_test paragraphs_test progress_test qrsequence_test recodebeam_test rect_test resultiterator_test shapetable_test stats_test stringrenderer_test tablefind_test tablerecog_test tabvector_test tfile_test commandlineflags_test lstm_recode_test lstm_squashed_test lstm_test lstmtrainer_test unichar_test unicharcompress_test unicharset_test validate_grapheme_test validate_indic_test validate_khmer_test validate_myanmar_test validator_test
make[2]: Entering directory '/home/ajinkya/Documents/tesseract/unittest'
make[2]: *** No rule to make target '../googletest/googletest/src/gtest-all.cc', needed by '../googletest/googletest/src/libgtest_la-gtest-all.lo'. Stop.
make[2]: Leaving directory '/home/ajinkya/Documents/tesseract/unittest'
Makefile:2207: recipe for target 'check-am' failed
make[1]: *** [check-am] Error 2
make[1]: Leaving directory '/home/ajinkya/Documents/tesseract/unittest'
Makefile:495: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1
How do I resolve this error?

You run version from git you have to follow https://github.com/tesseract-ocr/tesseract/blob/master/INSTALL.GIT.md instruction.
Also why are you running make check? Do you understand what are you doing? Even instruction you posted above marks it as optional...

Related

libtool can't find the la when linking with option -L

I met the problem when compiling the source code of mpc which will depend on gmp.
The command to compile mpc is as below.
./configure --with-mpfr=/home/wy/tmp/mpfr-4.0.2/ins --with-gmp=/home/wy/tmp/gmp-6.2.0/ins --prefix=/home/wy/tmp/mpc-1.1.0/ins
The gmp has been installed into /home/user/tmp/gmp-6.2.0/ins successfully.
The error when compiling mpc with libtool is as below.
/bin/bash ../libtool --tag=CC --mode=link gcc -std=gnu99 -O2 -pedantic -fomit-frame-pointer -m64 -mtune=corei7 -march=corei7 -version-info 4:0:1 -L/home/wy/tmp/gmp-6.2.0/ins/lib -L/home/wy/tmp/mpfr-4.0.2/ins/lib -o libmpc.la -rpath /home/wy/tmp/mpc-1.1.0/ins/lib abs.lo acos.lo acosh.lo add.lo add_fr.lo add_si.lo add_ui.lo arg.lo asin.lo asinh.lo atan.lo atanh.lo clear.lo cmp.lo cmp_abs.lo cmp_si_si.lo conj.lo cos.lo cosh.lo div_2si.lo div_2ui.lo div.lo div_fr.lo div_ui.lo exp.lo fma.lo fr_div.lo fr_sub.lo get_prec2.lo get_prec.lo get_version.lo get_x.lo imag.lo init2.lo init3.lo inp_str.lo log.lo log10.lo mem.lo mul_2si.lo mul_2ui.lo mul.lo mul_fr.lo mul_i.lo mul_si.lo mul_ui.lo neg.lo norm.lo out_str.lo pow.lo pow_fr.lo pow_ld.lo pow_d.lo pow_si.lo pow_ui.lo pow_z.lo proj.lo real.lo rootofunity.lo urandom.lo set.lo set_prec.lo set_str.lo set_x.lo set_x_x.lo sin.lo sin_cos.lo sinh.lo sqr.lo sqrt.lo strtoc.lo sub.lo sub_fr.lo sub_ui.lo swap.lo tan.lo tanh.lo uceil_log2.lo ui_div.lo ui_ui_sub.lo -lmpfr -lmpfr -lgmp -lm
/bin/grep: /usr/local/lib/libgmp.la: No such file or directory
/bin/sed: can't read /usr/local/lib/libgmp.la: No such file or directory
libtool: error: '/usr/local/lib/libgmp.la' is not a valid libtool archive
Makefile:432: recipe for target 'libmpc.la' failed
make[2]: *** [libmpc.la] Error 1
make[2]: Leaving directory '/home/wy/tmp/mpc-1.1.0/src'
Makefile:465: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/wy/tmp/mpc-1.1.0'
Makefile:375: recipe for target 'all' failed
make: *** [all] Error 2
From the error message, we can see that the lib path has been indicated as -L/home/wy/tmp/gmp-6.2.0/ins/lib. But libtool still can't find the lib.
This is going to be hard to answer easily, but it seems like you have some other .la file that references it, and causes it to fail this way. Paths within .la files are always absolute. See this old blog post of mine for details.
My best guess for your particular case, is that you have an old copy of mpfr installed in /usr/local — and that is taking precedence over the one you want to use.
The problem appears to be in the MPFR configure scripts or makefile, not in MPC!
As you can see above, it's not looking for libgmp.la in the place you specified on the command-line, but in the default installation location. The reason for this is that the location of libgmp.la is specified incorrectly in libmpfr.la! It's not MPC's fault...
I was able to work around the problem by editing libmpfr.la, which you can find where you specified the MPFR libraries to go, and change the location to libgmp.la from /usr/lib/libgmp.la to the actual location where you targeted the GMP libraries.
The line in libgmp.la should look like this:
# Libraries that this one depends upon.
dependency_libs=' -L/your/mpfr/lib/target /your/gmp/lib/target/libgmp.la
Where "/your/mpfr/lib/target" should be where you told MPFR to put its library files, and "/your/gmp/lib/target" needs to be changed to where you told GMP to put its library files.

On Ubuntu 16.04, v8 build error

asiagaming#ubuntu:~/v8/v8$ make
make[1]: Entering directory '/home/asiagaming/v8/v8/out'
TOUCH bdc92efe44eca1954fdff70fd086c7e138d0fbb1.intermediate
ACTION Generating inspector protocol sources from protocol json bdc92efe44eca1954fdff70fd086c7e138d0fbb1.intermediate
CXX(target) /home/asiagaming/v8/v8/out/ia32.release/obj.target/v8_base/gen/src/inspector/protocol/Protocol.o
In file included from /home/asiagaming/v8/v8/out/ia32.release/obj/gen/src/inspector/protocol/Protocol.cpp:7:
In file included from /home/asiagaming/v8/v8/out/ia32.release/obj/gen/src/inspector/protocol/Protocol.h:8:
In file included from /home/asiagaming/v8/v8/out/ia32.release/obj/gen/src/inspector/protocol/Forward.h:8:
.././src/inspector/string-util.h:8:10: fatal error: 'memory' file not found
#include <memory>
^~~~~~~~
1 error generated.
src/v8_base.target.ia32.release.mk:750: recipe for target '/home/asiagaming/v8/v8/out/ia32.release/obj.target/v8_base/gen/src/inspector/protocol/Protocol.o' failed
make[1]: *** [/home/asiagaming/v8/v8/out/ia32.release/obj.target/v8_base/gen/src/inspector/protocol/Protocol.o] Error 1
rm bdc92efe44eca1954fdff70fd086c7e138d0fbb1.intermediate
make[1]: Leaving directory '/home/asiagaming/v8/v8/out'
Makefile:319: recipe for target 'ia32.release' failed
make: *** [ia32.release] Error 2
I've tried to build V8 engine, but above error msg is printed.
How to solve it ?
Does sudo apt-get install build-essential help?
(Side note: Simply invoking make is probably not what you want. Check out https://github.com/v8/v8/wiki/Building-with-GN.)

Error message when installing Hg

I've been trying to download Mercurial, using the following code:
brew install hg
However, I keep coming across the same error message.
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:47:10: fatal error: 'CarbonCore/TextCommon.h' file not found
#include <CarbonCore/TextCommon.h>
^
1 error generated.
error: command 'clang' failed with exit status 1
make: *** [build] Error 1
I'm very new to this, so I'm unsure what to do.
Thank you.

Too many initializers for symbol

I am trying to run the MIT project CryptoDB. I have downloaded it and I have followed the instructions to compile as it is explained in the included instructions, for mysql-proxy and mysql version 5.5.14. I am using a RedHat Enterprise 6 server.
When I get to the point of running the make command i get this error:
Building CXX object sql/CMakeFiles/sql.dir/sql_lex.cc.o
In file included from /soft/mysql-5.5.14/build/sql/lex_hash.h:25,
from /soft/mysql-5.5.14/sql/sql_lex.cc:113:
/soft/mysql-5.5.14/sql/lex.h:193: error: ‘ENC_SYM’ was not declared in this scope
/soft/mysql-5.5.14/sql/lex.h:623: error: too many initializers for ‘SYMBOL’
make[2]: *** [sql/CMakeFiles/sql.dir/sql_lex.cc.o] Error 1
make[1]: *** [sql/CMakeFiles/sql.dir/all] Error 2
make: *** [all] Error 2
I am quite lost as I cannot find if there is a missing library or any kind of incompatbility on what I am using. Any ideas?
Even i have not finished installation now I now that the problem comes from not having the last version of the code. By getting it with the following command:
git clone -b public git://g.csail.mit.edu/cryptdb
I get to execute an instalation script in ruby that performs the work.
The script is not writen especifically for Redhat, so I am having some work adapting some commands (apt-get => yum).

'ED_UNASSIGNED' undeclared during mysql installation from sources

I'm getting an error during mysq installation from sources
[ 0%] Building C object cmd-line-utils/libedit/CMakeFiles/edit.dir/chared.c.o
/root/mysql/mysql-5.5.31/cmd-line-utils/libedit/chared.c: In function 'ch_init':
/root/mysql/mysql-5.5.31/cmd-line-utils/libedit/chared.c:421: error: 'ED_UNASSIGNED' undeclared (first use in this function)
/root/mysql/mysql-5.5.31/cmd-line-utils/libedit/chared.c:421: error: (Each undeclared identifier is reported only once
/root/mysql/mysql-5.5.31/cmd-line-utils/libedit/chared.c:421: error: for each function it appears in.)
/root/mysql/mysql-5.5.31/cmd-line-utils/libedit/chared.c: In function 'ch_reset':
/root/mysql/mysql-5.5.31/cmd-line-utils/libedit/chared.c:476: error: 'ED_UNASSIGNED' undeclared (first use in this function)
/root/mysql/mysql-5.5.31/cmd-line-utils/libedit/chared.c: In function 'ch_end':
/root/mysql/mysql-5.5.31/cmd-line-utils/libedit/chared.c:597: error: 'ED_UNASSIGNED' undeclared (first use in this function)
make[2]: *** [cmd-line-utils/libedit/CMakeFiles/edit.dir/chared.c.o] Error 1
make[1]: *** [cmd-line-utils/libedit/CMakeFiles/edit.dir/all] Error 2
make: *** [all] Error 2
How to solve this error?
I checked mysql sources and indeed there is no ED_UNASSIGNED variable.
I had similar error.
I was using different folder for throwing CMAKE build files. From where I used to run "make".
"mysql-5.6.15" source folder
"MySQL Build" folder where I did throw make files and intended to build binaries.
I had a space in that folder name. Removing the space did the trick.
Though I see there is no spaces in your path but still make sure you are using no folder with "space". Having space in build folder also gives errors when your try to build MySQL from source on Windows.