[Trilinos-Users] [EXTERNAL] Re: Compiling with GCC 4.8.0

Anton Popov popov at uni-mainz.de
Wed Apr 10 04:02:06 MDT 2013


Dave,
check out gcc48 port from macports, but it's still beta.
I prefer gcc47 (version 4.7.2), it works well with Trilinos.
Anton

On 4/10/13 7:02 AM, Littlewood, David John wrote:
> Folks,
>
> Thanks for the feedback!
>
> I am using consistent 4.8.0 g++/gfortran compilers.  I built the 4.8.0 compilers from scratch, as opposed to using anything supplied by Apple.  Getting a consistent gfortran compiler was one of the motivations for this.
>
> I've been building up a test machine for the Peridigm project.  I started with a fresh install of OS X 10.7.5 (Lion) with Xcode 4.2 and built the following:
>
> gmp-5.0.5
> mpfr-3.1.1
> mpc-1.0.1
> gcc-4.8.0
> openmpi-1.6.4
> boost_1_53_0
> netcdf-4.2.1.1
> hdf5-1.8.10-patch1
> cmake-2.8.9 (downloaded binary)
> trilinos-11.0.3
>
> The first four items were built with the Xcode-supplied gcc 4.2.1.  Once the 4.8.0 compilers were built, I used them for everything else.  The compiler error listed below appeared when building Trilinos, the other items built without any issues.
>
> I have no specific need for 4.8.0, I just decided to go with "latest and greatest" across the board.  I went back and re-built everything with gcc 4.7.2 and did not encounter any problems.  So there's some good news there, the process I used to build up the test machine seems okay.  And the test machine is up and running, which was the goal.
>
> It would still be nice to figure out what went wrong with gcc 4.8.0.  I did a brief web search regarding Brent's comment, and it does look like there might be a compiler bug biting me here.  On the other hand, Andrey has been successful with gcc 4.8.0.  Perhaps it's a compiler bug that only shows up under certain system configurations?  Seems very possible.
>
> If anyone wants more details on exactly what I did to hit the 4.8.0 snag, I can send you the notes I jotted down while building up the test machine.  If not, I'm content to use gcc 4.7.2.  Hopefully the issues I ran into with gcc 4.8.0 won't bite anyone else.
>
> Dave
>
>
> ________________________________________
> From: Perschbacher, Brent M
> Sent: Tuesday, April 09, 2013 12:38 PM
> To: Heroux, Mike; Prokopenko, Andrey (-EXP); Littlewood, David John
> Cc: trilinos-users at software.sandia.gov
> Subject: Re: [EXTERNAL] Re: [Trilinos-Users] Compiling with GCC 4.8.0
>
> Looks like this might be an actual bug in the compiler.
> http://comments.gmane.org/gmane.comp.gcc.bugs/367062 details something
> related. The last comment does suggest that this is no longer happening,
> but it was made a few days ago so I don't know if a released 4.8.x would
> have the fix yet.
>
> Brent
>
> On 4/9/13 12:06 PM, "Heroux, Mike" <MHeroux at csbsju.edu> wrote:
>
>> By default OpenMP is off.  This shouldn't be the issue.
>>
>> Are you sure that you are using the same 4.8.0 g++/gfortran version?  Just
>> checking the easy stuff first.
>>
>>
>> On 4/9/13 12:45 PM, "Andrey Prokopenko" <aprokop at sandia.gov> wrote:
>>
>>> Dave,
>>>
>>> I have been compiling with gcc 4.8.0 for quite a while, and don't see
>>> such errors. But I disable OpenMP explicitly in the configure file (-D
>>> Trilinos_ENABLE_OpenMP=OFF).
>>>
>>> -Andrey
>>>
>>> On Tue 09 Apr 2013 11:29:39 AM MDT, Littlewood, David John wrote:
>>>> Greetings,
>>>>
>>>> Has anyone had luck building Trilinos with GCC 4.8.0?
>>>>
>>>> I just gave it a shot on a Mac running OS X 10.7.5 and got the
>>>> following error:
>>>>
>>>>
>>>> /Users/djlittl/Software/trilinos/trilinos-11.0.3/packages/epetra/src/Epe
>>>> t
>>>> ra_MultiVector.cpp:
>>>> In member function Œint Epetra_MultiVector::Abs(const
>>>> Epetra_MultiVector&)¹:
>>>>
>>>> /Users/djlittl/Software/trilinos/trilinos-11.0.3/packages/epetra/src/Epe
>>>> t
>>>> ra_MultiVector.cpp:1166:63:
>>>> internal compiler error: in prepare_cmp_insn, at optabs.c:4190
>>>>       for (int j=0; j < myLength; j++) to[j] = std::abs(from[j]);
>>>>                                                                 ^
>>>>
>>>>
>>>> /Users/djlittl/Software/trilinos/trilinos-11.0.3/packages/epetra/src/Epe
>>>> t
>>>> ra_MultiVector.cpp:1166:63:
>>>> internal compiler error: Abort trap: 6
>>>> g++: internal compiler error: Abort trap: 6 (program cc1plus)
>>>>
>>>> The offending code in Epetra_MultiVector.cpp looks pretty
>>>> straightforward, just a simple for loop.
>>>>
>>>> It is preceded by
>>>>
>>>> #ifdef EPETRA_HAVE_OMP
>>>> #pragma omp parallel for default(none)
>>>> #endif
>>>>
>>>> But I'm assuming that by default, EPETRA_HAVE_OMP is set to false, so
>>>> the omp code wouldn't have any effect.
>>>>
>>>> I'm guessing my best course of action is to abandon GCC 4.8.0 in favor
>>>> of 4.7.2.  I have successfully built with 4.7.2 on a different machine.
>>>>
>>>> Thoughts?
>>>>
>>>> Thanks,
>>>> Dave
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>
>> _______________________________________________
>> 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