On Oct 3, 2008, at 1:59 AM, Aurélien Bouteiller wrote:

Hi Ralph,

1. No. Having visibility turned off without knowing it is the best way for us to commit bugs in the trunk without noticing, I mean before somebody else get the leg caught in the "not-compiling-trunk trap". I had more of my share of responsibility for that kind of problems in the past, that exactly rooted in visibility issues. I must say that it is painful enough that some compilers will just silently ignore visibility settings without adding the configure to the chain of guys who just do whatever they want regardless of the requested flags. If I can't have visibility, I want to know. Especially in debug mode.

Not sure you understood my proposal. I didn't say you wouldn't know that visibility was not supported - in fact, I suggested a large blaring warning. I just don't believe it should cause the entire build to abort. The fact is that compilers such as PGI simply don't support it, so whether we believe it is important or not, you are not going to get visibility warnings. Once you build, you'll never again see a warning of that fact, so it isn't clear to me what we accomplish by aborting a configure as opposed to blasting out a warning.



2. If Valgrind is not available and this feature requires valgrind, it is reasonable to disable it. Anyway, this would not lead to include silent bugs in the trunk if it gets disabled "silently". (are you sure though ? I used to enable this on my mac, where there is of course no valid valgrind installed, and it compiled just fine).

I verified this. The problem is that there is a valgrind installed - however, it doesn't meet the release criterion. In the case of the Mac, there is no valgrind at all - the configure script seems happy with that scenario.

I suspect we could consider this portion of the problem a "bug"?



Aurelien

Le 2 oct. 08 à 18:04, Ralph Castain a écrit :

Hi folks

I make heavy use of platform files to provide OMPI support for the three NNSA labs. This means supporting multiple compilers, several different hardware and software configs, debug vs optimized, etc.

Recently, I have encountered a problem that is making life difficult. The problem revolves around two configure options that apply to debug builds:

1. --enable-visibility. Frustrating as it may be, some compilers just don't support visibility - and others only support it for versions above a specific level. Currently, this option will abort the configure procedure if the compiler does not support visibility.

2. --enable-memchecker. This framework has a component that requires valgrind 3.2 or above. Unfortunately, if a valgrind meeting that criteria is not found, this option will also abort the configure procedure.

Is it truly -necessary- for these options to abort configure in these conditions? Would it be acceptable for:

* visibility just to print a big warning, surrounded by asterisks, that the selected compiler does not support visibility - but allow the build to continue?

* memchecker to also print a big warning, surrounded by asterisks, explaining the valgrind requirement and turn "off" the build of the memchecker/valgrind component - but allow the build to continue? It would seem to me that we would certainly want this for the future anyway as additional memchecker components are supported.

If this would be acceptable, I am happy to help with or implement the changes. It would be greatly appreciated.

Thanks
Ralph

_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel


_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel


Reply via email to