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
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Reply via email to