grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Report: compil error on OSX for target=i386


From: Michal Suchanek
Subject: Re: Report: compil error on OSX for target=i386
Date: Sat, 5 Sep 2009 15:17:58 +0200

2009/9/4 Robert Millan <address@hidden>:
> On Thu, Sep 03, 2009 at 11:33:51PM +0200, Vladimir 'phcoder' Serbinenko wrote:
>> > It's much easier to make official GCC a build requirement.  People hacking
>> > on GRUB source, or distributors (e.g. Fink) should have no problem with a
>> > dependency on GCC.
>> >
>> It won't do a lot of difference for people really wanting to compile
>> GRUB. However it makes entry barrier higher.
>
> I can't participate in a debate about an entry barrier which hasn't been
> explained.  Installing GCC is a requirement, among others (autoconf, ruby,
> bison...) which are no problem at all on other platforms.
>
> Is there any reason why having build requirements is a problem on MacOS?  If
> there is, how come this is not a problem for e.g. autoconf?
>
> Does installing GCC on MacOS require significant expertise that someone who
> wants to compile GRUB from source wouldn't be able to deal with?

Hello,

I think that the expertise required to build gcc on a somewhat exotic
platform (OS X) is more than what is required to build a small package
(grub).

Typically the compilation of another C compiler is considered somewhat
advanced while building a package is the common way of installing
opensource software.

I have built gcc a few times as a last resort when the compiler
variant I wanted was not available prepackaged for my platform and I
must say that it is not too difficult when building only well tested
features for well tested architecture combination (C/C++ compiler i386
GNU/Linux -> i386 GNU/Linux).

Still the time and space required to build GCC is much larger than
that required for building grub. The OS X platform is somewhat exotic
because it uses different object format and non-gnu linker so it is
more likely there will be issues with building GCC. Since the time I
tried GCC is no longer self-containded but relies on additional
libraries that have to be installed separately so the user has to
compile several interdependent packages from source which certainly
requires more planning than just building a single package.

As for autoconf it is probably not required for building releases with
pre-generated scripts and may be already present on OS X.

The question here is if grub is supposed to be compatible with GNU
systems only (in which case we may as well throw it away because there
is no GNU system yet) or if it should follow the lead of software like
emacs or gcc and try to be compatible with as many different systems
as possible (within reason).

In the later case using an exotic feature like nested functions might
pose a problem on other systems as well and should be probably avoided
to improve portability in general.


Thanks

Michal




reply via email to

[Prev in Thread] Current Thread [Next in Thread]