From: Marc Gonzalez-Sigler ([email protected])
Date: Fri Dec 10 2004 - 09:01:37 PST
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