View Single Post
  #4   (View Single Post)  
Old 19th July 2008
ocicat ocicat is offline
Administrator
 
Join Date: Apr 2008
Posts: 3,318
Default

Quote:
Originally Posted by roundkat View Post
There are times when a certain package is available and it must be compiled from source..
I can only think of three possible reasons to compile ports instead of using packages:
  • A package is not available. The project does not have the resources to make packages available for all applications checked into the ports tree on all platforms supported.
  • For those running -current, -current packages sometimes may not always be in synchronization with snapshots or a system synchronized with the head of CVS. In fact, with snapshots builds being made every few days on some platforms, there is no way that the building of the entire ports tree can keep up. Synchronization issues are simply a reality. This can force -current users to resort to building applications themselves.
  • Customization and/or experimentation with building.
Quote:
What is the recommended environment for compiling..
or are most of the requirements met with the default install..
As long as the compXX.tgz file set has been installed, most ports can be built. There are two issues to consider here:
  • What are the dependencies required for building the port? These can differ from the dependencies required when running the port. The two make targets:
    • make print-build-depends
    • make print-run-depends
    ...can be real friends to those building applications. eg. X may be a requirement for building an application, but not required when running the application.
  • Likewise, how much disk space is available to /usr since this is where all third-party applications are installed, & specifically /usr/ports since this is where ports are built. Larger applications such as OpenOffice.org can take towards 20GB of space to build. Depending upon whether one cleans /usr/ports after each build (make clean=depends) or whether all object files, distribution files, & other meta-data needed during building are retained, more disk space may be required.
The importance of coordinating the version of the ports tree used with the version of the system installed cannot be overly stressed. Failure to do this can resort in a number of weirdnesses which are chronicled in Section 15.4.1 of the FAQ:

http://openbsd.org/faq/faq15.html#NoFun

Lastly, there is rarely a need to locally build a port. OpenBSD users who are entertaining the thought of building their own ports should really, really be honest with themselves & take to heart the admonitions stated at the beginning of Section 15.1:

http://openbsd.org/faq/faq15.html#Intro

Last edited by ocicat; 19th July 2008 at 07:50 PM.
Reply With Quote