[Trilinos-Users] gcc 4.7 compile error for zoltan package

Bartlett, Roscoe A. bartlettra at ornl.gov
Mon Aug 27 15:22:16 MDT 2012


Andre,

There is no -ansi flag in your verbose compiler output show below which shows:

    /usr/lib64/openmpi/bin/mpicc  -Dzoltan_EXPORTS -O3 -fPIC -I...

Otherwise, it would seem that the Trilinos TriBITS/CMake build system is doing exactly what it should be doing.  After all, you passed in BUILD_SHARED_LIBS:BOOL=ON so you should expect to see -fPIC on the commandline to the compiler.  Therefore, it would seem that this is an -fPIC issue, not an -ansi issue.  According to Trilinos Bug 5680, it seems they are in the process of fixing this.  I suspect that someone patch the 10.12 release branch after this is addressed in the 'master' branch.

Sorry for all the spam ...

-Ross


> -----Original Message-----
> From: Andre Massing [mailto:massing at simula.no]
> Sent: Monday, August 27, 2012 3:48 PM
> To: Bartlett, Roscoe A.
> Cc: 'Andrey Prokopenko'; trilinos-users at software.sandia.gov
> Subject: Re: [Trilinos-Users] gcc 4.7 compile error for zoltan package
>
> Hi!
>
> On Mon, 2012-08-27 at 11:44 -0400, Bartlett, Roscoe A. wrote:
> > Andre,
> >
> > The flag -ansi should not be added to the compile line in a release of Trilinos
> (only in the development mode which should not be the default).
> > Can you cd into the directory and type 'make VERBOSE=1 <the target>' and
> see what compile options it is showing?
>
> The build process is driven by an external script (dorsal, a script to install
> FEniCS) and the output is a bit long,
> but I could  not spot any suspicious flags (no idea what the zoltan_EXPORTS is
> all about)
> I added some linebreaks to make the output more readable:
>
> [ 27%] Building C object
> packages/zoltan/src/CMakeFiles/zoltan.dir/zz/murmur3.c.o
> cd /home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/dorsal_build_dir/packages/zoltan/src
> && /usr/lib64/openmpi/bin/mpicc  -Dzoltan_EXPORTS -O3 -fPIC
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/dorsal_build_dir
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/dorsal_build_dir/packages/zoltan/src
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/include
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/all
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/coloring
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/graph
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/ha
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/hier
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/hsfc
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/lb
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/matrix
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/order
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/par
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/params
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/tpls
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/phg
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/rcb
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/reftree
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/simple
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/timer
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/Utilities/Communication
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/Utilities/DDirectory
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/Utilities/Timer
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/Utilities/shared
> -I/home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/zz
> -o CMakeFiles/zoltan.dir/zz/murmur3.c.o
> -c /home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/zz/murmur3.c
>
> gives the error message:
>
> /home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:58:41: warning:
> always_inline function might not be inlinable [-Wattributes]
> /home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:45:41: warning:
> always_inline function might not be inlinable [-Wattributes]
> /home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/zz/murmur3.c: In function
> ‘MurmurHash3_x86_32’:
> /home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:45:41: error: inlining failed
> in call to always_inline ‘fmix32’: function body can be overwritten at link time
> /home/andre/Work/software/FEniCS-dependencies/tmp/src/trilinos-
> 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:121:6: error: called from
> here
>
>
> > What is your configure line?  What Trilinos release version is this?
>
> This was the latest trilinos release 10.12.2.
> cmake is executed with the following options
>
> -D CMAKE_CXX_COMPILER:FILEPATH=mpicxx
> -D CMAKE_C_COMPILER:FILEPATH=mpicc
> -D Trilinos_INSTALL_INCLUDE_DIR:PATH=include/trilinos
> -D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=ON
> -D Trilinos_ENABLE_PyTrilinos:BOOL=ON
> -D Trilinos_ENABLE_Fortran:BOOL=OFF
> -D Trilinos_ENABLE_TESTS:BOOL=OFF
> -D Trilinos_ENABLE_EXAMPLES:BOOL=OFF
> -D CMAKE_BUILD_TYPE:STRING=Release
> -D BUILD_SHARED_LIBS:BOOL=ON
> -D TPL_ENABLE_MPI:BOOL=ON
> -D TPL_ENABLE_UMFPACK:BOOL=ON
>
> As I said, gcc version is 4.7 on a fedora 17 system.
> Thanks for helping with this issue!
>
> Best,
> --
> Andre
>
> >
> > Otherwise, I believe that Trilinos does not assume the C99 standard, only
> the C89/C90 standard, so such code would have to be changed or be
> explicitly dependent on a C99 enable flag or something.  Trilinos needs a
> more clear policy on assumed C standards and a clear way to allow some
> code to require (or be conditionally enabled) for the C99 standard.
> >
> > -Ross
> >
> > Dr. Roscoe A. Bartlett, PhD
> > Oak Ridge National Laboratories
> > Trilinos Software Engineering Technologies and Integration Lead
> > CASL Virtual Reactor Software Engineering Lead
> >
> >
> >
> > > -----Original Message-----
> > > From: trilinos-users-bounces at software.sandia.gov [mailto:trilinos-users-
> > > bounces at software.sandia.gov] On Behalf Of Andrey Prokopenko
> > > Sent: Sunday, August 26, 2012 9:08 PM
> > > To: Andre Massing
> > > Cc: trilinos-users at software.sandia.gov
> > > Subject: Re: [Trilinos-Users] gcc 4.7 compile error for zoltan package
> > >
> > > Hi,
> > >
> > >  I've also bumped into it, and also cannot access bugzilla. Some search
> > >  showed that one of the problems was that you actually need to add
> > >  inline keyword like
> > >     inline __attribute__((always_inline))
> > >
> > >  But it seems that you cannot do that because you need at least C99 for
> > >  inline keyword, but some configs in CMake or Makefile.am cause the
> > >  code to be compiled -ansi, or -c90. The code in question seems to be
> > >  in public domain, but I'm not sure about how easy is to modify it and
> > >  what are the issues related to copyright. The easiest thing would be
> > >  to require gcc < 4.7, or removed -ansi for compilation.
> > >
> > > On Sun, Aug 26, 2012 at 4:57 PM, Andre Massing <massing at simula.no>
> > > wrote:
> > > > -----BEGIN PGP SIGNED MESSAGE-----
> > > > Hash: SHA1
> > > >
> > > > Hi!
> > > >
> > > > On 08/27/2012 12:41 AM, Nico Schlömer wrote:
> > > >> Hi Andre,
> > > >>
> > > >> are you compiling shared libraries? I bumped into the same issue
> > > >> this weekend with GCC 4.7.
> > > >
> > > > Yes, that happened when I compiled the shared libraries.
> > > >
> > > >> The bug is registered at
> > > >> https://software.sandia.gov/bugzilla/show_bug.cgi?id=5680 where I
> > > >> also submitted a patch, so I suppose it won't take long until this
> > > >> is fixed.
> > > >
> > > > Many thanks for the pointer to the bug report! Unfortunately I cannot
> > > > read it since I haven't a bugzilla account yet, but I will try to ask
> > > > for one. Good to know that the problem has been reported already.
> > > >
> > > > Best,
> > > > Andre
> > > >
> > > >>
> > > >> --Nico
> > > >>
> > > >>
> > > >> On Mon, Aug 27, 2012 at 12:25 AM, Andre Massing
> <massing at simula.no>
> > > >> wrote:
> > > >>> Hi!
> > > >>>
> > > >>> I just tried to compile some of the newest trilinos packages and
> > > >>> got the following compile error when zoltan was compiled on a
> > > >>> Fedora 17 system using the gcc 4.7 compiler (after defining the
> > > >>> FORCE_INLINE macro in the zoltan source, the package compiles
> > > >>> fine, but I unsure what a proper fix should look like):
> > > >>>
> > > >>> [ 27%] Building C object
> > > >>> packages/zoltan/src/CMakeFiles/zoltan.dir/zz/murmur3.c.o
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:58:41:
> > > >>>
> > > >>>
> > > > warning: always_inline function might not be inlinable [-Wattributes]
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:45:41:
> > > >>>
> > > >>>
> > > > warning: always_inline function might not be inlinable [-Wattributes]
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:
> > > >>>
> > > >>>
> > > > In function ?MurmurHash3_x86_32?:
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:45:41:
> > > >>>
> > > >>>
> > > > error: inlining failed in call to always_inline ?fmix32?: function
> > > >>> body can be overwritten at link time
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:121:6:
> > > >>>
> > > >>>
> > > > error: called from here
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:
> > > >>>
> > > >>>
> > > > In function ?MurmurHash3_x86_128?:
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:58:41:
> > > >>>
> > > >>>
> > > > error: inlining failed in call to always_inline ?fmix64?: function
> > > >>> body can be overwritten at link time
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:218:14:
> > > >>>
> > > >>>
> > > > error: called from here
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:58:41:
> > > >>>
> > > >>>
> > > > error: inlining failed in call to always_inline ?fmix64?: function
> > > >>> body can be overwritten at link time
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:219:14:
> > > >>>
> > > >>>
> > > > error: called from here
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:58:41:
> > > >>>
> > > >>>
> > > > error: inlining failed in call to always_inline ?fmix64?: function
> > > >>> body can be overwritten at link time
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:220:14:
> > > >>>
> > > >>>
> > > > error: called from here
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:58:41:
> > > >>>
> > > >>>
> > > > error: inlining failed in call to always_inline ?fmix64?: function
> > > >>> body can be overwritten at link time
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:221:14:
> > > >>>
> > > >>>
> > > > error: called from here
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:
> > > >>>
> > > >>>
> > > > In function ?MurmurHash3_x64_128?:
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:58:41:
> > > >>>
> > > >>>
> > > > error: inlining failed in call to always_inline ?fmix64?: function
> > > >>> body can be overwritten at link time
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:304:6:
> > > >>>
> > > >>>
> > > > error: called from here
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:58:41:
> > > >>>
> > > >>>
> > > > error: inlining failed in call to always_inline ?fmix64?: function
> > > >>> body can be overwritten at link time
> > > >>> /home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/packages/zoltan/src/zz/murmur3.c:305:6:
> > > >>>
> > > >>>
> > > > error: called from here
> > > >>> make[2]: ***
> > > >>> [packages/zoltan/src/CMakeFiles/zoltan.dir/zz/murmur3.c.o] Error
> > > >>> 1 make[2]: Leaving directory
> > > >>> `/home/andre/Work/software/FEniCS-
> dependencies/tmp/src/trilinos-
> > > 10.12.2-Source/dorsal_build_dir'
> > > >>>
> > > >>>
> > > > make[1]: *** [packages/zoltan/src/CMakeFiles/zoltan.dir/all] Error 2
> > > >>>
> > > >>>
> > > >>> _______________________________________________
> Trilinos-
> > > Users
> > > >>> mailing list Trilinos-Users at software.sandia.gov
> > > >>> http://software.sandia.gov/mailman/listinfo/trilinos-users
> > > >>>
> > > > -----BEGIN PGP SIGNATURE-----
> > > > Version: GnuPG v1.4.12 (GNU/Linux)
> > > > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
> > > >
> > > >
> > >
> iQEcBAEBAgAGBQJQOqnlAAoJEA79ggnbq9dmPukH/2EcEIYgymQIhrtT7TEC75
> > > mI
> > > >
> > >
> nfgXEMBQXFtrE9FnAuQjbolRub451eohg2+xTI12wkF60jgNUoxl3RhDxMrrjlrS
> > > >
> > >
> 9EYy1/kxv3m4tP2Mm8PV0WCPwE5ac3XX/qfJ6+poVGqIJy+8xugxjMCnfrfxv7
> > > Lq
> > > >
> > >
> UbK3ryReHy/CZ2zLIReG+qcEVVEpv9HOeNP8Oemj050/2SdzU2sCUvHrWBQ7j
> > > P/3
> > > >
> > >
> nK+P4GQMKdgxz5/XljseqldPI7wqE3O/QE5hyG91UuD4fsTSsfh7fOEtPITjtfGP
> > > >
> > >
> 07M31xLtcLChI6w3ZdArV/+3HvPJAz0Yse7zVnvkFd3U0wbMQB/Sl9g7S8ag4ro
> > > =
> > > > =lBif
> > > > -----END PGP SIGNATURE-----
> > > >
> > > >
> > > > _______________________________________________
> > > > Trilinos-Users mailing list
> > > > Trilinos-Users at software.sandia.gov
> > > > http://software.sandia.gov/mailman/listinfo/trilinos-users
> > > >
> > >
> > >
> > > _______________________________________________
> > > Trilinos-Users mailing list
> > > Trilinos-Users at software.sandia.gov
> > > http://software.sandia.gov/mailman/listinfo/trilinos-users
> >
>




More information about the Trilinos-Users mailing list