Open Source Development

Power Open Source Development

Explore the open source tools and capabilities for building and deploying modern applications on IBM Power platforms including AIX, IBM i, and Linux.


#Power


#Power

 View Only
  • 1.  gcc: invalid magic number

    Posted 8 days ago
    Edited by Emanuel Reisinger 8 days ago

    Hi,

    it seems it's a similar problem to  gcc: strange error message at config stage but I cannot solve it with setting LIBPATH.

    I've try to compile ghostpdl-10.06.0 but I get the error The module has an invalid magic number. So gcc will try to load a 64Bit library instead of the 32Bit one I guess.

    Our source problem is that we have to convert a pcl file into a tiff with Image Magick v7

    # magick -version
    Version: ImageMagick 7.1.2-0 Q16-HDRI powerpc 23234 https://imagemagick.org
    Copyright: (C) 1999 ImageMagick Studio LLC
    License: https://imagemagick.org/script/license.php
    Features: Cipher DPC HDRI OpenMP(4.5)
    Delegates (built-in): bzlib fontconfig freetype jbig jng jpeg lzma pangocairo png tiff webp x xml zip zlib zstd
    Compiler: gcc (10.3)

    ... and the installed pcl6 (from ghostpdl-9.06) does not support the used png16malpha device from magick.

    # magick 09440102018061_20160309.pcl.filtered -edge 1 -compress group4 -rotate 90 09440102018061_20160309.tiff
    Unknown device name png16malpha.
    Usage: pcl6 [option* file]+...
    Options: -dNOPAUSE -E[#] -h -L<PCL|PCLXL> -K<maxK> -l<PCL5C|PCL5E|RTL> -Z...
             -sDEVICE=<dev> -g<W>x<H> -r<X>[x<Y>] -d{First|Last}Page=<#>
             -sOutputFile=<file> (-s<option>=<string> | -d<option>[=<value>])*
             -J<PJL commands>
    Version: 9.06
    Build date: Fri Oct  5 14:32:40 2012
    Devices: x11 x11alpha x11mono x11cmyk ljet4 djet500 cljet5pr cljet5c
     bit bitcmyk bitrgb bitrgbtags pcxmono pcxgray pcxcmyk pdfwrite pswrite
     ps2write txtwrite pamcmyk32 pamcmyk4 tiffcrle tiffg3 tiffg32d tiffg4 tifflzw
     tiffpack tiffgray tiffscaled tiffscaled8 tiffscaled24 tiff12nc tiff24nc pxlmono pxlcolor
     bmpmono bmp16m bmpsep8 pbmraw pgmraw ppmraw png16m pngmono pngmonod
     jpeg plan planm plang planc plank bbox nullpage
    magick: PCL delegate failed `09440102018061_20160309.pcl.filtered' @ error/pcl.c/ReadPCLImage/375.

    So I've try to compile the new version of ghostpdl and hope it supports this device. But with no luck with compiling.

    ghostpdl-10.06.0/ :) ./configure

    ...

    ghostpdl-10.06.0/ :) make
    gcc  -DHAVE_MKSTEMP -DHAVE_FILE64 -DHAVE_FSEEKO -DHAVE_MKSTEMP64 -DHAVE_FONTCONFIG  -DHAVE_SETLOCALE   -DHAVE_BSWAP32  -DHAVE_STRERROR -DHAVE_ISNAN -DHAVE_ISINF  -DHAVE_PREAD_PWRITE=1 -DGS_RECURSIVE_MUTEXATTR=PTHREAD_MUTEX_RECURSIVE -O2 -DNDEBUG -Wl,-brtl -D_LARGE_FILES  -Wall -Wstrict-prototypes -Wundef -Wmissing-declarations -Wmissing-prototypes -Wwrite-strings -fno-strict-aliasing -Werror=declaration-after-statement -fno-builtin -fno-common -Werror=return-type -Wno-unused-local-typedefs -DHAVE_STDINT_H=1 -DHAVE_DIRENT_H=1 -DHAVE_NDIR_H=0 -DHAVE_SYS_DIR_H=1 -DHAVE_SYS_NDIR_H=0 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_LIBDL=1 -DGX_COLOR_INDEX_TYPE="unsigned long long" -D__USE_UNIX98=1 -DHAVE_SNPRINTF -DGS_MEMPTR_ALIGNMENT=8  -DHAVE_RESTRICT=1 -fno-strict-aliasing -DHAVE_POPEN_PROTO=1  -I./base -o ./obj/aux/genconf ./base/genconf.c  -Wl,-bbigtoc  -pthread    -lm -ldl  -liconv  -L/opt/freeware/lib64 -L/opt/freeware/lib -lfontconfig -lfreetype
    gcc  -DHAVE_MKSTEMP -DHAVE_FILE64 -DHAVE_FSEEKO -DHAVE_MKSTEMP64 -DHAVE_FONTCONFIG  -DHAVE_SETLOCALE   -DHAVE_BSWAP32  -DHAVE_STRERROR -DHAVE_ISNAN -DHAVE_ISINF  -DHAVE_PREAD_PWRITE=1 -DGS_RECURSIVE_MUTEXATTR=PTHREAD_MUTEX_RECURSIVE -O2 -DNDEBUG -Wl,-brtl -D_LARGE_FILES  -Wall -Wstrict-prototypes -Wundef -Wmissing-declarations -Wmissing-prototypes -Wwrite-strings -fno-strict-aliasing -Werror=declaration-after-statement -fno-builtin -fno-common -Werror=return-type -Wno-unused-local-typedefs -DHAVE_STDINT_H=1 -DHAVE_DIRENT_H=1 -DHAVE_NDIR_H=0 -DHAVE_SYS_DIR_H=1 -DHAVE_SYS_NDIR_H=0 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_LIBDL=1 -DGX_COLOR_INDEX_TYPE="unsigned long long" -D__USE_UNIX98=1 -DHAVE_SNPRINTF -DGS_MEMPTR_ALIGNMENT=8  -DHAVE_RESTRICT=1 -fno-strict-aliasing -DHAVE_POPEN_PROTO=1  -I./base -o ./obj/aux/echogs ./base/echogs.c  -Wl,-bbigtoc  -pthread    -lm -ldl  -liconv  -L/opt/freeware/lib64 -L/opt/freeware/lib -lfontconfig -lfreetype
    gcc  -DHAVE_MKSTEMP -DHAVE_FILE64 -DHAVE_FSEEKO -DHAVE_MKSTEMP64 -DHAVE_FONTCONFIG  -DHAVE_SETLOCALE   -DHAVE_BSWAP32  -DHAVE_STRERROR -DHAVE_ISNAN -DHAVE_ISINF  -DHAVE_PREAD_PWRITE=1 -DGS_RECURSIVE_MUTEXATTR=PTHREAD_MUTEX_RECURSIVE -O2 -DNDEBUG -Wl,-brtl -D_LARGE_FILES  -Wall -Wstrict-prototypes -Wundef -Wmissing-declarations -Wmissing-prototypes -Wwrite-strings -fno-strict-aliasing -Werror=declaration-after-statement -fno-builtin -fno-common -Werror=return-type -Wno-unused-local-typedefs -DHAVE_STDINT_H=1 -DHAVE_DIRENT_H=1 -DHAVE_NDIR_H=0 -DHAVE_SYS_DIR_H=1 -DHAVE_SYS_NDIR_H=0 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_LIBDL=1 -DGX_COLOR_INDEX_TYPE="unsigned long long" -D__USE_UNIX98=1 -DHAVE_SNPRINTF -DGS_MEMPTR_ALIGNMENT=8  -DHAVE_RESTRICT=1 -fno-strict-aliasing -DHAVE_POPEN_PROTO=1  -I./base -o ./obj/aux/genarch ./base/genarch.c  -Wl,-bbigtoc  -pthread    -lm -ldl  -liconv  -L/opt/freeware/lib64 -L/opt/freeware/lib -lfontconfig -lfreetype
    ./base/genarch.c: In function 'main':
    ./base/genarch.c:123:7: warning: unused variable 'sp' [-Wunused-variable]
      123 |     } sp;
          |       ^~
    ./obj/aux/genarch ./obj/arch.h
    Could not load program ./obj/aux/genarch:
    Could not load module /opt/freeware/lib/libiconv.a(libiconv.so.2).
            Dependent module /opt/freeware/lib64/libgcc_s.a(shr.o) could not be loaded.
            The module has an invalid magic number.
    Could not load module genarch.
            Dependent module /opt/freeware/lib/libiconv.a(libiconv.so.2) could not be loaded.
    make: *** [base/lib.mak:95: obj/arch.h] Error 255

    ghostpdl-10.06.0/ :) oslevel -s
    7200-04-06-2220
    ghostpdl-10.06.0/ :) gcc -v
    Using built-in specs.
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/opt/freeware/libexec/gcc/powerpc-ibm-aix7.2.0.0/10/lto-wrapper
    Target: powerpc-ibm-aix7.2.0.0
    Configured with: ../gcc-10.3.0/configure --prefix=/opt/freeware --mandir=/opt/freeware/man --infodir=/opt/freeware/info --with-local-prefix=/opt/freeware --enable-languages=c,c++,fortran,go --enable-version-specific-runtime-libs --disable-nls --disable-libstdcxx-pch --disable-werror --enable-libstdcxx-filesystem-ts --with-gcc-major-version-only --program-suffix=-10 --with-cpu=default32 --host=powerpc-ibm-aix7.2.0.0
    Thread model: aix
    Supported LTO compression algorithms: zlib
    gcc version 10.3.0 (GCC)

    ghostpdl-10.06.0/ :) env
    _=/usr/bin/env
    LANG=C
    LOGIN=root
    PATH=/usr/local/apache/apache-maven-2.2.1/bin:/usr/java6/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin:/usr/lbin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/sbin:/opt/freeware/bin:/opt/IBM/openxlC/current/bin:/opt/IBM/xlC/current/bin:/opt/IBM/xlc/current/bin:/usr/idebug:/usr/vac/bin:/usr/vacpp/bin:/h/custom/bin:/usr/local/bin:/charly/bin:/usr/ils/bin:/usr/bin/X11:/home/root/bin:.
    LC_ALL=C
    LC__FASTMSG=true
    LOGNAME=root
    MAIL=/usr/spool/mail/root
    HOSTNAME=boss
    LOCPATH=/usr/lib/nls/loc
    PS1=root@boss:$PWD/ :)
    USER=root
    DSM_LOG=/usr/tivoli/tsm/server
    AUTHSTATE=compat
    M2=/usr/local/apache/apache-maven-2.2.1/bin
    SHELL=/usr/bin/ksh
    ODMDIR=/etc/objrepos
    JAVA_HOME=/usr/java6
    HOME=/home/root
    M2_HOME=/usr/local/apache/apache-maven-2.2.1
    TERM=xterm
    MAILMSG=[YOU HAVE NEW MAIL]
    PWD=/sys/tools/ghostpdl-10.06.0
    TZ=NFT-1DFT,M3.5.0/2:00,M10.5.0/3:00
    ENV=/home/root/.kshrc
    A__z=! LOGNAME
    NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat:/usr/lib/nls/msg/%l.%c/%N:/usr/lib/nls/msg/%l.%c/%N.cat
    LIBPATH=/opt/freeware/lib;/opt/freeware/lib64

    With unset LIBPATH it does not work either. (./configure && ./make)

    What's wrong?

    I whish I could installghostpdl from aixtoolbox ;-)



    ------------------------------
    Emanuel Reisinger
    ------------------------------



  • 2.  RE: gcc: invalid magic number

    Posted 8 days ago

    Try to build a 64bit version of ghostpdl. ( Pass -maix64 to gcc during the compilation and OBJECT_MODE=64 ). 



    ------------------------------
    Ayappan P
    ------------------------------



  • 3.  RE: gcc: invalid magic number

    Posted 7 days ago

    Can you help me how I can set the correct parameters or arguments to build a 64bit version?

    ghostpdl is a huge package configured by configure and all Makfiles for all submodules are generated. I've tried with export some variables

    export OBJECT_MODE=64
    export CFLAGS="-maix64"
    export CXXFLAGS="-maix64"
    export LDFLAGS="-maix64"
    export AR="ar -X64"

    ... call configure with arguments

    ./configure CFLAGS="-maix64" CXXFLAGS="-maix64" LDFLAGS="-maix64" AR="ar -X64"

    Only the initial error from initial post with genarch is gone and after a while compiling I get the next 32/64Bit error.

    ...

    gcc  -DHAVE_MKSTEMP -DHAVE_FILE64 -DHAVE_FSEEKO -DHAVE_MKSTEMP64 -DHAVE_FONTCONFIG  -DHAVE_SETLOCALE   -DHAVE_BSWAP32  -DHAVE_STRERROR -DHAVE_ISNAN -DHAVE_ISINF  -DHAVE_PREAD_PWRITE=1 -DGS_RECURSIVE_MUTEXATTR=PTHREAD_MUTEX_RECURSIVE -O2 -DNDEBUG -Wl,-brtl -D_LARGE_FILES  -Wall -Wstrict-prototypes -Wundef -Wmissing-declarations -Wmissing-prototypes -Wwrite-strings -fno-strict-aliasing -Werror=declaration-after-statement -fno-builtin -fno-common -Werror=return-type -Wno-unused-local-typedefs -DHAVE_STDINT_H=1 -DHAVE_DIRENT_H=1 -DHAVE_NDIR_H=0 -DHAVE_SYS_DIR_H=1 -DHAVE_SYS_NDIR_H=0 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_LIBDL=1 -DGX_COLOR_INDEX_TYPE="unsigned long long" -D__USE_UNIX98=1 -DHAVE_SNPRINTF -DGS_MEMPTR_ALIGNMENT=8  -DBUILD_PDF=1 -I./pdf -maix64 -DHAVE_RESTRICT=1 -DHAVE_LIMITS_H=1 -DHAVE_STRING_H=1 -DUSE_LIBICONV_GNU -DPNG_POWERPC_VSX_OPT=0 -fno-strict-aliasing -DHAVE_POPEN_PROTO=1    -I./obj -I./base -I./devices  -DWHICH_CMS="lcms2mt" -o ./obj/gsromfs1.o -c ./obj/gsromfs1.c
    ...
    ld: 0711-736 ERROR: Input file ./obj/gsromfs1.o:
            XCOFF64 object files are not allowed in 32-bit mode.
    collect2: error: ld returned 8 exit status
    make: *** [base/unixlink.mak:172: bin/gs] Error 1

    As I can see in the gcc call above the CFLAGS are not considered.

    I haven't found out what I have to do.

    Have anyone any idea?



    ------------------------------
    Emanuel Reisinger
    ------------------------------



  • 4.  RE: gcc: invalid magic number

    Posted 7 days ago

    My fault, I can see the -maix64 flags in gcc command.

    I've tried the whole build with -m64 but with the same result/error.



    ------------------------------
    Emanuel Reisinger
    ------------------------------



  • 5.  RE: gcc: invalid magic number

    Posted 7 days ago

    Can you try the below ? 
    gmake distclean
    export CC="gcc -maix64 -pthread -O2" 
    export OBJECT_MODE=64
    ./configure 



    ------------------------------
    Ayappan P
    ------------------------------



  • 6.  RE: gcc: invalid magic number

    Posted 7 days ago

    I get still the same error.

    ld: 0711-738 ERROR: Input file ./obj/tessocr.o:
            XCOFF32 object files are not allowed in 64-bit mode.

    There is something strange happening. Because the object is built with -maix64 before. But at time of linking it's a 32Bit object.

    g++ -Itesseract/include -Itesseract/src/api -Itesseract/src/arch -Itesseract/src/ccmain -Itesseract/src/ccstruct -Itesseract/src/ccutil -Itesseract/src/classify -Itesseract/src/cutil -Itesseract/src/dict -Itesseract/src/lstm -Itesseract/src/opencl -Itesseract/src/textord -Itesseract/src/training -Itesseract/src/viewer -Itesseract/src/wordrec -Ileptonica/src -I./base -I./obj -maix64 -pthread  -std=c++17  -DHAVE_MKSTEMP -DHAVE_FILE64 -DHAVE_FSEEKO -DHAVE_MKSTEMP64 -DHAVE_FONTCONFIG  -DHAVE_SETLOCALE   -DHAVE_BSWAP32  -DHAVE_STRERROR -DHAVE_ISNAN -DHAVE_ISINF  -DHAVE_PREAD_PWRITE=1 -DGS_RECURSIVE_MUTEXATTR=PTHREAD_MUTEX_RECURSIVE -O2 -DNDEBUG -Wl,-brtl -D_LARGE_FILES -Wall  -Wundef -Wmissing-declarations  -Wwrite-strings -fno-strict-aliasing  -fno-builtin -fno-common -Werror=return-type -Wno-unused-local-typedefs -DHAVE_STDINT_H=1 -DHAVE_DIRENT_H=1 -DHAVE_NDIR_H=0 -DHAVE_SYS_DIR_H=1 -DHAVE_SYS_NDIR_H=0 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_LIBDL=1 -DGX_COLOR_INDEX_TYPE="unsigned long long" -D__USE_UNIX98=1 -DHAVE_SNPRINTF -DGS_MEMPTR_ALIGNMENT=8 -DBUILD_PDF=1 -I./pdf -maix64 -DHAVE_RESTRICT=1 -DHAVE_LIMITS_H=1 -DHAVE_STRING_H=1 -DUSE_LIBICONV_GNU -DPNG_POWERPC_VSX_OPT=0 -fno-strict-aliasing -DHAVE_POPEN_PROTO=1    -DTESSERACT_IMAGEDATA_AS_PIX -DTESSERACT_DISABLE_DEBUG_FONTS -DGRAPHICS_DISABLED -UCLUSTER -DOCR_SHARED=0 -DLEPTONICA_INTERCEPT_ALLOC=1 -I./obj/ -o ./obj/tessocr.o -c -DTESSDATA="/usr/local/share/tessdata" ./base/tessocr.cpp

    When I remove the ./obj/tessocr.o and built it with this command it's a 64bit object.

    In my console output tessocr.o is used in this line once more

    ./obj/aux/echogs -e .dev -w- -l-obj ./obj/libocr_1_0 ./obj/tessocr.o

    It's completely strange.

    After I have build tessocr.o again, now it's really 64Bit, make results in more linkage errors:

    cp ./obj/gsromfs1_.c ./obj/gsromfs1.c
    gcc -maix64 -pthread -O2  -DHAVE_MKSTEMP -DHAVE_FILE64 -DHAVE_FSEEKO -DHAVE_MKSTEMP64 -DHAVE_FONTCONFIG  -DHAVE_SETLOCALE   -DHAVE_BSWAP32  -DHAVE_STRERROR -DHAVE_ISNAN -DHAVE_ISINF  -DHAVE_PREAD_PWRITE=1 -DGS_RECURSIVE_MUTEXATTR=PTHREAD_MUTEX_RECURSIVE -O2 -DNDEBUG -Wl,-brtl -D_LARGE_FILES  -Wall -Wstrict-prototypes -Wundef -Wmissing-declarations -Wmissing-prototypes -Wwrite-strings -fno-strict-aliasing -Werror=declaration-after-statement -fno-builtin -fno-common -Werror=return-type -Wno-unused-local-typedefs -DHAVE_STDINT_H=1 -DHAVE_DIRENT_H=1 -DHAVE_NDIR_H=0 -DHAVE_SYS_DIR_H=1 -DHAVE_SYS_NDIR_H=0 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_LIBDL=1 -DGX_COLOR_INDEX_TYPE="unsigned long long" -D__USE_UNIX98=1 -DHAVE_SNPRINTF -DGS_MEMPTR_ALIGNMENT=8  -DBUILD_PDF=1 -I./pdf  -DHAVE_RESTRICT=1 -DHAVE_LIMITS_H=1 -DHAVE_STRING_H=1 -DUSE_LIBICONV_GNU -DPNG_POWERPC_VSX_OPT=0 -fno-strict-aliasing -DHAVE_POPEN_PROTO=1    -I./obj -I./base -I./devices  -DWHICH_CMS="lcms2mt" -o ./obj/gsromfs1.o -c ./obj/gsromfs1.c
    ./obj/aux/echogs -w ./obj/ldt.tr -n - gcc -maix64 -pthread -O2 -Wl,-bbigtoc  -pthread   -o ./bin/gs
    ./obj/aux/echogs -a ./obj/ldt.tr -n -s ./obj/gsromfs1.o ./obj/gs.o -s
    cat ./obj/gsld.tr >> ./obj/ldt.tr
    ./obj/aux/echogs -a ./obj/ldt.tr -s -  -lm -ldl  -liconv  -L/opt/freeware/lib64 -L/opt/freeware/lib -lfontconfig -lfreetype    -lpthread -lm -lstdc++
    if [ x != x ]; then LD_RUN_PATH=; export LD_RUN_PATH; fi; \
    XCFLAGS= XINCLUDE= XLDFLAGS= XLIBDIRS= XLIBS= \
    PSI_FEATURE_DEVS= FEATURE_DEVS= DEVICE_DEVS= DEVICE_DEVS1= DEVICE_DEVS2= DEVICE_DEVS3= \
    DEVICE_DEVS4= DEVICE_DEVS5= DEVICE_DEVS6= DEVICE_DEVS7= DEVICE_DEVS8= \
    DEVICE_DEVS9= DEVICE_DEVS10= DEVICE_DEVS11= DEVICE_DEVS12= \
    DEVICE_DEVS13= DEVICE_DEVS14= DEVICE_DEVS15= DEVICE_DEVS16= \
    DEVICE_DEVS17= DEVICE_DEVS18= DEVICE_DEVS19= DEVICE_DEVS20= \
    DEVICE_DEVS_EXTRA= \
    /bin/sh <./obj/ldt.tr
    ld: 0711-317 ERROR: Undefined symbol: .pixCreateHeader
    ld: 0711-317 ERROR: Undefined symbol: .pixSetData
    ld: 0711-317 ERROR: Undefined symbol: .pixSetPadBits
    ld: 0711-317 ERROR: Undefined symbol: .pixSetXRes
    ld: 0711-317 ERROR: Undefined symbol: .pixSetYRes
    ld: 0711-317 ERROR: Undefined symbol: ._ZN9tesseract11TessBaseAPI8SetImageEP3Pix
    ld: 0711-317 ERROR: Undefined symbol: ._ZN9tesseract11TessBaseAPI11GetUTF8TextEv
    ld: 0711-317 ERROR: Undefined symbol: .pixDestroy
    ld: 0711-317 ERROR: Undefined symbol: ._ZN9tesseract11TessBaseAPI11SetVariableEPKcS2_
    ld: 0711-317 ERROR: Undefined symbol: ._ZN9tesseract11TessBaseAPI11GetHOCRTextEi
    ld: 0711-317 ERROR: Undefined symbol: .setPixMemoryManager
    ld: 0711-317 ERROR: Undefined symbol: ._ZN9tesseract11TessBaseAPIC1Ev
    ld: 0711-317 ERROR: Undefined symbol: ._ZN9tesseract11TessBaseAPI4InitEPKciS2_NS_13OcrEngineModeEPPciPKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaISC_EESG_bPFbS2_PS6_IcSB_EE
    ld: 0711-317 ERROR: Undefined symbol: ._ZN9tesseract11TessBaseAPI3EndEv
    ld: 0711-317 ERROR: Undefined symbol: ._ZN9tesseract11TessBaseAPI9RecognizeEPNS_10ETEXT_DESCE
    ld: 0711-317 ERROR: Undefined symbol: ._ZN9tesseract11TessBaseAPI11GetIteratorEv
    ld: 0711-317 ERROR: Undefined symbol: ._ZNK9tesseract12PageIterator5EmptyENS_17PageIteratorLevelE
    ld: 0711-317 ERROR: Undefined symbol: _ZTVN9tesseract14ResultIteratorE
    ld: 0711-317 ERROR: Undefined symbol: ._ZN9tesseract17LTRResultIteratorD2Ev
    ld: 0711-317 ERROR: Undefined symbol: ._ZNK9tesseract12PageIterator11BoundingBoxENS_17PageIteratorLevelEPiS2_S2_S2_
    ld: 0711-317 ERROR: Undefined symbol: ._ZNK9tesseract17LTRResultIterator18WordFontAttributesEPbS1_S1_S1_S1_S1_PiS2_
    ld: 0711-317 ERROR: Undefined symbol: .pixGetData
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    collect2: error: ld returned 8 exit status
    make: *** [base/unixlink.mak:172: bin/gs] Error 1

    It's onerous.



    ------------------------------
    Emanuel Reisinger
    ------------------------------



  • 7.  RE: gcc: invalid magic number

    Posted 7 days ago
    Edited by Ayappan P 7 days ago

    Oh.. It involves g++ also., 
    We need to set CXX also then to "g++ -maix64 -pthread -O2" . Clean it up and start afresh., 

    gmake distclean
    export CC="gcc -maix64 -pthread -O2" 
    export CXX="g++ -maix64 -pthread -O2" 
    export OBJECT_MODE=64
    ./configure 



    ------------------------------
    Ayappan P
    ------------------------------



  • 8.  RE: gcc: invalid magic number

    Posted 7 days ago

    Better.

    Last and maybe little linkage error.

    # make
    cp ./obj/gsromfs1_.c ./obj/gsromfs1.c
    gcc -maix64 -pthread -O2  -DHAVE_MKSTEMP -DHAVE_FILE64 -DHAVE_FSEEKO -DHAVE_MKSTEMP64 -DHAVE_FONTCONFIG  -DHAVE_SETLOCALE   -DHAVE_BSWAP32  -DHAVE_STRERROR -DHAVE_ISNAN -DHAVE_ISINF  -DHAVE_PREAD_PWRITE=1 -DGS_RECURSIVE_MUTEXATTR=PTHREAD_MUTEX_RECURSIVE -O2 -DNDEBUG -Wl,-brtl -D_LARGE_FILES  -Wall -Wstrict-prototypes -Wundef -Wmissing-declarations -Wmissing-prototypes -Wwrite-strings -fno-strict-aliasing -Werror=declaration-after-statement -fno-builtin -fno-common -Werror=return-type -Wno-unused-local-typedefs -DHAVE_STDINT_H=1 -DHAVE_DIRENT_H=1 -DHAVE_NDIR_H=0 -DHAVE_SYS_DIR_H=1 -DHAVE_SYS_NDIR_H=0 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_LIBDL=1 -DGX_COLOR_INDEX_TYPE="unsigned long long" -D__USE_UNIX98=1 -DHAVE_SNPRINTF -DGS_MEMPTR_ALIGNMENT=8  -DBUILD_PDF=1 -I./pdf  -DHAVE_RESTRICT=1 -DHAVE_LIMITS_H=1 -DHAVE_STRING_H=1 -DUSE_LIBICONV_GNU -DPNG_POWERPC_VSX_OPT=0 -fno-strict-aliasing -DHAVE_POPEN_PROTO=1    -I./obj -I./base -I./devices  -DWHICH_CMS="lcms2mt" -o ./obj/gsromfs1.o -c ./obj/gsromfs1.c
    ./obj/aux/echogs -w ./obj/ldt.tr -n - gcc -maix64 -pthread -O2 -Wl,-bbigtoc  -pthread   -o ./bin/gs
    ./obj/aux/echogs -a ./obj/ldt.tr -n -s ./obj/gsromfs1.o ./obj/gs.o -s
    cat ./obj/gsld.tr >> ./obj/ldt.tr
    ./obj/aux/echogs -a ./obj/ldt.tr -s -  -lm -ldl  -liconv  -L/opt/freeware/lib64 -L/opt/freeware/lib -lfontconfig -lfreetype    -lpthread -lm -lstdc++
    if [ x != x ]; then LD_RUN_PATH=; export LD_RUN_PATH; fi; \
    XCFLAGS= XINCLUDE= XLDFLAGS= XLIBDIRS= XLIBS= \
    PSI_FEATURE_DEVS= FEATURE_DEVS= DEVICE_DEVS= DEVICE_DEVS1= DEVICE_DEVS2= DEVICE_DEVS3= \
    DEVICE_DEVS4= DEVICE_DEVS5= DEVICE_DEVS6= DEVICE_DEVS7= DEVICE_DEVS8= \
    DEVICE_DEVS9= DEVICE_DEVS10= DEVICE_DEVS11= DEVICE_DEVS12= \
    DEVICE_DEVS13= DEVICE_DEVS14= DEVICE_DEVS15= DEVICE_DEVS16= \
    DEVICE_DEVS17= DEVICE_DEVS18= DEVICE_DEVS19= DEVICE_DEVS20= \
    DEVICE_DEVS_EXTRA= \
    /bin/sh <./obj/ldt.tr
    ld: 0711-317 ERROR: Undefined symbol: ._ZNSt6thread4joinEv
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    collect2: error: ld returned 8 exit status
    make: *** [base/unixlink.mak:172: bin/gs] Error 1



    ------------------------------
    Emanuel Reisinger
    ------------------------------



  • 9.  RE: gcc: invalid magic number

    Posted 7 days ago

    I am not sure how "-L/opt/freeware/lib64 -L/opt/freeware/lib" flags are added to it. If you can pass "-L/opt/freeware/lib/pthread" before this , that will resolve this problem. 



    ------------------------------
    Ayappan P
    ------------------------------



  • 10.  RE: gcc: invalid magic number

    Posted 7 days ago

    That worked.

    Conclusio:

    # gmake distclean

    export CC="gcc -maix64 -pthread -O2"

    export CXX="g++ -maix64 -pthread -O2"

    export OBJECT_MODE=64

    ./configure

    Add -L/opt/freeware/lib/pthread before the other library paths in line EXTRALIBS in Makefile:

    EXTRALIBS=$(XTRALIBS) -lm -ldl  -liconv -L/opt/freeware/lib/pthread -L/opt/freeware/lib64 -L/opt/freeware/lib -lfontconfig -lfreetype

    make -j32

    Thank you for your help Ayappan!



    ------------------------------
    Emanuel Reisinger
    ------------------------------