avr-chat
[Top][All Lists]
Advanced

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

Re: [avr-chat] Can't Install avr-gcc in FreeBSD


From: David Brown
Subject: Re: [avr-chat] Can't Install avr-gcc in FreeBSD
Date: Sat, 18 Aug 2007 21:39:10 +0200
User-agent: Thunderbird 2.0.0.6 (Windows/20070728)

Joerg Wunsch wrote:
David Brown <address@hidden> wrote:

But when you step outside of that, you enter the world of dependency
resolution, patching, ./configure, and make, instead of an
InstallShield wizard.

C'mon.  The day you start to run ./configure is the day when you would
have to give up on Windows, because nobody went there before, and
prepared you the InstallShield Wizard package at all.


I've done the dependency resolution, patch, ./configure and make dance on windows as well as Linux, both for combinations that are rarely used and for programs that are fairly common (such as when testing newer versions of programs than a distro's standard repositories). For many types of *nix programs, this is the standard way to install the software - and in many cases, it makes a lot of sense. It is also a vital part of free and open source software. But my point is that it can be a big hinder for people who are used to point-and-click installers, and are looking for something outside their distribution's standard packages.

Thus when trying to install avr-gcc on FreeBSD you have to fiddle
around with -DNOPORTDOCS flags in the "make install" line, while on
windows you just download the latest winavr release.

Sorry, this is just avr-libc breakage, caused by the direct use of
ISO8859-1 characters in avr-libc's doxygen source, and uncovered by
FreeBSD upgrading their doxygen so the default changed from
"pass-through" to "handle everything as UTF-8".  If it wasn't
discovered by the FreeBSD build of the avr-libc package, it would
probably have broken the next WinAVR release instead.  We simply need
to fix it, and I just need time for that.


I was trying to make a general point about one of the possible reasons why Windows is still a more popular choice for some times of work, even amongst those who have an otherwise free choice. avr-gcc is a special case - you and Eric (and others) put a great deal of effort into making it easy to install and use. In many cases, however, it's a different matter. The msp430 port of gcc, as an example, is a perfectly solid port of gcc (albeit somewhat out of date), but installation on Linux, last I checked, involves getting the gcc source tarballs, then patching based on the cvs versions of the msp430 patches. Given the choice of that or a windows installer, I know which is easier and faster!

Long story short, this is *not* the normal course of doing things in
the FreeBSD ports system.  The -DNOPORTDOCS option is not there to
work around bugs in the software, but to reduce the number of
prerequisite tools for the mortal user, since doxygen and its
documentation have a *lot* of prerequisites -- Eric Weddington can for
sure tell you, he hasn't been able to build the avr-libc docs himself
for the WinAVR distribution until very recently.  Before that, guess
what he's been relying to for his WinAVR bundled docs?  Those that
I've been creating on my FreeBSD machine...


There are certainly plenty of things that are easier to work with in *nix, although I haven't found doxygen to be a problem under windows (I haven't tried running the avrlibc source through it). The real pain is often cygwin and it's assorted dll conflicts - some programs are difficult to build under mingw/msys (although the avr-gcc patches for building gcc for mingw have come in handy for me when building other gcc targets for mingw).

Instead, normal FreeBSD usage would be that you proceed to your
closest mirror, tell your sysinstall to install packages from it, and
select "avr-gcc", "avr-libc" and maybe "avr-gdb".  Then, you install
binary packages the same way as you would with WinAVR, except you've
got finer control about what to include and what to leave out.


I haven't tried FreeBSD ports, but I gather it is similar to Gentoo's system - a package consists of a source code bundle, information on dependencies, a build "recipe", installation information, and the like. As long as someone has put together that information for your chosen system, installation is generally simple (occasional slips can occur in any system), and normally faster and easier than windows-style installation wizards. It is when the packages do not exist for your combination of distribution, chosen software, and required versions, that installation can be far more awkward with *nix.

mvh.,

David





reply via email to

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