[wplug] Compiler questions

Bill Moran wmoran at potentialtech.com
Wed Feb 2 12:40:02 EST 2005


Jonathan S Billings <billings at negate.org> wrote:

> Bill Moran wrote:
> > Reasons for compiling your own apps:
> > 1) You get to review the code to ensure it isn't doing anything nasty.
> > 2) You can easily tweak the code if you don't like how it behaves.
> > 3) Aside from compiler optimizations, most software has a number of
> >    compile-time options you can tweak (not all related to performance)
> >    For example, I just recompiled Sylpheed with GnuPG support.
> > 4) Generally, source becomes available prior to binary packages, so
> >    you can (usually) stay more up to date by compiling your own than
> >    by waiting for someone to roll binary packages.
> > 5) Sometimes you can make software work by compiling from source and
> >    telling it the non-standard locations of libraries that would
> >    be otherwise unusable unless you upgraded a lot of other things
> >    and went through a lot of headaches.
> > 6) If a security patch is released and you have source, you can patch
> >    and rebuild and fix the security hole very quickly.
> > 7) Of course, there's compiler optimizations.
> 
> My opinion and experience lead me to think that of all these reasons, 
> most users only take advantage of 4 and 7, and let the OS do the 
> automatic build and install of new software packages.  Also, FreeBSD 
> doesn't often have cutting-edge software, it's usually vetted for a 
> while before hitting the majority of users.

Yes and no.  My experience with FreeBSD is that software hits the ports
tree as fast as people are interested in it.  Samba, for example, long
had a samba and samba-devel port.  Because it was so popular, there
was a conservative "samba" port tracking the stable releases, while
there was also the "samba-devel" port that was tracking the development
tree.

Of course, this kind of thing is still less up-to-date than grabbing
the latest from CVS, for obvious reasons.

I agree that 4 and 7 are probably the most popular reasons, with 3
being a close third.  1 and 2 are probably limited to a very small
group of paranoid perfectionists, while 5 and 6 aren't common, but
occasionally save the day for someone in a jam.

> I'd also like to point out that source-based distros do not scale well 
> at all, and can introduce strange problems into maintaining the 
> infrastructure.  It can work if you build the software once and deploy 
> it to many systems.

Again, I agree and disagree.  They only scale well if you plan them,
and planning includes having a build server so you can build your
own packages for distribution to your systems.

I think it's a little harsh to say they "don't scale well", but I'll
agree that they require more planning to ensure scalability.

> Most linux/*bsd users can't build software from scratch, and if they 
> want to, they need step-by-step instructions for the process or some 
> tool (like portupgrade) to do it for them.  I don't think they're all 
> incompetent, but not everyone is interested in figuring out Makefiles or 
> finding bugs in autoconf-generated files.  That's why package-based 
> distros are so popular, particularly in businesses.

Agreed.  But that's where the FreeBSD ports system originated.  Just
about anyone can cd to a directory and do "make install"

Unfortunately, that loses most of the advantages listed for building
from source, so it's a bit ironic.  However, it is a nice "first
baby step" into the world of building from source, and I've learned
a LOT from examining how the ports process works.

-- 
Bill Moran
Potential Technologies
http://www.potentialtech.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://penguin.wplug.org/pipermail/wplug/attachments/20050202/fc0e009f/attachment.bin


More information about the wplug mailing list