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

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


----- Original Message -----
> The real *right* solution is for IBM to make their system headers
> C99-compliant.  If there code is not strict ISO C, it's a bug.
>  Given how strict the IBM compilers are, I can only assume that they
> are not used to build CNK :-)

Okay, fair enough. :)

 -Hal

> 
> Jeff
> 
> ----- Original Message -----
> > From: "Hal Finkel" <hfinkel at anl.gov>
> > To: "Jeff Hammond" <jhammond at alcf.anl.gov>
> > Cc: llvm-bgq-discuss at lists.alcf.anl.gov, "Rob Latham"
> > <robl at mcs.anl.gov>
> > Sent: Tuesday, October 8, 2013 5:28:36 PM
> > Subject: Re: [Llvm-bgq-discuss] multiple definitions of various
> > builtin functions (isync mbar ppc_wait, etc)
> > 
> > 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
> > 
> 
> --
> 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
> 
> 

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


More information about the llvm-bgq-discuss mailing list