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.