Compiling

From Denemo - Free and Open Music Notation Editor

Jump to: navigation, search

When your GNU/Linux distribution does not have a reasonably recent version of Denemo available, you can compile it yourself from source.

The very short guide is:

  $ sh autogen.sh
  $ ./configure
  $ make
  $ sudo make install

Note that before you can build Denemo, you must have installed the development files for Denemo's dependencies. Again, the preferable way (if available) is getting your distribution's packages. How to find and install these, however, is of course distribution-specific.

For information on how to tweak the build process to your needs, see the INSTALL file and run ./configure --help.

One useful tweak is for building as a normal user, not root. You need to configure with --sysconfdir set to a location (mypath say) in your home directory. For example

./configure --prefix=/mypath/ --sysconfdir=/mypath/

Debian (and Ubuntu)

If you're using Debian Testing (and these instructions probably apply to other versions of Debian and variations like Ubuntu, too), the quick guide is:

$ sudo apt-get install build-essential
$ sudo apt-get build-dep denemo
$ sudo apt-get install guile-1.8-dev libaubio-dev portaudio19-dev libfftw3-dev

libgtksourceview-2.0-dev needs to be added for the latest git (0.8.9)

Educational instructions

The commands above should be enough to get you all of Denemo's build dependencies. However, it's nice to know how to find out what to install yourself. To this end, I documented what I did to arrive at the above command set.

I'll describe what I tried to do, which command I used, and what the result was. You'll see it's not particularly difficult, just a couple of tricks that are useful to know.

Intention Command Result
Remove any old denemo package that might have been previously installed apt-get remove denemo
Get the 'build-essential' dependencies. This is a set of dependencies that always tend to come in handy when building things. sudo apt-get install build-essential
Get the build-dependencies for the debian denemo package. While this package is out-of-date, there's probably some stuff in there that's still useful sudo apt-get build-dep denemo
Try configuring ./configure 'configure: error: guile-config required but not found'
Looks like I need a 'guile-config' binary. Let's see in what package that lives apt-file search guile-config apparently this command is found in guile-1.6-dev and guile-1.8-dev
Installed guile-1.8-dev sudo apt-get install guile-1.8-dev
Try configuring. ./configure Package requirements (aubio >= 0.3.2) were not met
Looks like I need a 'aubio' package. apt-file search libaubio'. there's a libaubio2 package.
Installed libaubio2. apt-get install libaubio2
Try configuring ./configure hrm, still not finding libaubio
Checked the version of the libaubio package apt-cache show libaubio 0.3.2. That should be fine.
Doh: realized of course I also need the '-dev' package of libaubio. apt-get install libaubio-dev
Try configuring: ./configure portaudio-2.0 missing
Looking for portaudio-2.0 apt-file search portaudio-2.0.pc ; apt-get install portaudio19-dev'
Try configuring ./configure fftw3 missing
Looking for fftw3 apt-file search fftw3.pc ; apt-get install libfftw3-dev
Try configuring. ./configure victory!
Compiling . make after coffee: a compiled denemo
Installing sudo make install Denemo 0.8.8 is installed.