Awesome works fine on Fedora 19, so it should work on CentOS 7, right? Well, I tried and failed to get it to work. After a long time, I managed to compile it from source and set GDM to boot from an ~/.xinitrc. However, all I got was the window manager starting but none of the keybinds (keyboard or mouse) were working at all.

I am looking for a usable step by step installation procedure.

  • 4
    I would not make any such assumptions that if something worked on Fedora that it should just automatically work on any CentOS, even 7. Yes they're close but the versions of glibc can be a deal breaker along with any other myriad of libraries.
    – slm
    Commented Sep 4, 2014 at 0:01

2 Answers 2


For Starters, I would remove the source you compiled, then add the official YUM Repo for Fedora, using the Steps from this post. Afterwards, since the repo you just added contains AwesomeWM, use YUM to install it. See Here.

Reasoning: It's nearly impossible to mix a source based package with a system based on binary packages, as you easily create a version mismatch. Consider the following:

  1. Binary package Version A depends on and only works with dependency Version B. Dependency Version B uses Library C.
  2. Connecting the Logic in 1, Binary Package Version A, also implicitly depends on Library C.
  3. You built dependency Version B with library Version D (If C = 1.0, D = 1.1)
  4. Dependency Version B built successfully, but Binary Package Version A is still linked to Library Version C, therefore Binary Package A, now loads unresolved symbols, because the symbols in Library Version C were replaced with newer symbols in Version D.
  5. Library Version D, superseded Library Version C, therefore the developer decided not to link his new Version D to Version C.
  6. To Fix this, every package on the system, that is linked to library Version C, must be recompiled using Library Version D.

You're Stuck Here because all the packages on a Binary System were prepackaged, and some or all of them will break, when compiled from source

You may be able to fix this by finding newer versions of all packages using Library Version D, but from experience, this is very unlikely, which is why I use Gentoo.

Update from Deleted Comments

I was asked to explain how to handle an out of date repo, and what to do if the repo expires, since CentOS, and Fedora are on radically different release schedules.

As per your questions in now deleted comments below, when adding a repository:

  1. If support for that repository ends, add the repository that superseded it. i.e., Fedora 19's repo will be replaced by Fedora 20.
  2. After updating to the new repository, you must decide as a user which direction to take, as you will have version number mismatches between packages in the new repo. For Example in CentOS Library Version A will have been superseded by Library Version B in Fedora. Having Added Fedora as a repo, if a package you want exists in Fedora, but NOT in CentOS, and it is asking for a newer version of a package, you must either a.) see if the same package exists in the CentOS Testing repo, or b.) allow the install to install the package from the Fedora repo. In this way, you will have a mixed or hybrid install. If you add the CentOS Testing repo in the same way you added the Fedora Repo above, I believe YUM will ask you which package you want to use, if the same package exists in both.
  3. If there is a Stable Library Version B in Fedora, and a Testing Library Version B in CentOS, use the Testing Version in CentOS, as that version is "native" to your OS. Whenever possible, you want to install versions native to your OS, even if they are in Testing. By doing so, if the package doesn't work you report a bug to your OS maintainers, so that the package stays in Testing until the bug is fixed before being moved to Stable
  • Added... See Update Section
    – eyoung100
    Commented Aug 29, 2014 at 15:59
  • Broken links, the answer is out of date.
    – e-info128
    Commented Sep 22, 2019 at 2:19

⚠ All the answers here are OUTDATED and SHOULD NOT BE USED!!!

Awesome can be installed from source with a little tweaking.

; cat /etc/centos-release                                                       
CentOS Linux release 7.6.1810 (Core)                                            
; awesome --version                                                             
awesome v4.2-dirty (Human after all)                                            
 • Compiled against Lua 5.1.4 (running with Lua 5.1)                            
 • D-Bus support: ✔                                                             
 • execinfo support: ✔                                                          
 • xcb-randr version: 1.6                                                       
 • LGI version: 0.9.2    
  • 2
    Not necessarily outdated, but beware of comment 27 in the github posting you linked. My option still exists for binary packages. Congratulations for finally achieving what you sought out.
    – eyoung100
    Commented Jan 6, 2019 at 22:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .