Compile away. Don’t be afraid of compiling open source code

Shrey Agarwal
2 min readAug 11, 2014

tl;dr : soon you will actually prefer to keep your copy of latest compiled binaries instead of installing pre-compiled binaries or packages from repositories

The company I work for , Armor5, is in limbo right now, and I find myself unwillingly unoccupied during the day. I quickly re-adapt myself to start working on my personal to-do list. So top of my to-do list is something like ‘checkout nginx 1.6' .

Not too long ago , whenever I used to read about a new feature or bug fix in the codebase of famous open source projects like nginx or openssl , instead of trying them out, I used to pray ; that the new stable version would be released soon, it would packaged soon and put on its official repository soon. Of Course that happened nearly 6 months to 1 year after the release and I would soon forget about the new release or would employ it after most of the western hemisphere had deployed and used it.

The package repository maintained by canonical (ubuntu guys) do not has the latest debs (.deb packages) for most of the dev tools. Which brings us back to compiling the latest or nearly latest stable releases of the software we want. Since most of the open source sites have ‘Download .tar.gz’ or ‘Download tar.gz’ or ‘Download’ links on their landing pages, it all comes down to downloading the source code and following simple instructions. And soon you will actually prefer to keep your copy of latest compiled binaries instead of installing pre-compiled binaries or packages from repositories.

My relation with compiling source code started when I was assisting in tuning a thin lightweight linux distro couple of years back. We had to compile all sorts of progs that we take for granted in this now-linux-has-been-made-easy-by-ubuntu age.

I chalked out a list of progs which I use. List of stuff I would be compiling.

  1. Nginx latest stable release 1.6 : Arguably one of the best web servers out there right now.
  2. openssl-1.0.1h : De-facto Lib for ssl implementation.
  3. optipng-0.7.5 : A simple tool to optimize Png images
  4. mozjpeg-2.0 : Mozilla’s pet project to give us even smaller Jpeg Images

Part 2 of this post will follow with instructions to compile latest stable (latest when I am writing this post) nginx.

--

--