[petsc-dev] Petsc-dev compilation: error because of underscore.
Satish Balay
balay at mcs.anl.gov
Wed Jan 27 12:23:44 CST 2010
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
> > > >
> > >
> > >
> > >
> > >
> >
>
More information about the petsc-dev
mailing list