Compile Conky v1.7.1.1

kaivalagi asked me: Bruce, if you haven’t got the details already there, is it worth adding this to your Conky Hardcore site?

Ummmm … lets me think: YES!

Why? Because this will be good for any version.

So here’s what he gave is:

I figured users might want to know how to compile the latest conky version. So, for anyone wanting to use the latest conky you can compile it easily using the basic steps below.

  1. Get the source tarball from conky.sourceforge.net: Conky Home
  2. Extract the tarball contents somewhere and go to the location in a terminal window
  3. Run “./configure” *
  4. Run “make”
  5. Copy the “conky” exec file from the ./src folder into /usr/bin/

* Optionally add feature settings to the ./configure call so they are included in the build e.g. “./configure –enable-rss”

The default configure call has the following features:

* X11:
X11 support:      yes
XDamage support:  yes
XDBE support:     yes
Xft support:      yes

* Music detection:
Audacious:        no
BMPx:             no
MPD:              yes
MOC:              yes
XMMS2:            no

* General:
OpenMP:           no
math:             yes
hddtemp:          yes
portmon:          yes
RSS:              no
Lua:              yes
wireless:         no
IBM:              no
nvidia:           no
eve-online:       no
config-output:    yes
Imlib2:           no
ALSA mixer:       yes
apcupsd:          yes

Possible features that can be included are found by reading the ./configure file in the root folder of the source, they are:

--disable-option-checking  ignore unrecognized --enable/--with options
--disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
--disable-dependency-tracking  speeds up one-time build
--enable-dependency-tracking   do not reject slow dependency extractors
--enable-shared[=PKGS]  build shared libraries [default=yes]
--enable-static[=PKGS]  build static libraries [default=yes]
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock  avoid locking (might break parallel builds)
--disable-config-output disable if you do not want conky to output a default
config (with -C) [default=yes]
--disable-own-window    disable if you do not want support for creating own
window [default=yes]
--enable-audacious=yes|no|legacy
enable audacious player support [default=no]
--enable-bmpx           enable if you want BMPx support [default=no]
--enable-ibm            enable if you want support for IBM/Lenovo notebooks
@<:default=no]
--disable-hddtemp       disable if you do not want hddtemp support
[default=yes]
--disable-apcupsd       disable if you do not want apcupsd support
[default=yes]
--disable-math          disable if you do not want math support
[default=yes]
--disable-mpd           disable if you do not want MPD support [default=yes]
--disable-moc           disable if you do not want MOC support [default=yes]
--enable-xmms2          enable if you want XMMS2 support [default=no]
--enable-eve            Eve-Online skill monitor [default=no]
--enable-rss            enable if you want rss support [default=no]
--enable-lua            enable if you want Lua scripting support
[default=yes]
--enable-wlan           enable if you want wireless support [default=no]
--disable-portmon       disable if you do not want tcp (ip4) port monitoring
[default=yes]
--disable-rpath         do not hardcode runtime library paths
--disable-x11           disable if you do not want X11 support [default=yes]
--disable-double-buffer disable for no Xdbe double-buffering support
[default=yes]
--disable-xdamage       disable if you do not want Xdamage support
[default=yes]
--disable-xft           disable if you do not want to use Xft [default=yes]
--enable-imlib2         enable if you want Imlib2 support [default=no]
--enable-nvidia         enable if you want nvidia support [default=no]
--disable-alsa          disable if you do not want ALSA support
[default=yes]
--enable-openmp         enable if you want OpenMP support [default=no]
--enable-debug          compile with debug symbols [default=no]
--enable-testing        use strict compiler flags for testing [default=no]

A pre-requisite for this is the package “build-essentials” as well as a bunch of dev libraries, all of which are found in the default Ubuntu repositories. When attempting to “configure” or “make” you will see errors detailing the dev library requirements if they are not fulfilled. If someone wants to list the package names be my guest – I will not be removing the dev libraries from my machine though.

BornTwisted gave us the list:

lua5.1
liblua5.1-0-dev
libxml2-dev
build-essential
libcurl4-gnutls-dev
libx11-dev
libxt-dev
libxext6-dbg
libxext-dev
libxdamage-dev
libxft-dev
libimlib2-dev
libglib2.0-dev

I simply lined them up and put a sudo aptitude install in front of them:

sudo aptitude install lua5.1 liblua5.1-0-dev libxml2-dev build-essential libcurl4-gnutls-dev libx11-dev libxt-dev libxext6-dbg libxext-dev libxdamage-dev libxft-dev libimlib2-dev libglib2.0-dev

This is the .configure he used, (so did I):

./configure –enable-rss –enable-nvidia –enable-imlib2 –enable-lua

And there we have it: Conky 1.7.1.1 compiled and installed.

Thanks kaivalagi and BornTwisted
Have a nice day.
Bruce