GertWollny

open64 and the version of gcc

Discussion created by GertWollny on Oct 14, 2009
Latest reply on Oct 15, 2009 by GertWollny
open64 should take care to use the gcc/g++ version based on names like "g++-4.2"

Firstly, thanks for providing the compiler, I'm trying it out right now. Now about the gcc versions:

On Ubuntu and other Linux distributions, various versions of g++ can be installed. Usually, the standard compiler version of the distribution is set as a link of /usr/bin/g++ to the file /usr/bin/g++-X.X.

Therefore on Ubuntu 9.04 open64 will use the frontend of g++-4.3 resulting in compile errors. A workaround is to reset the link of /usr/bin/g++ to point to the parallel installed g++-4.2, but the next time the package of g++-4.3 is updated this manual link will be clobbered.(Likewise, when the distribution is updated.)

If would be nice, if open64 could be persuaded to look for the full name of the g++ executable including the version number instead. 

As I see from the code in osprey/driver/   run.c (my_execv), and in lang_defs.c it might be possible to add the version number from an environment variable (like OPEN64_GCC_FRONTEND_VERSION). If it is set, then  lang_defs.c (get_full_phase_name) would return the executable with the version number, and of course one would have to change the check in  my_execv.

I might come up with a patch later this week if you think is idea could be pursed and if someone with a bit more knowledge of the code can tell me that these are the right spots to change the code. 

Best

Gert

Outcomes