[petsc-dev] Petsc-dev compilation: error because of underscore.

Barry Smith bsmith at mcs.anl.gov
Wed Jan 27 13:45:58 CST 2010


On Jan 27, 2010, at 1:02 PM, Matthew Knepley wrote:

> So what, at the end of the day, do we want. I was fine with making  
> most things
> '-' and keeping '_' for types and uppercase crap. I know Barry hates  
> this. Do
> you hate it so bad that we should keep the switch?

    Of course we should keep the changes I made. Having a special case  
for types is totally unnecessary and adds complexity as a special  
case. Why add complexity, there is no gain except that we happened to  
do it that way before, which is not a good reason.

   Regarding void* -> void-p or void_p.   I think that Matt used  
void_p because that is common among c/c++ language processing people  
to get rid of the *. It could be void-pointer, voidpointer or voidp  
also. I don't care which is used.

    Barry


>
>   Matt
>
> On Wed, Jan 27, 2010 at 12:23 PM, Satish Balay <balay at mcs.anl.gov>  
> wrote:
> I guess I need to bite this one.  I think this backlash against folks
> confusing '-' with '_' is causing bad design [aka avoid '_' at all
> costs in configure]
>
> To me having 'void-p' and 'size_t' is inconsistant. And causes more
> confusion.
>
> Yeah - for configure options we have a notation of hiphen separated
> words. But those rules doesn't modify datatypes, package names.
>
> But for datatypes - we have underscore notation which is usually
> consistant - as most [but not all] c datatypes use '_' notation.
>
> so - converting 'long long' to 'long_long' is consistant to me.
>
> Wrt 'void_p' the correct datatype is 'void*' Since we didn't know how
> to represent it properly - we created a type void_p [similar to other
> c types with '_', but this type is used primarily in configure].
>
> So currently we are applying the autoconf 'space' rule to 'void p'
> type which is a bogus intermediate represantation. Hypinated types are
> more consistant to me.
>
> Satish
>
> On Tue, 26 Jan 2010, Barry Smith wrote:
>
> >
> > On Jan 26, 2010, at 6:41 PM, Satish Balay wrote:
> >
> > > The following change gets configure going.
> > >
> > > But I think Barry is looking at a different fix.. [if not - I  
> can push this]
> >
> >   DAMN STRAIGHT I AM looking for something different. I am looking  
> for the
> > correct fix, not some ugly crap hack and terrible inconsistent  
> user interface!
> >
> >   Here is the issue: When providing an option (not capitalized,  
> like the
> > autoconf style "environmental variables" AR_FLAGS), for example -- 
> with-batch,
> > how does one represent SPACES in the option name. We chose  
> (actually Matt
> > chose) to represent it with a -
> >
> >   Because of "how the python code happened to be written" this  
> rule was
> > violated with the options --with-sizeof_int --with-sizeof_long_long
> > --with-sizeof_void_p. It was not violated for a good user  
> interface reason but
> > simply because Matt happened to write the code that generated the  
> strings this
> > way.
> >
> >   When I discovered this inconsistent (for no reason) usage I  
> tried to fix it.
> > I fixed the _ after sizeof_ and partially fixed the _ in the other  
> blank but
> > missed its generation with the batch command. This is why things  
> broke with
> > with the --with-batch option.
> >
> >   I have tried to fixed this again by removing these invalid  
> "exceptions" from
> > petsc-dev and handling the " " correctly in BuildSystem; so  
> everyone please hg
> > update BOTH! Please let me know if something is still broken so I  
> can fix it.
> >
> >  Why do I make such a big deal about this? If the rule is ALWAYS  
> replace " "
> > in option strings with - this is easy to remember and use. If the  
> rule is
> > almost always replace " " with - except in a few special cases  
> that you just
> > have to happen to know, this is an insane rule.
> >
> >   Barry
> >
> > Notes: one could argue that to be consistent with the CAPS_OPTIONS  
> we should
> > always use _ even in the --with_xx options. This is inconsistent  
> with autoconf
> > that uses --with-xx so which consistency should we match? I find  
> the - more
> > attractive and dislike the CAPS_OPTIONS so am happy with the way  
> it is, but am
> > open to changing it.
> >
> > What about --with-sizeof-size_t, how come that has an underscore?  
> It has an
> > underscore because the type name has an underscore, it does not  
> come from
> > applying a replace " " with _.
> >
> >
> > >
> > > Satish
> > >
> > > -      for exc in ['superlu_dist', 'PETSC_ARCH', 'PETSC_DIR',
> > > 'CXX_CXXFLAGS', 'LD_SHARED', 'CC_LINKER_FLAGS',  
> 'CXX_LINKER_FLAGS',
> > > 'FC_LINKER_FLAGS', 'AR_FLAGS', 'C_VERSION', 'CXX_VERSION',
> > > 'FC_VERSION','qd_dd', 'void_p']:
> > > +      for exc in ['superlu_dist', 'PETSC_ARCH', 'PETSC_DIR',
> > > 'CXX_CXXFLAGS', 'LD_SHARED', 'CC_LINKER_FLAGS',  
> 'CXX_LINKER_FLAGS',
> > > 'FC_LINKER_FLAGS', 'AR_FLAGS', 'C_VERSION', 'CXX_VERSION',
> > > 'FC_VERSION','qd_dd',
> > > 'known-sizeof-void_p','known-sizeof-long_long','known-sizeof- 
> size_t']:
> > >
> > >
> > > On Tue, 26 Jan 2010, Matthew Knepley wrote:
> > >
> > > > Ah, will you make a list or should i?
> > > >
> > > > Matt
> > > >
> > > >
> > > > > All can run with '--with-batch=1' on their machines to  
> reproduce the
> > > > > problem. [and see if their fixes fix it or not]
> > > > >
> > > > > Satish
> > > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
>
>
>
>
> -- 
> What most experimenters take for granted before they begin their  
> experiments is infinitely more interesting than any results to which  
> their experiments lead.
> -- Norbert Wiener




More information about the petsc-dev mailing list