Can't build x86_64 version

  • Lothar Joeckel

    Lothar Joeckel - 2009-08-08

    Hi, i try to build the 64 bit version of GT.M on CentOS 4.7 x86_64.
    Using the following script, the compile aborts with a error in the assembler

    setenv TYPE pro
    setenv gtm_directory `pwd`
    setenv gtm_curpro /opt/gtm
    setenv gtm_exe $gtm_curpro
    setenv HOSTOS `uname -s`
    setenv gtm_tools `pwd`/sr_linux
    setenv gtm_inc `pwd`/sr_linux
    setenv gtm_icu_version `icu-config --version`
    setenv gtm_version_change 1
    setenv OBJECT_MODE 64
    source sr_unix/gtm_env.csh

    gmake -f sr_unix/ -I./sr_unix -I./sr_linux buildtypes=$TYPE gtm_ver=$gtm_directory

    /usr/local/src/gtm_504/sr_x86_64/aswp.s ----> /usr/local/src/gtm_504/pro/obj/aswp.o                       
    /usr/local/src/gtm_504/sr_x86_64/ Assembler messages:                                            
    /usr/local/src/gtm_504/sr_x86_64/ Error: bad expression                                       
    /usr/local/src/gtm_504/sr_x86_64/ Error: junk at end of line, first unrecognized character is `r'
    ... many more ...
    /usr/local/src/gtm_504/sr_x86_64/aswp.s:20: Error: too many memory references for `mov'
    /usr/local/src/gtm_504/sr_x86_64/aswp.s:22: Error: too many memory references for `xchg'
    gmake[1]: *** [aswp.o] Error 1
    rm add_inter.o cmerrors_ctl.c advancewindow.o actuallist.o alloc_reg.o alias_funcs.o act_in_gvt.o cmierrors_ctl.o cmierrors_ctl.c append_time_stamp.o asc2i.o cmerrors_ctl.o gdeerrors_ctl.o add_atom.o merrors_ctl.o gdeerrors_ctl.c asc_hex2i.o adjust_frames.o
    gmake[1]: Leaving directory `/usr/local/src/gtm_504/pro/obj'
    gmake: *** [pro_all] Error 2
    Thanks for your help in advance.

    Kind regards
    Lothar Joeckel

    • Amul

      Amul - 2009-08-18

      On CentOS 4.7, you can pick up a pre-built 32bit package from sourceforge or compile it from the sources on sourceforge.  If you want to run/compile 64bit GT.M, you need to step up to CentOS 5.2 (or higher).

      If you compile the 64bit GT.M on CentOS 5.2, you won't be able to run that on CentOS 4.7 because you won't have the matching library dependencies.


      • Lothar Joeckel

        Lothar Joeckel - 2009-08-21

        Hi Amul,
        thanks a lot for your answer. I've tried now with CentOS 5.3 and come a bit further.
        gmake now complains with another error:
        cp -f /gtm/src/gtm_V53004A/sr_port/ucase.mpt ../_UCASE.m
        cp -f /gtm/src/gtm_V53004A/sr_unix/utf2hex.mpt ../_UTF2HEX.m
        cd ..;gtm_dist=/gtm/src/gtm_V53004A/pro/;export gtm_dist;gtmgbldir=mcompiles;export gtmgbldir; LC_CTYPE=C; export LC_CTYPE; gtm_chset=M; export gtm_chset; ./mumps *.m ; tcsh -f ../sr_unix/mkutf8dir.csh
        if: Expression Syntax.
        gmake[1]: *** [mcompiles] Error 1
        rm op_fnstack1.o iomb_use.o symb_line.o gtmsource_get_opt.o mur_cre_file_extfmt.o gvcst_gblmod.o ch_cond_core.o put_mvar.o m_zgoto.o repl_sem.o cli_get_str_ele.o

        Any idea what can be wrong. I've installed CentOS freshly and made no updates except that i've installed ICU.

        Kind regards

    • Lothar Joeckel

      Lothar Joeckel - 2009-08-21

      I found the problem. The script 'sr_unix/check_unicode_support.csh' checks for the existence of the icuio library with  'if (-f $libpath/libicuio$icu_ext) then' , where $icu_ext is '.so'.
      The problem with this is that after installing the ICU packages, no such link exists. Instead the package installs links in /usr/lib/ with the version number. i.e. /usr/lib/  /usr/lib/
      The solution is to simply create a softlink with 'ln -s
      After that the make runs error-free.

      • Amul

        Amul - 2009-08-24

        I'm glad that the build worked for you.  Thanks for the information.  I'll try to make sure that gets handled when testing the source builds for the next release.



Log in to post a comment.