Hi Ward, On 10/25/2015 01:32 PM, Ward Poelmans wrote: > On 25-10-15 12:30, Markus Geimer wrote: >> I would have expected that binutils are a dependency (rather than a >> builddep) of GCC. The reason is that with a hierarchical module >> naming scheme, it is perfectly valid to not expose the EB toolchains >> to users by not adding 'Core/toolchain' to the default modulepath. >> This means that when I (as a software developer) load GCC, I may end >> up with a broken installation that can't compile code optimized for >> my platform -- depending on the underlying system-provided binutils. >> This looks like a major flaw to me... > > Hi Markus, > > What happens when building the GNU toolchain is: > - Build binutils with system GCC > - Build GCC using the previous binutils and system GCC > - Build binutils with EB GCC > - Create GNU toolchain that loads both EB GCC and the previous binutils
That's understood -- and I believe that this is way too complicated. > This is the reason why binutils is a build dep for GCC, we only mean to > use that binutils once as it was built using the system GCC. So what? EB was using a system-provided binutils, which you can assume to be built with the system GCC, for many years. And I still don't see what's wrong with a self-compiled binutils using the same compiler. > The flaw is that you try to load the GCC module itself while you should > be loading the GNU module. But the naming is indeed confusing. Try to explain this to users. They know GCC as a compiler, and will load this module if they need a compiler. They (potentially) know GNU as a collection of UNIX-like tools, and will happily ignore the module. Also, not every setup requires full toolchains which load "the right thing" underneath. For example, on our Scalasca mini test cluster, we don't need any math libraries -- just compilers and MPIs. Thus, the toolchain concept doesn't gain you very much and it is IMHO reasonable to hide them. When I load the GCC module, I expect to get a working compiler -- and if it needs something else as a dependency to do its job, it should automatically load it. If it doesn't do that, the flaw is in the GCC module. Markus -- Dr. Markus Geimer Juelich Supercomputing Centre Institute for Advanced Simulation Forschungszentrum Juelich GmbH 52425 Juelich, Germany Phone: +49-2461-61-1773 Fax: +49-2461-61-6656 E-Mail: [email protected] Web: http://www.fz-juelich.de/jsc ------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------ Forschungszentrum Juelich GmbH 52425 Juelich Sitz der Gesellschaft: Juelich Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498 Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender), Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt, Prof. Dr. Sebastian M. Schmidt ------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------

