[Llvm-bgq-discuss] multiple definitions of various builtin functions (isync mbar ppc_wait, etc)

Jeff Hammond jhammond at alcf.anl.gov
Tue Oct 8 17:23:29 CDT 2013


i remember this garbage.  i can't remember how i fixed it but i remember doing some stupid stuff like including that header that defines those functions in a single source file so only one object would have the symbols.

does LDFLAGS+="-Wl,--allow-multiple-definition" work as another solution?

jeff

----- Original Message -----
> From: "Rob Latham" <robl at mcs.anl.gov>
> To: llvm-bgq-discuss at lists.alcf.anl.gov
> Sent: Tuesday, October 8, 2013 2:55:48 PM
> Subject: [Llvm-bgq-discuss] multiple definitions of various builtin functions (isync mbar ppc_wait, etc)
> 
> I'm trying to build mpich with clang .  One does this on Blue Gene
> like this:
> 
> http://wiki.mpich.org/mpich/index.php/BGQ
> 
> /home/robl/src/mpich/configure
> CC=/home/projects/llvm/wbin/powerpc64-bgq-linux-clang \
> 	--host=powerpc64-bgq-linux --with-device=pamid \
> 	--with-file-system=bg+bglockless --enable-g=all \
> 	--prefix=/home/robl/soft/mpich-bgclang --disable-fortran
> 	--disable-cxx
> 
> Plenty of fun new warnings to sort through, but that's what I
> expected
> to find.
> 
> What I did not expect:   150,000 lines of stuff like this:
> 
> 
> src/mpi/attr/.libs/dup_fn.o: In function `isync':
> /home/robl/src/mpich/src/mpi/attr/dup_fn.c:(.opd+0x0): multiple
> definition of `isync'
> src/mpi/attr/.libs/attrutil.o:/home/robl/src/mpich/src/mpi/attr/attrutil.c:(.opd+0x0):
> first defined here
> src/mpi/attr/.libs/dup_fn.o: In function `ppc_msync':
> /home/robl/src/mpich/src/mpi/attr/dup_fn.c:(.opd+0x18): multiple
> definition of `ppc_msync'
> src/mpi/attr/.libs/attrutil.o:/home/robl/src/mpich/src/mpi/attr/attrutil.c:(.opd+0x18):
> first defined here
> src/mpi/attr/.libs/dup_fn.o: In function `mbar':
> /home/robl/src/mpich/src/mpi/attr/dup_fn.c:(.opd+0x30): multiple
> definition of `mbar'
> src/mpi/attr/.libs/attrutil.o:/home/robl/src/mpich/src/mpi/attr/attrutil.c:(.opd+0x30):
> first defined here
> src/mpi/attr/.libs/dup_fn.o: In function `ppc_wait':
> /home/robl/src/mpich/src/mpi/attr/dup_fn.c:(.opd+0x48): multiple
> definition of `ppc_wait'
> src/mpi/attr/.libs/attrutil.o:/home/robl/src/mpich/src/mpi/attr/attrutil.c:(.opd+0x48):
> first defined here
> 
> Any ideas?
> 
> ==rob
> 
> --
> Rob Latham
> Mathematics and Computer Science Division
> Argonne National Lab, IL USA
> _______________________________________________
> llvm-bgq-discuss mailing list
> llvm-bgq-discuss at lists.alcf.anl.gov
> https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss
> 

-- 
Jeff Hammond
Argonne Leadership Computing Facility
University of Chicago Computation Institute
jhammond at alcf.anl.gov / (630) 252-5381
http://www.linkedin.com/in/jeffhammond
https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond
ALCF docs: http://www.alcf.anl.gov/user-guides


More information about the llvm-bgq-discuss mailing list