Skip to content
Switch branches/tags

Latest commit

The uninitialized variable, active, would sometimes cause cmus to
segfault while accessing the pairs array based on its value.

This commit also fixes implementation-defined behaviour for the
implicit cast of track->marked.

Git stats


Failed to load latest commit information.
Latest commit message
Commit time
Apr 28, 2011
Jan 22, 2021

Warning: cmus is not actively maintained. For details, please see #856

cmus — C* Music Player

Build Status

Copyright © 2004-2008 Timo Hirvonen

Copyright © 2008-2017 Various Authors


List available optional features

$ ./configure --help

Auto-detect everything

$ ./configure

To disable some feature, arts for example, and install to $HOME run

$ ./configure prefix=$HOME CONFIG_ARTS=n

After running configure you can see from the generated file what features have been configured in (see the CONFIG_* options).

Note: For some distributions you need to install development versions of the dependencies. For example if you want to use 'mad' input plugin (mp3) you need to install libmad0-dev (Debian) or libmad-devel (RPM) package. After installing dependencies you need to run ./configure again, of course.

If you want to use the Tremor library as alternative for decoding Ogg/Vorbis files you have to pass CONFIG_TREMOR=y to the configure script:


The Tremor library is supposed to be used on hardware that has no FPU.


$ make

Or on some BSD systems you need to explicitly use GNU make:

$ gmake


$ make install

Or to install to a temporary directory:

$ make install DESTDIR=~/tmp/cmus

This is useful when creating binary packages.

Remember to replace make with gmake if needed.


$ man cmus-tutorial


$ man cmus

Mailing List

To subscribe to or view the archive visit

The mailing list now serves as an archive for old releases and issues. Please use the GitHub issues page for any problems, suggestions, or bug reports.

Reporting Bugs

Bugs should be reported using the GitHub issue tracker. When creating a new issue, a template will be shown containing instructions on how to collect the necessary information.

Additional debug information can be found in ~/cmus-debug.txt if you configured cmus with maximum debug level (./configure DEBUG=2). In case of a crash the last lines may be helpful.

Git Repository

$ git clone


cmus uses the Linux kernel coding style. Use hard tabs. Tabs are always 8 characters wide. Keep the style consistent with rest of the code.

Bug fixes and implementations of new features should be suggested as a pull request directly on GitHub.