Building the translator with GCC 3.4.3

From: Marc Gonzalez-Sigler (marc.gonzalez-sigler@inria.fr)
Date: Fri Dec 10 2004 - 09:01:37 PST

  • Next message: Marc Gonzalez-Sigler: "Compiling 183.equake"
    Hello,
    
    Are the translator and the runtime supposed to be compiled with the
    same compiler? (I built the translator with GCC 3.2.2 and the runtime
    with GCC 3.4.3)
    
    In case my terminology is incorrect, by translator, I mean 
    berkeley_upc_translator-2.0.1.tar.gz, and by runtime, I mean 
    berkeley_upc-2.0.1.tar.gz.
    
    The translator seems to build correctly when I use GCC 3.2.2, but the 
    build fails when I use GCC 3.4.3. Since I've built GCC 3.4.3 myself from 
    source, it is highly likely that I've done something wrong which would 
    explain why the build process fails.
    
    On my system, GCC 3.2.2 links libstdc++.so.5 while GCC 3.4.3 links 
    libstdc++.so.6. Would that make any difference?
    
    I'm asking in case you've seen this error (or one similar) which would 
    help me explain the reason for the failure.
    
    (My system is Linux/i386 kernel version 2.4.22)
    
    /* libstdc++.so.6 is in a custom directory */
    $ export 
    LD_RUN_PATH=/local/gonzalez/gcc-3.4.3/lib/gcc/i686-pc-linux-gnu/3.4.3
    
    $ gmake CC=gcc-3.4.3 CXX=g++-3.4.3
    gmake -C open64/osprey1.0/targia32_ia64_nodebug all
    [...]
    /* The C parts seem to compile OK */
    gcc-3.4.3     -DSIZEOF_LONG=4 -DIN_GCC -DHAVE_CONFIG_H 
    -DTARGET_NAME=\"ia64-linux\" -DLONGLONG -DFRONT_END -DUSE_DECL_SRCPOS 
    -DFRONT_END_C -DCFE -DCIL -DDO_IL_LOWERING=0 -DNO_USR_INCLUDE=TRUE 
    -DAUTOMATIC_TEMPLATE_INSTANTIATION=0 
    -DINSTANTIATION_BY_IMPLICIT_INCLUSION=0 -DBACK_END_IS_C_GEN_BE=0 
    -DMONGOOSE_CIF -DSGI_RAG_BACKEND -DSGI_MONGOOSE -DCOMPILE_UPC 
    -DHANDLE_PRAGMA_WEAK -DMIPSEL -DNDEBUG  -DCHECKING=0 
    -D__MIPS_AND_IA64_ELF_H -I../../include -I../include -I../../common/com 
    -I../../common/com/ia64 -I../../common/util -I../../common/util/ia64 
    -I../../common/targ_info/access -I../../gccfe -I../../gccfe/gnu 
    -I../../gccfe/gnu/ia64 -I../../gccfe/gnu/config 
    -I../../gccfe/gnu/config/ia64 -I../../gnu_common/include -fPIC 
    -DTARG_IA64     -g -D_DEBUG -D_MIPSEB -D_LONGLONG -D_MIPS_SZINT=32 
    -D_MIPS_SZPTR=32 -D_MIPS_SZLONG=32  -Wimplicit-function-declaration 
    -D_LINUX_LINUX -c ../../gccfe/main.c -o main.o
    ../../gccfe/main.c: In function `main':
    ../../gccfe/main.c:63: warning: implicit declaration of function 
    `compile_file'
    ../../gccfe/main.c:65: warning: implicit declaration of function 
    `check_gnu_errors'
    ../../gccfe/main.c:52: warning: return type of 'main' is not `int'
    g++-3.4.3           -DSIZEOF_LONG=4 -DIN_GCC -DHAVE_CONFIG_H 
    -DTARGET_NAME=\"ia64-linux\" -DLONGLONG -DFRONT_END -DUSE_DECL_SRCPOS 
    -DFRONT_END_C -DCFE -DCIL -DDO_IL_LOWERING=0 -DNO_USR_INCLUDE=TRUE 
    -DAUTOMATIC_TEMPLATE_INSTANTIATION=0 
    -DINSTANTIATION_BY_IMPLICIT_INCLUSION=0 -DBACK_END_IS_C_GEN_BE=0 
    -DMONGOOSE_CIF -DSGI_RAG_BACKEND -DSGI_MONGOOSE -DCOMPILE_UPC 
    -DHANDLE_PRAGMA_WEAK -DMIPSEL -DNDEBUG  -DCHECKING=0 
    -D__MIPS_AND_IA64_ELF_H -I../../include -I../include -I../../common/com 
    -I../../common/com/ia64 -I../../common/util -I../../common/util/ia64 
    -I../../common/targ_info/access -I../../gccfe -I../../gccfe/gnu 
    -I../../gccfe/gnu/ia64 -I../../gccfe/gnu/config 
    -I../../gccfe/gnu/config/ia64 -I../../gnu_common/include -fPIC 
    -DTARG_IA64     -g -D_DEBUG  -D_MIPSEB -D_LONGLONG -D_MIPS_SZINT=32 
    -D_MIPS_SZPTR=32 -D_MIPS_SZLONG=32  -D_LINUX_LINUX  -Wno-deprecated -o 
    gfec  config.o const.o controls.o dwarf_DST.o dwarf_DST_dump.o 
    dwarf_DST_mem.o dwarf_DST_producer.o err_host.o glob.o ir_bcom.o 
    ir_bwrite.o ir_reader.o irbdata.o mtypes.o opcode.o opcode_core.o 
    pu_info.o strtab.o symtab.o symtab_verify.o ttype.o upc_symtab_utils.o 
    wn.o wn_map.o wn_pragmas.o wn_simp.o wn_util.o wutil.o xstats.o 
    config_targ.o config_elf_targ.o targ_const.o targ_sim.o rt_symtab.o 
    tree_symtab.o wfe_decl.o wfe_dst.o wfe_expr.o wfe_misc.o wfe_stmt.o 
    shared-alloc.o            config_host.o config_platform.o c_int_model.o 
    main.o               ../gccfe/gnu/libgfec.a ../libcomutil/libcomutil.a 
    ../libiberty/libiberty.a -lm ../libcmplrs/libcmplrs.a  -D_MIPSEB
    c_int_model.o(.text+0x0): In function `Max':
    ../../common/com/defs.h:410: multiple definition of `Max'
    config_host.o(.text+0x0):../../common/com/defs.h:410: first defined here
    c_int_model.o(.text+0x1f): In function `Min':
    ../../common/com/defs.h:414: multiple definition of `Min'
    config_host.o(.text+0x1f):../../common/com/defs.h:414: first defined here
    ../libcomutil/libcomutil.a(c_a_to_q.o)(.text+0x0): In function `Max':
    ../../common/com/defs.h:410: multiple definition of `Max'
    config_host.o(.text+0x0):../../common/com/defs.h:410: first defined here
    ../libcomutil/libcomutil.a(c_a_to_q.o)(.text+0x1f): In function `Min':
    ../../common/com/defs.h:414: multiple definition of `Min'
    config_host.o(.text+0x1f):../../common/com/defs.h:414: first defined here
    ../libcomutil/libcomutil.a(c_qtenscale.o)(.text+0x0): In function `Max':
    ../../common/com/defs.h:410: multiple definition of `Max'
    config_host.o(.text+0x0):../../common/com/defs.h:410: first defined here
    ../libcomutil/libcomutil.a(c_qtenscale.o)(.text+0x1f): In function `Min':
    ../../common/com/defs.h:414: multiple definition of `Min'
    config_host.o(.text+0x1f):../../common/com/defs.h:414: first defined here
    ../libcomutil/libcomutil.a(file_util.o)(.text+0x0): In function `Max':
    ../../common/com/defs.h:410: multiple definition of `Max'
    config_host.o(.text+0x0):../../common/com/defs.h:410: first defined here
    ../libcomutil/libcomutil.a(file_util.o)(.text+0x1f): In function `Min':
    ../../common/com/defs.h:414: multiple definition of `Min'
    config_host.o(.text+0x1f):../../common/com/defs.h:414: first defined here
    ../libcomutil/libcomutil.a(flags.o)(.text+0x0): In function `Max':
    ../../common/com/defs.h:410: multiple definition of `Max'
    config_host.o(.text+0x0):../../common/com/defs.h:410: first defined here
    ../libcomutil/libcomutil.a(flags.o)(.text+0x1f): In function `Min':
    ../../common/com/defs.h:414: multiple definition of `Min'
    config_host.o(.text+0x1f):../../common/com/defs.h:414: first defined here
    ../libcomutil/libcomutil.a(memory.o)(.text+0x0): In function `Max':
    ../../common/com/defs.h:410: multiple definition of `Max'
    config_host.o(.text+0x0):../../common/com/defs.h:410: first defined here
    ../libcomutil/libcomutil.a(memory.o)(.text+0x1f): In function `Min':
    ../../common/com/defs.h:414: multiple definition of `Min'
    config_host.o(.text+0x1f):../../common/com/defs.h:414: first defined here
    ../libcomutil/libcomutil.a(tracing.o)(.text+0x0): In function `Max':
    ../../common/com/defs.h:410: multiple definition of `Max'
    config_host.o(.text+0x0):../../common/com/defs.h:410: first defined here
    ../libcomutil/libcomutil.a(tracing.o)(.text+0x1f): In function `Min':
    ../../common/com/defs.h:414: multiple definition of `Min'
    config_host.o(.text+0x1f):../../common/com/defs.h:414: first defined here
    ../libcomutil/libcomutil.a(util.o)(.text+0x0): In function `Max':
    ../../common/com/defs.h:410: multiple definition of `Max'
    config_host.o(.text+0x0):../../common/com/defs.h:410: first defined here
    ../libcomutil/libcomutil.a(util.o)(.text+0x1f): In function `Min':
    ../../common/com/defs.h:414: multiple definition of `Min'
    config_host.o(.text+0x1f):../../common/com/defs.h:414: first defined here
    ../libcomutil/libcomutil.a(vstring.o)(.text+0x0): In function `Max':
    ../../common/com/defs.h:410: multiple definition of `Max'
    config_host.o(.text+0x0):../../common/com/defs.h:410: first defined here
    ../libcomutil/libcomutil.a(vstring.o)(.text+0x1f): In function `Min':
    ../../common/com/defs.h:414: multiple definition of `Min'
    config_host.o(.text+0x1f):../../common/com/defs.h:414: first defined here
    ../libcomutil/libcomutil.a(c_qwmultu.o)(.text+0x0): In function `Max':
    ../../common/com/defs.h:410: multiple definition of `Max'
    config_host.o(.text+0x0):../../common/com/defs.h:410: first defined here
    ../libcomutil/libcomutil.a(c_qwmultu.o)(.text+0x1f): In function `Min':
    ../../common/com/defs.h:414: multiple definition of `Min'
    config_host.o(.text+0x1f):../../common/com/defs.h:414: first defined here
    collect2: ld returned 1 exit status
    gmake[2]: *** [gfec] Error 1
    gmake[2]: Leaving directory 
    `/local/gonzalez/upc/berkeley_upc_translator-2.0.1/open64/osprey1.0/targia32_ia64_nodebug/gccfe'
    gmake[1]: *** [all] Error 1
    gmake[1]: Leaving directory 
    `/local/gonzalez/upc/berkeley_upc_translator-2.0.1/open64/osprey1.0/targia32_ia64_nodebug'
    gmake: *** [all] Error 2
    
    I definitely need to spend some time next week studying the upcc driver
    in order to understand how you achieved portability.
    
    In any case, thank you very much for your help so far!
    
    -- 
    Regards, Marc
    

  • Next message: Marc Gonzalez-Sigler: "Compiling 183.equake"