[MacPorts] #24445: tesseract universal build fails

Mark Anderson emer at emer.net
Mon Apr 12 13:51:40 PDT 2010


ld -r -o libtesseract_full.o tesseractfull.o \
    libtesseract_main.a \
    ../textord/libtesseract_textord.a \
    ../pageseg/libtesseract_pageseg.a \
    ../wordrec/libtesseract_wordrec.a \
    ../classify/libtesseract_classify.a \
    ../dict/libtesseract_dict.a \
    ../viewer/libtesseract_viewer.a \
    ../image/libtesseract_image.a \
    ../cutil/libtesseract_cutil.a \
    ../ccstruct/libtesseract_ccstruct.a \
    ../ccutil/libtesseract_ccutil.a
ld: warning: -arch not specified

This appears to be the problem...I'll take a look as to where that
link line gets constructed.  If anyone has ideas, let me know.

Mark

On Mon, Apr 12, 2010 at 3:16 AM, MacPorts <noreply at macports.org> wrote:
> #24445: tesseract universal build fails
> -------------------------------------+--------------------------------------
>  Reporter:  ryandesign@…             |       Owner:  emer@…
>     Type:  defect                   |      Status:  new
>  Priority:  Normal                   |   Milestone:
> Component:  ports                    |     Version:  1.8.2
>  Keywords:                           |        Port:  tesseract
> -------------------------------------+--------------------------------------
>  Trying to build tesseract universal for x86_64/i386 on Snow Leopard fails:
>
>  {{{
>  --->  Building tesseract
>  DEBUG: Executing org.macports.build (tesseract)
>  DEBUG: Environment: MACOSX_DEPLOYMENT_TARGET='10.6'
>  DEBUG: Assembled command: 'cd
>  "/opt/local/var/macports/build/_Users_rschmidt_macports_dports_textproc_tesseract/work/tesseract-2.04"
>  && /usr/bin/nice -n 10 /usr/bin/make -j1 all'
>  /usr/bin/make  all-recursive
>  Making all in ccstruct
>  make[3]: Nothing to be done for `all-am'.
>  Making all in ccutil
>  make[3]: Nothing to be done for `all-am'.
>  Making all in classify
>  make[3]: Nothing to be done for `all-am'.
>  Making all in cutil
>  make[3]: Nothing to be done for `all-am'.
>  Making all in dict
>  make[3]: Nothing to be done for `all-am'.
>  Making all in pageseg
>  make[3]: Nothing to be done for `all-am'.
>  Making all in image
>  make[3]: Nothing to be done for `all-am'.
>  Making all in textord
>  make[3]: Nothing to be done for `all-am'.
>  Making all in viewer
>  make[3]: Nothing to be done for `all-am'.
>  Making all in wordrec
>  make[3]: Nothing to be done for `all-am'.
>  Making all in ccmain
>  /usr/bin/g++-4.2  -O2 -arch x86_64 -arch i386  -L/opt/local/lib -arch
>  x86_64 -arch i386 -L/opt/local/lib -o tesseract tesseractmain.o
>  libtesseract_full.a -ltiff -lpthread -ljpeg -lpng -lz  -lm
>  ld: warning: in libtesseract_full.a, file was built for unsupported file
>  format which is not the architecture being linked (i386)
>  Undefined symbols for architecture i386:
>   "TessBaseAPI::SetVariable(char const*, char const*)", referenced from:
>       _main in tesseractmain.o
>   "_page_image", referenced from:
>       _page_image$non_lazy_ptr in tesseractmain.o
>      (maybe you meant: _page_image$non_lazy_ptr)
>   "STRING::operator=(char const*)", referenced from:
>       _main in tesseractmain.o
>   "STRING::length() const", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       _main in tesseractmain.o
>   "STRING::operator[](int) const", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       _main in tesseractmain.o
>   "BOOL_VARIABLE::BOOL_VARIABLE(unsigned char, char const*, char const*)",
>  referenced from:
>       __static_initialization_and_destruction_0(int, int)in
>  tesseractmain.o
>       __static_initialization_and_destruction_0(int, int)in
>  tesseractmain.o
>       __static_initialization_and_destruction_0(int, int)in
>  tesseractmain.o
>       __static_initialization_and_destruction_0(int, int)in
>  tesseractmain.o
>   "STRING::STRING()", referenced from:
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>   "STRING::STRING(char const*)", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       _main in tesseractmain.o
>   "BLOCK_zapper(ELIST_LINK*)", referenced from:
>       __Z12BLOCK_zapperP10ELIST_LINK$non_lazy_ptr in tesseractmain.o
>      (maybe you meant: __Z12BLOCK_zapperP10ELIST_LINK$non_lazy_ptr)
>   "STRING::string() const", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>   "STRING::operator+=(char const*)", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       _main in tesseractmain.o
>   "TessBaseAPI::SetInputName(char const*)", referenced from:
>       _main in tesseractmain.o
>   "ERRCODE::error(char const*, signed char, char const*, ...) const",
>  referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>   "TessBaseAPI::TesseractRectBoxes(unsigned char const*, int, int, int,
>  int, int, int, int)", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>   "IMAGE::read(int)", referenced from:
>       _main in tesseractmain.o
>   "IMAGE::read_header(char const*)", referenced from:
>       _main in tesseractmain.o
>   "TessBaseAPI::End()", referenced from:
>       _main in tesseractmain.o
>   "TessBaseAPI::TesseractRect(unsigned char const*, int, int, int, int,
>  int, int)", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>   "_tessedit_write_unlv", referenced from:
>       _tessedit_write_unlv$non_lazy_ptr in tesseractmain.o
>      (maybe you meant: _tessedit_write_unlv$non_lazy_ptr)
>   "read_tiff_image(tiff*, IMAGE*)", referenced from:
>       _main in tesseractmain.o
>   "STRING::STRING(STRING const&)", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>   "IMAGE::IMAGE()", referenced from:
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>   "INT_VARIABLE::~INT_VARIABLE()", referenced from:
>       ___tcf_3 in tesseractmain.o
>       ___tcf_2 in tesseractmain.o
>   "check_legal_image_size(int, int, signed char)", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>   "IMAGE::write(char const*)", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>   "ELIST_ITERATOR::forward()", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>   "read_unlv_file(STRING, int, int, BLOCK_LIST*)", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>   "BOOL_VARIABLE::~BOOL_VARIABLE()", referenced from:
>       ___tcf_5 in tesseractmain.o
>       ___tcf_4 in tesseractmain.o
>       ___tcf_1 in tesseractmain.o
>       ___tcf_0 in tesseractmain.o
>   "TessBaseAPI::InitWithLanguage(char const*, char const*, char const*,
>  char const*, bool, int, char**)", referenced from:
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>   "TessBaseAPI::ClearAdaptiveClassifier()", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>   "IMAGE::destroy()", referenced from:
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>   "STRING::~STRING()", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>   "ELIST::internal_clear(void (*)(ELIST_LINK*))", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>   "tprintf(char const*, ...)", referenced from:
>       _main in tesseractmain.o
>       _main in tesseractmain.o
>   "TessBaseAPI::TesseractRectUNLV(unsigned char const*, int, int, int,
>  int, int, int)", referenced from:
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>       TesseractImage(char const*, IMAGE*, STRING*)in tesseractmain.o
>   "INT_VARIABLE::INT_VARIABLE(int, char const*, char const*)", referenced
>  from:
>       __static_initialization_and_destruction_0(int, int)in
>  tesseractmain.o
>       __static_initialization_and_destruction_0(int, int)in
>  tesseractmain.o
>  ld: symbol(s) not found for architecture i386
>  collect2: ld returned 1 exit status
>  lipo: can't open input file: /var/tmp//cc34zTeB.out (No such file or
>  directory)
>  make[3]: *** [tesseract] Error 1
>  make[2]: *** [all-recursive] Error 1
>  make[1]: *** [all-recursive] Error 1
>  make: *** [all] Error 2
>  }}}
>
>  It builds fine non-universal.
>
> --
> Ticket URL: <http://trac.macports.org/ticket/24445>
> MacPorts <http://www.macports.org/>
> Ports system for Mac OS
>


More information about the macports-dev mailing list