Please do not post only the last error - usually, there is a problem before
and e,g, configure output could indicate a lot of...

Make sure you check the issue tracker where are already some hints on what
to check e.g.
https://github.com/tesseract-ocr/tesseract/issues/3980
https://github.com/tesseract-ocr/tesseract/issues/3746
https://github.com/tesseract-ocr/tesseract/issues/3286


Zdenko


ut 20. 6. 2023 o 15:16 Maria Vilensky <tigre...@gmail.com> napísal(a):

> We now tried the same script on M1 based machine, and the error is as
> follows:
>
> CXXLD libtesseract_native.la
> CXXLD libtesseract_ccutil.la
> CXXLD libtesseract_lstm.la
> CXXLD libtesseract.la
> CXXLD tesseract
> Undefined symbols for architecture arm64:
> "tesseract::IntSimdMatrix::intSimdMatrixNEON", referenced from:
> tesseract::SIMDDetect::SIMDDetect() in
> libtesseract.a(libtesseract_la-simddetect.o)
> tesseract::SIMDDetect::Update() in
> libtesseract.a(libtesseract_la-simddetect.o)
> "tesseract::DotProductNEON(float const*, float const*, int)", referenced
> from:
> tesseract::SIMDDetect::SIMDDetect() in
> libtesseract.a(libtesseract_la-simddetect.o)
> tesseract::SIMDDetect::Update() in
> libtesseract.a(libtesseract_la-simddetect.o)
> ld: symbol(s) not found for architecture arm64
> clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
>
> On Tuesday, June 20, 2023 at 9:39:28 AM UTC+3 Maria Vilensky wrote:
>
>> Thanks for your reply, after many more googling and build attempts, I am
>> not even sure if this is supposed to work - compling arm64 library on an
>> Intel-based mac? Can anyone who tried this confirm this or give a
>> suggestion how to deal with it?
>> Thanks!
>>
>> On Sunday, June 18, 2023 at 5:02:10 PM UTC+3 zdenop wrote:
>>
>>> Hello,
>>>
>>> I am not Mac user, but the following output indicates that autotools are
>>> not able to use g++ for arm-64:
>>>
>>> checking for arm-apple-darwin64-g++... no
>>> checking for arm-apple-darwin64-clang++... no
>>>
>>> Also, you try to force linking LIBS="-lz -lpng -ljpeg -ltiff", but
>>> configure claims tiffio.h (tiff header file) is not present:
>>> checking tiffio.h usability... no
>>> checking tiffio.h presence... no
>>> checking for tiffio.h... no
>>> It does not make sense to me...
>>>
>>> Also
>>> checking for arm-apple-darwin64-pkg-config... no
>>> checking for pkg-config... /usr/local/bin/pkg-config
>>> IMO you should use pkg-config within $DEVROOT/ tree, right?
>>>
>>> There is a lot of "checking for arm-apple-darwin64-xyz... no". You need
>>> to fix this first. As this is not tesseract specific, try to use some Max
>>> arm forum for solving it.
>>>
>>> Zdenko
>>>
>>>
>>> ne 18. 6. 2023 o 14:07 Maria Vilensky <tigr...@gmail.com> napísal(a):
>>>
>>>> Hi,
>>>>
>>>> I'm trying to build tessract-ocr (latest version) on Mac Ventura for
>>>> arch arm-64 to link in ios project.
>>>>
>>>> I'm using this script:
>>>>
>>>> export DEVROOT=/Applications/Xcode.app/Contents/Developer
>>>> export SDKROOT=
>>>> "$DEVROOT/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.2.sdk"
>>>> export CFLAGS="-I$SDKROOT/usr/include/
>>>> -I/desktop/projects/tesseract/include/ -arch arm64 -pipe -no-cpp-precomp
>>>> -isysroot $SDKROOT -miphoneos-version-min=10.0 -O2 -fembed-bitcode"
>>>> export CPPFLAGS=$CFLAGS
>>>> export CXXFLAGS="-I/desktop/projects/tesseract/arm-apple-darwin64/
>>>> -arch arm64 -pipe -no-cpp-precomp -isysroot $SDKROOT
>>>> -miphoneos-version-min=10.0 -O2 -Wno-deprecated-register"
>>>> export LDFLAGS="-L$SDKROOT/usr/lib/"
>>>> export LIBS="-lz -lpng -ljpeg -ltiff"
>>>> export LD="$DEVROOT/usr/bin/ld"
>>>> export CC="$DEVROOT/usr/bin/gcc --target=arm-apple-darwin64"
>>>> export CXX="$DEVROOT/usr/bin/g++ --target=arm-apple-darwin64"
>>>> #export CXX="$DEVROOT/usr/bin/clang++ --target=arm-apple-darwin64
>>>> export LEPTONICA_LIBS="-llept"
>>>> export AR=
>>>> "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar"
>>>> export RANLIB=
>>>> "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib"
>>>>
>>>> sudo ../configure --host=arm-apple-darwin64 --enable-static=yes
>>>> --enable-shared=no --disable-graphics --disable-legacy --without-cur
>>>> # sudo ../configure --target=arm-apple-darwin64 --enable-static=yes
>>>> --enable-shared=no --disable-graphics --disable-legacy --without-curl
>>>>
>>>> The configuration and make are successful, however, when I run
>>>>
>>>> *lipo ./.libs/libtesseract.a -info*
>>>> on the produced file I get:
>>>>
>>>> *Non-fat file: ./.libs/libtesseract.a is architecture: x86_64*
>>>>
>>>> And linking the library in xcode produces build error:
>>>>
>>>> *Ignoring file ./libtesseract.a, building for iOS-arm64 but attempting
>>>> to link with file built for macOS-x86_64*
>>>>
>>>> Undefined symbol: tesseract::TessBaseAPI::GetUTF8Text()
>>>>
>>>> Undefined symbol: tesseract::TessBaseAPI::SetVariable(char const*, char
>>>> const*)
>>>>
>>>> Undefined symbol:
>>>> tesseract::TessBaseAPI::SetPageSegMode(tesseract::PageSegMode)
>>>>
>>>> Undefined symbol: tesseract::TessBaseAPI::Init(char const*, char
>>>> const*, tesseract::OcrEngineMode, char**, int,
>>>> std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>,
>>>> std::__1::allocator<char>>,
>>>> std::__1::allocator<std::__1::basic_string<char,
>>>> std::__1::char_traits<char>, std::__1::allocator<char>>>> const*,
>>>> std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>,
>>>> std::__1::allocator<char>>,
>>>> std::__1::allocator<std::__1::basic_string<char,
>>>> std::__1::char_traits<char>, std::__1::allocator<char>>>> const*,
>>>> bool)Undefined symbol: tesseract::TessBaseAPI::Version()
>>>>
>>>> Undefined symbol: tesseract::TessBaseAPI::SetImage(unsigned char
>>>> const*, int, int, int, int)
>>>>
>>>> Undefined symbol: tesseract::TessBaseAPI::TessBaseAPI()
>>>>
>>>> Here is the output of configure:
>>>>
>>>> configure: WARNING: unrecognized options: --without-cur
>>>> checking for arm-apple-darwin64-g++... no
>>>> checking for arm-apple-darwin64-clang++... no
>>>> 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... ../config/install-sh -c -d
>>>> checking for gawk... no
>>>> checking for mawk... no
>>>> checking for nawk... no
>>>> checking for awk... awk
>>>> 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... /usr/bin/sed
>>>> checking Major version... 5
>>>> checking Minor version... 3
>>>> checking Point version... 1-22-g24da4
>>>> checking whether make supports nested variables... (cached) yes
>>>> checking build system type... x86_64-apple-darwin22.5.0
>>>> checking host system type... arm-apple-darwin64
>>>> checking whether C++ compiler accepts
>>>> -Werror=unused-command-line-argument... yes
>>>> checking whether C++ compiler accepts -mfpu=neon... no
>>>> checking for feenableexcept... no
>>>> checking whether C++ compiler accepts -fopenmp-simd... yes
>>>> checking --enable-float32 argument...
>>>> checking --enable-graphics argument... no
>>>> checking --enable-legacy argument... no
>>>> checking for g++ option to support OpenMP... unsupported
>>>> 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 tiffio.h usability... no
>>>> checking tiffio.h presence... no
>>>> checking for tiffio.h... no
>>>> checking --enable-opencl argument...
>>>> checking tensorflow/core/framework/graph.pb.h usability... no
>>>> checking tensorflow/core/framework/graph.pb.h presence... no
>>>> checking for tensorflow/core/framework/graph.pb.h... no
>>>> checking if -framework Accelerate works... yes
>>>> checking if -framework OpenCL works... yes
>>>> checking --enable-visibility argument...
>>>> checking whether to use tessdata-prefix... yes
>>>> checking if compiling with clang... yes
>>>> checking whether to enable debugging...
>>>> checking how to print strings... printf
>>>> checking for arm-apple-darwin64-gcc... no
>>>> 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)
>>>> /usr/bin/sed
>>>> checking for fgrep... /usr/bin/grep -F
>>>> checking for ld used by gcc...
>>>> /Users/Tnova/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
>>>> checking if the linker
>>>> (/Users/Tnova/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld)
>>>> is GNU ld... no
>>>> checking for BSD- or MS-compatible name lister (nm)... no
>>>> checking for arm-apple-darwin64-dumpbin... no
>>>> checking for arm-apple-darwin64-link... no
>>>> checking for dumpbin... no
>>>> checking for link... link -dump
>>>> checking the name lister (nm) interface... BSD nm
>>>> checking whether ln -s works... yes
>>>> checking the maximum length of command line arguments... 786432
>>>> checking how to convert x86_64-apple-darwin22.5.0 file names to
>>>> arm-apple-darwin64 format... func_convert_file_noop
>>>> checking how to convert x86_64-apple-darwin22.5.0 file names to
>>>> toolchain format... func_convert_file_noop
>>>> checking for
>>>> /Users/Tnova/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
>>>> option to reload object files... -r
>>>> checking for arm-apple-darwin64-objdump... no
>>>> checking for objdump... objdump
>>>> checking how to recognize dependent libraries... pass_all
>>>> checking for arm-apple-darwin64-dlltool... no
>>>> checking for dlltool... no
>>>> checking how to associate runtime and link libraries... printf %s\n
>>>> checking for arm-apple-darwin64-ar... no
>>>> checking for ar... ar
>>>> checking for archiver @FILE support... no
>>>> checking for arm-apple-darwin64-strip... no
>>>> checking for strip... strip
>>>> checking for arm-apple-darwin64-ranlib... no
>>>> checking for ranlib... ranlib
>>>> checking command to parse nm 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 arm-apple-darwin64-mt... no
>>>> checking for mt... no
>>>> checking if : is a manifest tool... no
>>>> checking for arm-apple-darwin64-dsymutil... no
>>>> checking for dsymutil... dsymutil
>>>> checking for arm-apple-darwin64-nmedit... no
>>>> checking for nmedit... nmedit
>>>> checking for arm-apple-darwin64-lipo... no
>>>> checking for lipo... lipo
>>>> checking for arm-apple-darwin64-otool... no
>>>> checking for otool... otool
>>>> checking for arm-apple-darwin64-otool64... no
>>>> 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
>>>> (/Users/Tnova/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld)
>>>> supports shared libraries... yes
>>>> checking dynamic linker characteristics... darwin64 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... no
>>>> checking whether to build static libraries... yes
>>>> checking how to run the C++ preprocessor... g++ -E
>>>> checking for ld used by g++...
>>>> /Users/Tnova/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
>>>> checking if the linker
>>>> (/Users/Tnova/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld)
>>>> is GNU ld... no
>>>> checking whether the g++ linker
>>>> (/Users/Tnova/Downloads/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
>>>> (/Users/Tnova/Downloads/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld)
>>>> supports shared libraries... yes
>>>> checking dynamic linker characteristics... darwin64 dyld
>>>> checking how to hardcode library paths into programs... immediate
>>>> checking whether C++ compiler accepts -std=c++17... yes
>>>> checking whether C++ compiler accepts -std=c++20... yes
>>>> checking for library containing pthread_create... none required
>>>> checking for brew... true
>>>> checking for asciidoc... false
>>>> checking for xsltproc... true
>>>> checking for wchar_t... yes
>>>> checking for long long int... yes
>>>> checking for arm-apple-darwin64-pkg-config... no
>>>> checking for pkg-config... /usr/local/bin/pkg-config
>>>> checking pkg-config is at least version 0.9.0... yes
>>>> checking for libcurl... yes
>>>> checking for lept >= 1.74... yes
>>>> checking for libarchive... yes
>>>> checking for icu-uc >= 52.1... yes
>>>> checking for icu-i18n >= 52.1... yes
>>>> checking for pango >= 1.38.0... no
>>>> configure: WARNING: pango 1.38.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 for pangocairo... no
>>>> checking for pangoft2... no
>>>> checking that generated files are newer than configure... done
>>>> configure: creating ./config.status
>>>> config.status: creating include/tesseract/version.h
>>>> config.status: creating Makefile
>>>> config.status: creating tesseract.pc
>>>> config.status: creating tessdata/Makefile
>>>> config.status: creating tessdata/configs/Makefile
>>>> config.status: creating tessdata/tessconfigs/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 include/config_auto.h
>>>> config.status: executing depfiles commands
>>>> config.status: executing libtool commands
>>>> configure: WARNING: unrecognized options: --without-cur
>>>>
>>>> Configuration is done.
>>>> You can now build and install tesseract by running:
>>>>
>>>> $ make
>>>> $ sudo make install
>>>> $ sudo ldconfig
>>>>
>>>> --
>>>> 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 view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/tesseract-ocr/dcdf433a-1332-405e-b97d-b5a2e42ad6d1n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/tesseract-ocr/dcdf433a-1332-405e-b97d-b5a2e42ad6d1n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
> 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-ocr+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tesseract-ocr/31a204ca-695c-4ed0-8393-8ce544a66c4cn%40googlegroups.com
> <https://groups.google.com/d/msgid/tesseract-ocr/31a204ca-695c-4ed0-8393-8ce544a66c4cn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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-ocr+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tesseract-ocr/CAJbzG8yUpUzeQHyMOU-xSHfQWb6ZoT8PNM85W-PPkmFNQ-ex5A%40mail.gmail.com.

Reply via email to