Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[tesseract:arm64-linux] build failure #13395

Closed
simon987 opened this issue Sep 7, 2020 · 7 comments
Closed

[tesseract:arm64-linux] build failure #13395

simon987 opened this issue Sep 7, 2020 · 7 comments
Assignees
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist

Comments

@simon987
Copy link
Contributor

simon987 commented Sep 7, 2020

Host Environment

  • OS: Linux
  • Compiler: GCC 9.3.0
    To Reproduce
    Steps to reproduce the behavior:
    ./vcpkg install tesseract

Failure logs

Starting package 8/7: tesseract:arm64-linux
Building package tesseract[core]:arm64-linux...
Could not locate cached archive: /home/ubuntu/.cache/vcpkg/archives/ec/ecc8051dfa41f517b2481abbf68a9368d5ee0eb9.zip
-- Using community triplet arm64-linux. This triplet configuration is not guaranteed to succeed.
-- [COMMUNITY] Loading triplet configuration from: /mnt/disk/vcpkg/triplets/community/arm64-linux.cmake
-- Downloading https://github.com/tesseract-ocr/tesseract/archive/4.1.1.tar.gz...
-- Extracting source /mnt/disk/vcpkg/downloads/tesseract-ocr-tesseract-4.1.1.tar.gz
-- Applying patch fix-tiff-linkage.patch
-- Applying patch fix-text2image.patch
-- Using source at /mnt/disk/vcpkg/buildtrees/tesseract/src/4.1.1-1402ed03b0.clean
-- Configuring arm64-linux-dbg
-- Configuring arm64-linux-rel
-- Building arm64-linux-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:141 (message):
    Command failed: /usr/bin/cmake --build . --config Debug --target install -- -v
    Working Directory: /mnt/disk/vcpkg/buildtrees/tesseract/arm64-linux-dbg
    See logs for more information:
      /mnt/disk/vcpkg/buildtrees/tesseract/install-arm64-linux-dbg-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_build_cmake.cmake:91 (vcpkg_execute_build_process)
  scripts/cmake/vcpkg_install_cmake.cmake:24 (vcpkg_build_cmake)
  ports/tesseract/portfile.cmake:45 (vcpkg_install_cmake)
  scripts/ports.cmake:79 (include)


Error: Building package tesseract:arm64-linux failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `./vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: tesseract:arm64-linux
  Vcpkg version: 2020.06.15-unknownhash

Tail of vcpkg/buildtrees/tesseract/install-arm64-linux-dbg-out.log:

...
[232/234] : && /usr/bin/cmake -E remove libtesseract.a && /usr/bin/ar qc libtesseract.a  CMakeFiles/libtesseract.dir/src/ccmain/adaptions.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/applybox.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/control.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/docqual.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/equationdetect.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/fixspace.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/fixxht.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/linerec.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/ltrresultiterator.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/mutableiterator.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/osdetect.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/output.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/pageiterator.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/pagesegmain.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/pagewalk.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/par_control.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/paragraphs.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/paramsd.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/pgedit.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/recogtraining.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/reject.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/resultiterator.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/superscript.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/tessbox.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/tessedit.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/tesseractclass.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/tessvars.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/tfacepp.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/thresholder.cpp.o CMakeFiles/libtesseract.dir/src/ccmain/werdit.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/blamer.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/blobbox.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/blobs.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/blread.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/boxread.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/boxword.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/ccstruct.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/coutln.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/detlinefit.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/dppoint.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/fontinfo.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/imagedata.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/linlsq.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/matrix.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/mod128.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/normalis.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/ocrblock.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/ocrpara.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/ocrrow.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/otsuthr.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/pageres.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/params_training_featdef.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/pdblock.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/points.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/polyaprx.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/polyblk.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/publictypes.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/quadlsq.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/quspline.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/ratngs.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/rect.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/rejctmap.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/seam.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/split.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/statistc.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/stepblob.cpp.o CMakeFiles/libtesseract.dir/src/ccstruct/werd.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/ambigs.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/bitvector.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/ccutil.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/clst.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/elst.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/elst2.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/errcode.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/globaloc.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/indexmapbidi.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/mainblk.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/params.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/scanutils.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/serialis.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/strngs.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/tessdatamanager.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/tprintf.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/unichar.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/unicharcompress.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/unicharmap.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/unicharset.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/unicodes.cpp.o CMakeFiles/libtesseract.dir/src/ccutil/universalambigs.cpp.o CMakeFiles/libtesseract.dir/src/classify/adaptive.cpp.o CMakeFiles/libtesseract.dir/src/classify/adaptmatch.cpp.o CMakeFiles/libtesseract.dir/src/classify/blobclass.cpp.o CMakeFiles/libtesseract.dir/src/classify/classify.cpp.o CMakeFiles/libtesseract.dir/src/classify/cluster.cpp.o CMakeFiles/libtesseract.dir/src/classify/clusttool.cpp.o CMakeFiles/libtesseract.dir/src/classify/cutoffs.cpp.o CMakeFiles/libtesseract.dir/src/classify/featdefs.cpp.o CMakeFiles/libtesseract.dir/src/classify/float2int.cpp.o CMakeFiles/libtesseract.dir/src/classify/fpoint.cpp.o CMakeFiles/libtesseract.dir/src/classify/intfeaturedist.cpp.o CMakeFiles/libtesseract.dir/src/classify/intfeaturemap.cpp.o CMakeFiles/libtesseract.dir/src/classify/intfeaturespace.cpp.o CMakeFiles/libtesseract.dir/src/classify/intfx.cpp.o CMakeFiles/libtesseract.dir/src/classify/intmatcher.cpp.o CMakeFiles/libtesseract.dir/src/classify/intproto.cpp.o CMakeFiles/libtesseract.dir/src/classify/kdtree.cpp.o CMakeFiles/libtesseract.dir/src/classify/mf.cpp.o CMakeFiles/libtesseract.dir/src/classify/mfdefs.cpp.o CMakeFiles/libtesseract.dir/src/classify/mfoutline.cpp.o CMakeFiles/libtesseract.dir/src/classify/mfx.cpp.o CMakeFiles/libtesseract.dir/src/classify/normfeat.cpp.o CMakeFiles/libtesseract.dir/src/classify/normmatch.cpp.o CMakeFiles/libtesseract.dir/src/classify/ocrfeatures.cpp.o CMakeFiles/libtesseract.dir/src/classify/outfeat.cpp.o CMakeFiles/libtesseract.dir/src/classify/picofeat.cpp.o CMakeFiles/libtesseract.dir/src/classify/protos.cpp.o CMakeFiles/libtesseract.dir/src/classify/sampleiterator.cpp.o CMakeFiles/libtesseract.dir/src/classify/shapeclassifier.cpp.o CMakeFiles/libtesseract.dir/src/classify/shapetable.cpp.o CMakeFiles/libtesseract.dir/src/classify/tessclassifier.cpp.o CMakeFiles/libtesseract.dir/src/classify/trainingsample.cpp.o CMakeFiles/libtesseract.dir/src/classify/trainingsampleset.cpp.o CMakeFiles/libtesseract.dir/src/cutil/callcpp.cpp.o CMakeFiles/libtesseract.dir/src/cutil/cutil_class.cpp.o CMakeFiles/libtesseract.dir/src/cutil/emalloc.cpp.o CMakeFiles/libtesseract.dir/src/cutil/oldlist.cpp.o CMakeFiles/libtesseract.dir/src/dict/context.cpp.o CMakeFiles/libtesseract.dir/src/dict/dawg.cpp.o CMakeFiles/libtesseract.dir/src/dict/dawg_cache.cpp.o CMakeFiles/libtesseract.dir/src/dict/dict.cpp.o CMakeFiles/libtesseract.dir/src/dict/hyphen.cpp.o CMakeFiles/libtesseract.dir/src/dict/permdawg.cpp.o CMakeFiles/libtesseract.dir/src/dict/stopper.cpp.o CMakeFiles/libtesseract.dir/src/dict/trie.cpp.o CMakeFiles/libtesseract.dir/src/lstm/convolve.cpp.o CMakeFiles/libtesseract.dir/src/lstm/ctc.cpp.o CMakeFiles/libtesseract.dir/src/lstm/fullyconnected.cpp.o CMakeFiles/libtesseract.dir/src/lstm/functions.cpp.o CMakeFiles/libtesseract.dir/src/lstm/input.cpp.o CMakeFiles/libtesseract.dir/src/lstm/lstm.cpp.o CMakeFiles/libtesseract.dir/src/lstm/lstmrecognizer.cpp.o CMakeFiles/libtesseract.dir/src/lstm/lstmtrainer.cpp.o CMakeFiles/libtesseract.dir/src/lstm/maxpool.cpp.o CMakeFiles/libtesseract.dir/src/lstm/network.cpp.o CMakeFiles/libtesseract.dir/src/lstm/networkbuilder.cpp.o CMakeFiles/libtesseract.dir/src/lstm/networkio.cpp.o CMakeFiles/libtesseract.dir/src/lstm/parallel.cpp.o CMakeFiles/libtesseract.dir/src/lstm/plumbing.cpp.o CMakeFiles/libtesseract.dir/src/lstm/recodebeam.cpp.o CMakeFiles/libtesseract.dir/src/lstm/reconfig.cpp.o CMakeFiles/libtesseract.dir/src/lstm/reversed.cpp.o CMakeFiles/libtesseract.dir/src/lstm/series.cpp.o CMakeFiles/libtesseract.dir/src/lstm/stridemap.cpp.o CMakeFiles/libtesseract.dir/src/lstm/tfnetwork.cpp.o CMakeFiles/libtesseract.dir/src/lstm/weightmatrix.cpp.o CMakeFiles/libtesseract.dir/src/opencl/openclwrapper.cpp.o CMakeFiles/libtesseract.dir/src/textord/alignedblob.cpp.o CMakeFiles/libtesseract.dir/src/textord/baselinedetect.cpp.o CMakeFiles/libtesseract.dir/src/textord/bbgrid.cpp.o CMakeFiles/libtesseract.dir/src/textord/blkocc.cpp.o CMakeFiles/libtesseract.dir/src/textord/blobgrid.cpp.o CMakeFiles/libtesseract.dir/src/textord/ccnontextdetect.cpp.o CMakeFiles/libtesseract.dir/src/textord/cjkpitch.cpp.o CMakeFiles/libtesseract.dir/src/textord/colfind.cpp.o CMakeFiles/libtesseract.dir/src/textord/colpartition.cpp.o CMakeFiles/libtesseract.dir/src/textord/colpartitiongrid.cpp.o CMakeFiles/libtesseract.dir/src/textord/colpartitionset.cpp.o CMakeFiles/libtesseract.dir/src/textord/devanagari_processing.cpp.o CMakeFiles/libtesseract.dir/src/textord/drawtord.cpp.o CMakeFiles/libtesseract.dir/src/textord/edgblob.cpp.o CMakeFiles/libtesseract.dir/src/textord/edgloop.cpp.o CMakeFiles/libtesseract.dir/src/textord/equationdetectbase.cpp.o CMakeFiles/libtesseract.dir/src/textord/fpchop.cpp.o CMakeFiles/libtesseract.dir/src/textord/gap_map.cpp.o CMakeFiles/libtesseract.dir/src/textord/imagefind.cpp.o CMakeFiles/libtesseract.dir/src/textord/linefind.cpp.o CMakeFiles/libtesseract.dir/src/textord/makerow.cpp.o CMakeFiles/libtesseract.dir/src/textord/oldbasel.cpp.o CMakeFiles/libtesseract.dir/src/textord/pithsync.cpp.o CMakeFiles/libtesseract.dir/src/textord/pitsync1.cpp.o CMakeFiles/libtesseract.dir/src/textord/scanedg.cpp.o CMakeFiles/libtesseract.dir/src/textord/sortflts.cpp.o CMakeFiles/libtesseract.dir/src/textord/strokewidth.cpp.o CMakeFiles/libtesseract.dir/src/textord/tabfind.cpp.o CMakeFiles/libtesseract.dir/src/textord/tablefind.cpp.o CMakeFiles/libtesseract.dir/src/textord/tablerecog.cpp.o CMakeFiles/libtesseract.dir/src/textord/tabvector.cpp.o CMakeFiles/libtesseract.dir/src/textord/textlineprojection.cpp.o CMakeFiles/libtesseract.dir/src/textord/textord.cpp.o CMakeFiles/libtesseract.dir/src/textord/topitch.cpp.o CMakeFiles/libtesseract.dir/src/textord/tordmain.cpp.o CMakeFiles/libtesseract.dir/src/textord/tospace.cpp.o CMakeFiles/libtesseract.dir/src/textord/tovars.cpp.o CMakeFiles/libtesseract.dir/src/textord/underlin.cpp.o CMakeFiles/libtesseract.dir/src/textord/wordseg.cpp.o CMakeFiles/libtesseract.dir/src/textord/workingpartset.cpp.o CMakeFiles/libtesseract.dir/src/viewer/scrollview.cpp.o CMakeFiles/libtesseract.dir/src/viewer/svmnode.cpp.o CMakeFiles/libtesseract.dir/src/viewer/svpaint.cpp.o CMakeFiles/libtesseract.dir/src/viewer/svutil.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/associate.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/chop.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/chopper.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/drawfx.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/findseam.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/gradechop.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/language_model.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/lm_consistency.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/lm_pain_points.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/lm_state.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/outlines.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/params_model.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/pieces.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/plotedges.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/render.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/segsearch.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/tface.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/wordclass.cpp.o CMakeFiles/libtesseract.dir/src/wordrec/wordrec.cpp.o CMakeFiles/libtesseract.dir/src/api/baseapi.cpp.o CMakeFiles/libtesseract.dir/src/api/capi.cpp.o CMakeFiles/libtesseract.dir/src/api/renderer.cpp.o CMakeFiles/libtesseract.dir/src/api/altorenderer.cpp.o CMakeFiles/libtesseract.dir/src/api/hocrrenderer.cpp.o CMakeFiles/libtesseract.dir/src/api/lstmboxrenderer.cpp.o CMakeFiles/libtesseract.dir/src/api/pdfrenderer.cpp.o CMakeFiles/libtesseract.dir/src/api/wordstrboxrenderer.cpp.o CMakeFiles/libtesseract.dir/src/arch/dotproduct.cpp.o CMakeFiles/libtesseract.dir/src/arch/simddetect.cpp.o CMakeFiles/libtesseract.dir/src/arch/intsimdmatrix.cpp.o && /usr/bin/ranlib libtesseract.a && :
[233/234] : && /usr/bin/c++  -fPIC -g -Wall -DDEBUG -pedantic -Og   CMakeFiles/tesseract.dir/src/api/tesseractmain.cpp.o  -o bin/tesseract  libtesseract.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libtiffd.a  -lpthread  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libleptonica.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libgif.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libjpeg.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libpng16d.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libtiffd.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/liblzmad.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libjpeg.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libpng16d.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libtiffd.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/liblzmad.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libz.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libwebpd.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libz.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libwebpd.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libbz2d.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libxml2.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/liblz4d.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/liblzo2.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libz.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/liblzmad.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libjpeg.a  -lm && :
FAILED: bin/tesseract 
: && /usr/bin/c++  -fPIC -g -Wall -DDEBUG -pedantic -Og   CMakeFiles/tesseract.dir/src/api/tesseractmain.cpp.o  -o bin/tesseract  libtesseract.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libtiffd.a  -lpthread  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libleptonica.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libgif.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libjpeg.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libpng16d.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libtiffd.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/liblzmad.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libjpeg.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libpng16d.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libtiffd.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/liblzmad.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libz.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libwebpd.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libz.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libwebpd.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libbz2d.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libxml2.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/liblz4d.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/liblzo2.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libz.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/liblzmad.a  /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libjpeg.a  -lm && :
/usr/bin/ld: /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libpng16d.a(pngrtran.c.o): in function `png_do_expand_palette':
/mnt/disk/vcpkg/buildtrees/libpng/src/v1.6.37-10db9f58e4.clean/pngrtran.c:4323: undefined reference to `png_do_expand_palette_rgba8_neon'
/usr/bin/ld: /mnt/disk/vcpkg/buildtrees/libpng/src/v1.6.37-10db9f58e4.clean/pngrtran.c:4354: undefined reference to `png_do_expand_palette_rgb8_neon'
/usr/bin/ld: /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libpng16d.a(pngrtran.c.o): in function `png_do_read_transformations':
/mnt/disk/vcpkg/buildtrees/libpng/src/v1.6.37-10db9f58e4.clean/pngrtran.c:4782: undefined reference to `png_riffle_palette_neon'
/usr/bin/ld: /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libpng16d.a(pngrutil.c.o): in function `png_init_filter_functions':
/mnt/disk/vcpkg/buildtrees/libpng/src/v1.6.37-10db9f58e4.clean/pngrutil.c:4126: undefined reference to `png_init_filter_functions_neon'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

Additional context
It looks like libpng failed to detect that NEON instructions are available and compiled without those *_neon functions? Or is it possible that it's linking to the system libraries (I have VCPKG_FORCE_SYSTEM_BINARIES=on) and they are not compiled with those functions?

If a maintainer wants to test the issue, I can provide credentials to an arm64 AWS machine with that behavior (email me [email protected])

@simon987
Copy link
Contributor Author

simon987 commented Sep 8, 2020

Note:

nm /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libpng16d.a  | grep _neon
                 U png_do_expand_palette_rgb8_neon
                 U png_do_expand_palette_rgba8_neon
                 U png_riffle_palette_neon
                 U png_init_filter_functions_neon

@PhoebeHui PhoebeHui added the category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist label Sep 8, 2020
@PhoebeHui
Copy link
Contributor

This is not usual scenario we're working on now, but we accept PRs for fixing this issue. Sorry for that.

@simon987
Copy link
Contributor Author

simon987 commented Sep 8, 2020

If I manually build libpng I don't get this error:

git clone https://github.com/glennrp/libpng
cd libpng
cmake .
make
cp -r libpng16.a /mnt/disk/vcpkg/installed/arm64-linux/debug/lib/libpng16d.a
cp -r libpng16.a /mnt/disk/vcpkg/installed/arm64-linux/lib/libpng16.a
vcpkg install tesseract # works

Do you have any clue/pointers in what ways vcpkg builds the library differently to cause it to not include the arm/* functions?

@x-projs
Copy link
Contributor

x-projs commented Sep 10, 2020

I'll take a look this issue. @PhoebeHui you can assign arm64-linux/arm-linux build issues to me if your team doesn't have time to work on it.

x-projs pushed a commit to x-projs/vcpkg that referenced this issue Sep 10, 2020
…o _csc_OPTIONS to fix issue microsoft#13395.

Root cause:
In script mode, cmake won't populate CMAKE_SYSTEM_PROCESSOR parameter automatically. That parameter is
required by libpng to configure build parameters. To fix this issue, we need explicitly pass that parameter
via _csc_OPTIONS.

Verify:
On arm64-linux and arm-linux host, run `./vcpkg install tesseract:arm64-linux` and `./vcpkg install tesseract:arm-linux`.
@simon987
Copy link
Contributor Author

simon987 commented Sep 11, 2020

Awesome! Thank you so much @xieyubo ❤️ !

@PhoebeHui
Copy link
Contributor

Thank you @xieyubo! I assigned this issue to you.

x-projs pushed a commit to x-projs/vcpkg that referenced this issue Oct 14, 2020
…E is arm or arm64.

This change tries to fix issue microsoft#13395.

Root cause:
In script mode, cmake won't populate CMAKE_SYSTEM_PROCESSOR parameter automatically. That parameter is
required by libpng to configure build parameters. To fix this issue, we need explicitly set CMAKE_SYSTEM_PROCESSOR
value.

Verify:
On arm64-linux host, run `./vcpkg install tesseract:arm64-linux`.
dan-shaw pushed a commit that referenced this issue Oct 17, 2020
…E is arm or arm64. (#13465)

This change tries to fix issue #13395.

Root cause:
In script mode, cmake won't populate CMAKE_SYSTEM_PROCESSOR parameter automatically. That parameter is
required by libpng to configure build parameters. To fix this issue, we need explicitly set CMAKE_SYSTEM_PROCESSOR
value.

Verify:
On arm64-linux host, run `./vcpkg install tesseract:arm64-linux`.
@x-projs
Copy link
Contributor

x-projs commented Oct 17, 2020

This issue should be fixed by commit 27a2418. @PhoebeHui you can close this now.

@x-projs x-projs removed their assignment Oct 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist
Projects
None yet
Development

No branches or pull requests

3 participants