Cool; thanks for setting this straight. Doesn't change the outcome, though -- I updated the README (i.e., something like "update your Solaris Studio install!"). We have similar statements about other broken/buggy compilers.
On Feb 23, 2012, at 12:45 PM, Paul H. Hargrove wrote: > Just a Minor correction. Instead of: > > - The C++ part of the build (VT) is deep within the OMPI build; it works fine > with the C compiler all the way up until that point > > The correct facts are: > > - The C++ part of the VT build requires CXXFLAGS=-library=stlport4 when using > the SS12 compilers. > - Addition of that flag leads to the reported error when compiling > ompi/mpi/cxx/file.cc (NOT in VT) > > -Paul > > On 2/23/2012 7:23 AM, Jeffrey Squyres wrote: >> Terry and I talked about this on the phone. Supporting facts (some of these >> are repeated from Paul's prior posts): >> >> - This happens with the C++ SS 12.2 compiler on supported Linux platforms >> - The C++ part of the build (VT) is deep within the OMPI build; it works >> fine with the C compiler all the way up until that point >> - /usr/include/sys/types.h typedefs u_char, and is directly included in >> event.h >> - So SS 12.2/C++ is somehow mucking up<sys/types.h> to make that typedef >> not be available >> - The upgrade from 12.2 to 12.3 is a free download >> >> This feels like a SS 12.2 C++ compiler bug to me. And it's free to upgrade >> to a version that does not have this problem. Hence, this has become a >> README note. >> >> The road to v1.5.5 just got a little shorter. >> >> >> >> On Feb 22, 2012, at 3:16 PM, Paul H. Hargrove wrote: >> >>> I think I have the beginning of a fix for this issue. >>> >>> I had not even noticed earlier that the error in event.h is from the C++ >>> compiler, when compiling file.cxx in the c++ bindings. That makes the >>> vendor-specific addition of "-library=stlport4" to CXXFLAGS quite >>> relevant to the problem/solution. >>> >>> It eventually occurred to me that when VT's sub-configure told me to add >>> configure arguments, I could have used --with-contrib-vt-flags to pass >>> that ONLY to VT and perhaps NOT mess with whatever karma was providing >>> the definition of u_char. However, when I tried that I was disappointed >>> to find that the bit of configure logic that suggests/requires >>> CXXFLAGS=-library=stlport4 (from ompi/contrib/vt/configure.m4) runs >>> BEFORE the processing of --with-contrib-vt-flags. So, that was a dead end. >>> >>> So, the next idea was to look for a fix specific to sltport. I tried >>> adding near the top of opal/event/event.h (after the WINDOWS equivalent): >>>> #ifdef STLPORT >>>> typedef unsigned char u_char; >>>> #endif >>> That managed to clear up the original problem w/ SS12.2. >>> With SS12.3, things also built fine. >>> This suggests the typedef is not "conflicting" with whatever other defn >>> was present. >>> I think the "safety" of this needs to be examined more widely before >>> this can be adopted. >>> My concern is that some system could "typedef char u_char" if it has >>> char unsigned by default, leading to a conflict. >>> Now that would, I suppose, only be a problem if STLPORT is also defined. >>> So, maybe I am over thinking this. >>> >>> -Paul >>> >>> On 2/21/2012 11:10 PM, Paul H. Hargrove wrote: >>>> More notes: >>>> >>>> I've tested ompi-1.5.4 and it has the same problem. So, this is NOT a >>>> regression. >>>> >>>> Terry D. has observed that Ubuntu is NOT a supported platform for the >>>> Solaris Studio compilers. >>>> So, I've reproduced on a Scientific Linux 5.5 platform (Red Hat >>>> Enterprise Linux 5.5 clone, like CentOS) to be sure that was NOT the >>>> cause. >>>> >>>> When I configure for the SS12.x compilers, I've been passing >>>> CXXFLAGS="-library=stlport4" as the VT sub-configure has informed me I >>>> should, due to something wrong the the default STL. I tried dropping >>>> that from configure, and THE BUILD WAS SUCCESSFUL. >>>> >>>> So, one has 2 choices: >>>> + build w/ SS12.2 without VT >>>> + update to SS12.3 and have VT >>>> >>>> I don't think there is sufficient reason to delay 1.5.5 for this. >>>> >>>> -Paul >>>> >>>> On 2/21/2012 4:39 PM, Paul H. Hargrove wrote: >>>>> A few things to note: >>>>> >>>>> 1) This is NOT a problem w/ the SS12.3 compilers on the same machine. >>>>> So, one could say "upgrade your compiler" (a free download) and not >>>>> delay 1.5.5 for this issue. >>>>> >>>>> 2) This is ONLY a problem on Linux, and not on Solaris (both SS12.2 >>>>> and SS12.3 tested for x86, x86-64, Sparc/v9 and Sparc/v8plus) >>>>> >>>>> 3) Testing the trunk I DON'T see the problem with either SS12.2 or >>>>> SS12.3. >>>>> This is interesting, because it probably means that a u_char >>>>> definition is SOMEWHERE in the headers (because libevent *is* getting >>>>> built). >>>>> >>>>> Whatever else may be done, I think this should be fixed "properly" >>>>> (whatever that may equate to) for 1.6. >>>>> The way I see it now, it feels like OMPI is getting a definition of >>>>> u_char only "by accident". >>>>> >>>>> -Paul >>>>> >>>>> On 2/21/2012 12:16 PM, Paul H. Hargrove wrote: >>>>>> Building the v1.5 branch on Linux with the Solaris Studio 12.2 >>>>>> compilers I see the following failure: >>>>>>> "[srcdir]/opal/event/event.h", line 797: Error: Type name expected >>>>>>> instead of "u_char". >>>>>>> "[srcdir]/opal/event/event.h", line 798: Error: Type name expected >>>>>>> instead of "u_char". >>>>>>> "[srcdir]/opal/event/event.h", line 1184: Error: "," expected >>>>>>> instead of "*". >>>>>> Where line 1184 is a prototype containing "u_char *". >>>>>> >>>>>> As far as I can find, only several files below opal/event/ contain >>>>>> any use of "u_char". >>>>>> There is a typedef for u_char in hwloc, but no use that I could see. >>>>>> >>>>>> To the best of my knowledge u_char is NOT defined by any standard, >>>>>> and thus there is no particular header one can reliably find it in. >>>>>> The alternatives, of course are "unsigned char" or "uint8_t" >>>>>> (defined in stdint.h). >>>>>> >>>>>> I had a look at the trunk and VISUALLY is appears the same problem >>>>>> exists in: >>>>>> opal/event/event.h >>>>>> opal/mca/event/libevent2013/libevent/event.h >>>>>> However, my testing is currently confined to the v1.5 branch in the >>>>>> hopes of finally getting the next 1.5.5rc out the door. >>>>>> >>>>>> -Paul >>>>>> >>> -- >>> Paul H. Hargrove phhargr...@lbl.gov >>> Future Technologies Group >>> HPC Research Department Tel: +1-510-495-2352 >>> Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 >>> >>> _______________________________________________ >>> devel mailing list >>> de...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >>> >> > > -- > Paul H. Hargrove phhargr...@lbl.gov > Future Technologies Group > HPC Research Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/