CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Installation (http://www.cfd-online.com/Forums/openfoam-installation/)
-   -   Inconsistency in gcc component versions (http://www.cfd-online.com/Forums/openfoam-installation/117869-inconsistency-gcc-component-versions.html)

blaise May 16, 2013 10:58

Inconsistency in gcc component versions
 
Hi Foamers,

I am trying to install OF2.2.x from the git source on CentOS6.4 64bit (from march 12th) in a virtual box container on an openSuSe12.3 host, for testing purposes. CentOS6.4 comes with a slightly outdated version of gcc (4.4.7) which is not sufficient for OF2.2.x. (Beside this, the cmake version from the CentOS repo is also way too old for the included ParaView). Anyway, I made my way through the essentials of the ThirdParty stuff, but got stuck in the OpenFOAM compilation because of an error with a "triad::... " class definition (which was already comprehensively commented on by wyldckat (thank you for that!) in http://www.cfd-online.com/Forums/ope...edhat-el5.html). I concluded I had to use a more recent version of gcc. So I run the
makeGcc47
script in ThirdParty and had to download gcc and the well known additions with the following versions:
gmp-5.0.2
mpfr-3.0.1
mpc-0.9
gcc-4.7.1

I had to add the configure option --disable-multilib in makeGcc47, and gcc-4.7.1 compiled.

In OpenFOAM-2.2.x/etc/config/settings.sh I set
foamCompiler=ThirdParty
and
export WM_COMPILER=Gcc47

However, when I run Allwmake in OpenFOAM-2.2.x with this newly compiled gcc-4.7.1, the script stops because gcc version 4.7.2 (not 4.7.1 as in the ThirdParty section) is expected due to the default settings in etc/config/settings.sh. Along with this, it also expects

gmp_version=gmp-5.0.4
mpfr_version=mpfr-3.1.0
mpc_version=mpc-0.9

So the whole OF2.2.x package as drawn from the git repo needs 2 compilers?

Am I the only one who runs into this inconsistency? Why is it there?

As a solution I simply altered the version numbers in the respective section of settings.sh to the ones I have in ThirdParty, and everything seems to compile fine (still running).

I hope someone can shed some light on this, and perhaps my findings may help someone else too.

Best regards,

Pascal.

wyldckat May 16, 2013 17:19

Greetings Pascal,

You can choose the version when building Gcc 4.7 like this:
Code:

./makeGcc47 gcc-4.7.2
What probably happened was that the script was adapted from makeGcc46 soon after 4.7.1 was released, but later they changed in OpenFOAM's "settings.sh" to 4.7.2 for some reason. More specifically, probably to emphasise the version of Gcc 4.7 they've used for testing.

And since the makeGcc47 script allows for defining the version at runtime, they probably didn't bother changing the version number. And/or who made the package for the ThirdParty folder didn't have the latest scripts...

Either way, you can report this at OpenFOAM's bug tracker: http://www.openfoam.org/mantisbt/my_view_page.php ;)

edit: By the way, this isn't the first time this happens... if you check the other "makeGcc*" scripts and compare to "settings.sh", you'll see that the versions don't always match up...

Best regards,
Bruno

blaise May 17, 2013 08:09

Hello Bruno,

thank you for the quick response! That makes things clearer. I must admit, I didn't look closely enough at the option parsing capability of makeGcc47. If I understand this right, one could circumvent the problems by giving the following options according to what is set for the respective gcc version in settings.sh? E.g. for gcc-4.7.2:
./makeGcc47 gmp-5.0.4 mpfr-3.1.0 mpc-0.9 gcc-4.7.2

That should do the trick, right?

I will try to make my first bug report with this issue, as you recommended.

Regards,

Pascal.

wyldckat May 17, 2013 17:37

Hi Pascal,

Quote:

Originally Posted by blaise (Post 428244)
E.g. for gcc-4.7.2:
./makeGcc47 gmp-5.0.4 mpfr-3.1.0 mpc-0.9 gcc-4.7.2

That should do the trick, right?

Yes, that's the idea!

Best regards,
Bruno


All times are GMT -4. The time now is 13:58.