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

Hal Finkel hfinkel at anl.gov
Tue Oct 8 17:28:36 CDT 2013


Jeff,

Rob said that using -fgnu89-inline fixes the problem, and given that, using -fgnu89-inline is the *right* solution. It means that the code is depending on the GNU, not the C99, semantics for inline (which is not unusual).

 -Hal

----- Original Message -----
> 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
> _______________________________________________
> llvm-bgq-discuss mailing list
> llvm-bgq-discuss at lists.alcf.anl.gov
> https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory


More information about the llvm-bgq-discuss mailing list