On Wed, Jul 10, 2013 at 3:11 AM, David Brown <da...@westcontrol.com> wrote:

> That's no problem - I was also harsh, because my sore spot was
> triggered.  I feel very strongly about being able to control exact
> release versions of toolchain releases (gcc, binutils, library), and
> that people should be able to easily get older and newer releases at any
> time, for any system, and know that matching release versions will
> produce the same object code on any host system.  The idea of putting an
> embedded compiler as something like /usr/bin/msp430-gcc (or "c:\Program
> Files\msp430-gcc\bin\msp430-gcc.exe") gives me the shivers - it makes
> things easier for a newbie or amateur, but is worse than useless for a
> serious or professional developer.
>
> I fully understand that as a fan of a minority-user OS, you have to
> fight for your right to use the software you want on the OS you want -
> and that the best way is aim for common *nix compatible source code.

One item sadly missing from this discussion so far is the role of the
package manager on Unix-based systems.  In fact, much of this whole
conversation has just made me cringe at various points.

In the Unix world, package management is handled by a dedicated
package manager.  Different Unix systems have different package
managers, each with different capabilities.  In completely open source
systems such as Linux, FreeBSD, and OpenBSD, the package managers are
responsible for managing every file on the system.  In commercial Unix
systems such as Solaris and OS/X (MacOS) user-selected open source
software packages are managed independently from system software.  In
the case of OS/X, there are no less than *three* package managers:
MacPorts, HomeBrew and Fink.  Every package management system has its
own advantages and disadvantages and very few users are aware of the
full capabilities of the package manager.  For example, most package
managers *do* allow for the concurrent installation of multiple
packages.

Furthermore, it is worth noting that package description files are
often comminuty-built.  For example, *anyone* can submit package
description files to Debian.  It is not the responsibility of the
software author (in this case, Peter Bigot) to submit package
description files or keep them updated.  Since Debian package files
are used for most Debian-derived systems (Ubuntu, Mint, etc.)
submitting a package description file to Debian is usually sufficient
for its eventual inclusion in the vast majority of systems.

Finally, it is worth noting that package managers exist in part to
take advantage of shared libraries.  However, RAM is ridiculously
cheap these days and even something as complex as GCC uses relatively
little total code space.  The penalty for building a statically-linked
binary that will run on just about every Linux system is in most cases
negligible.  Since both FreeBSD and OpenBSD have Linux compatibility
layers, this binary would run on those systems as well.  To this end,
I often recommend that new users simply install Energia because it is
known to include fully patched and stable versions of mspgcc and
mspdebug.

-p.

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Reply via email to