[petsc-dev] (no subject)

Barry Smith bsmith at mcs.anl.gov
Thu Jun 17 19:20:45 CDT 2010


On Jun 17, 2010, at 5:40 PM, Matthew Knepley wrote:

> We decided a long time ago that using the compiler as the linker was necessary to
> assure that compiler libraries were picked up. I was asked to remove those options
> to cut down on people screwing themselves. Do we need another linker?

   I can get around it but it really is a major limitation. Especially as we want to support crazy-assed systems which use weird-assed compile and link scripts built on top of other weird-assed compile and link scripts built on top of other weird-assed compile and link scripts built on top of the native compilers.

   Could you put back in support for 

##  You can provide the executable linkers directly; but DO NOT unless you really know what you are doing!
##   help.addArgument('Compilers', '-CC_LD=<prog>',           nargs.Arg(None, None, 'Specify the linker for C only'))
##    help.addArgument('Compilers', '-CXX_LD=<prog>',          nargs.Arg(None, None, 'Specify the linker for C++ only'))
##    help.addArgument('Compilers', '-FC_LD=<prog>',           nargs.Arg(None, None, 'Specify the linker for Fortran only'))
but not have them listed in help messages (that is keep these lines commented out, but make it so we can use the options?) Maybe put a note in the code as I have above. I don't want support for -LD alone.


   Barry


> 
> Our conceptual model is currently:
> 
>   compiler/linker which should generate things that run unless we are in batch mode
> 
>   archiver
> 
>   shared linker
> 
>   dynamic linker
> 
>   Matt
> 
> On Thu, Jun 17, 2010 at 5:08 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> 
>  Matt,
> 
>    It is a good thing you don't come to the new building at the lab, because I would throw you off the top balcony down to the stones. Then I would haul your carcass back up seven flights of stairs and throw you down a second time.
> 
>   BuildSystem seems to assume that the C compiler (and also c++ compiler) are ALWAYS also used as the C and C++ linker and there is no way to set a different linker and no way to even figure out how one can set a different linker. Why are the LD arguments commented out and never used?
> 
>   Barry
> 
> 
> 
>  help.addArgument('Compilers', '-CFLAGS=<string>',       nargs.Arg(None, '',   'Specify the C compiler options'))
>    help.addArgument('Compilers', '-CXX=<prog>',            nargs.Arg(None, None, 'Specify the C++ compiler'))
>    help.addArgument('Compilers', '-CXXFLAGS=<string>',     nargs.Arg(None, '',   'Specify the C++ compiler options'))
>    help.addArgument('Compilers', '-CXX_CXXFLAGS=<string>', nargs.Arg(None, '',   'Specify the C++ compiler-only options'))
>    help.addArgument('Compilers', '-CXXCPPFLAGS=<string>',  nargs.Arg(None, '',   'Specify the C++ preprocessor options'))
>    help.addArgument('Compilers', '-FC=<prog>',             nargs.Arg(None, None, 'Specify the Fortran compiler'))
>    help.addArgument('Compilers', '-FFLAGS=<string>',       nargs.Arg(None, '',   'Specify the Fortran compiler options'))
> 
> ##    help.addArgument('Compilers', '-LD=<prog>',              nargs.Arg(None, None, 'Specify the executable linker'))
> ##    help.addArgument('Compilers', '-CC_LD=<prog>',           nargs.Arg(None, None, 'Specify the linker for C only'))
> ##    help.addArgument('Compilers', '-CXX_LD=<prog>',          nargs.Arg(None, None, 'Specify the linker for C++ only'))
> ##    help.addArgument('Compilers', '-FC_LD=<prog>',           nargs.Arg(None, None, 'Specify the linker for Fortran only'))
>    help.addArgument('Compilers', '-LD_SHARED=<prog>',       nargs.Arg(None, None, 'Specify the shared linker'))
> 
> 
> 
> 
> -- 
> 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20100617/15a027ea/attachment.html>


More information about the petsc-dev mailing list