6

I'm trying to install those dependencies here actually libxcb (using ubuntu 16.04.1). What I did is I run:

cd ~/Downloads
apt-get source libxcb
sudo apt-get build-dep libxcb
cd libxcb-1.11.1/
dpkg-buildpackage -us -uc

BTW is this the right procedure to build libxcb? Now I have a big list of *.dep files (see below). Which one I have to install via sudo dpkg -i *.dep?

~/Downloads$ ls -a
.                                                libxcb-render0-dev_1.11.1-1ubuntu1_amd64.deb
..                                               libxcb-res0_1.11.1-1ubuntu1_amd64.deb
awesome-4.0                                      libxcb-res0-dbg_1.11.1-1ubuntu1_amd64.deb
awesome-4.0.tar.xz                               libxcb-res0-dev_1.11.1-1ubuntu1_amd64.deb
libxcb-1.11.1                                    libxcb-screensaver0_1.11.1-1ubuntu1_amd64.deb
libxcb1_1.11.1-1ubuntu1_amd64.deb                libxcb-screensaver0-dbg_1.11.1-1ubuntu1_amd64.deb
libxcb_1.11.1-1ubuntu1_amd64.changes             libxcb-screensaver0-dev_1.11.1-1ubuntu1_amd64.deb
libxcb_1.11.1-1ubuntu1.diff.gz                   libxcb-shape0_1.11.1-1ubuntu1_amd64.deb
libxcb_1.11.1-1ubuntu1.dsc                       libxcb-shape0-dbg_1.11.1-1ubuntu1_amd64.deb
libxcb_1.11.1.orig.tar.gz                        libxcb-shape0-dev_1.11.1-1ubuntu1_amd64.deb
libxcb1-dbg_1.11.1-1ubuntu1_amd64.deb            libxcb-shm0_1.11.1-1ubuntu1_amd64.deb
libxcb1-dev_1.11.1-1ubuntu1_amd64.deb            libxcb-shm0-dbg_1.11.1-1ubuntu1_amd64.deb
libxcb1-udeb_1.11.1-1ubuntu1_amd64.udeb          libxcb-shm0-dev_1.11.1-1ubuntu1_amd64.deb
libxcb-composite0_1.11.1-1ubuntu1_amd64.deb      libxcb-sync1_1.11.1-1ubuntu1_amd64.deb
libxcb-composite0-dbg_1.11.1-1ubuntu1_amd64.deb  libxcb-sync1-dbg_1.11.1-1ubuntu1_amd64.deb
libxcb-composite0-dev_1.11.1-1ubuntu1_amd64.deb  libxcb-sync-dev_1.11.1-1ubuntu1_amd64.deb
libxcb-damage0_1.11.1-1ubuntu1_amd64.deb         libxcb-xevie0_1.11.1-1ubuntu1_amd64.deb
libxcb-damage0-dbg_1.11.1-1ubuntu1_amd64.deb     libxcb-xevie0-dbg_1.11.1-1ubuntu1_amd64.deb
libxcb-damage0-dev_1.11.1-1ubuntu1_amd64.deb     libxcb-xevie0-dev_1.11.1-1ubuntu1_amd64.deb
libxcb-doc_1.11.1-1ubuntu1_all.deb               libxcb-xf86dri0_1.11.1-1ubuntu1_amd64.deb
libxcb-dpms0_1.11.1-1ubuntu1_amd64.deb           libxcb-xf86dri0-dbg_1.11.1-1ubuntu1_amd64.deb
libxcb-dpms0-dbg_1.11.1-1ubuntu1_amd64.deb       libxcb-xf86dri0-dev_1.11.1-1ubuntu1_amd64.deb
libxcb-dpms0-dev_1.11.1-1ubuntu1_amd64.deb       libxcb-xfixes0_1.11.1-1ubuntu1_amd64.deb
libxcb-dri2-0_1.11.1-1ubuntu1_amd64.deb          libxcb-xfixes0-dbg_1.11.1-1ubuntu1_amd64.deb
libxcb-dri2-0-dbg_1.11.1-1ubuntu1_amd64.deb      libxcb-xfixes0-dev_1.11.1-1ubuntu1_amd64.deb
libxcb-dri2-0-dev_1.11.1-1ubuntu1_amd64.deb      libxcb-xinerama0_1.11.1-1ubuntu1_amd64.deb
libxcb-dri3-0_1.11.1-1ubuntu1_amd64.deb          libxcb-xinerama0-dbg_1.11.1-1ubuntu1_amd64.deb
libxcb-dri3-0-dbg_1.11.1-1ubuntu1_amd64.deb      libxcb-xinerama0-dev_1.11.1-1ubuntu1_amd64.deb
libxcb-dri3-dev_1.11.1-1ubuntu1_amd64.deb        libxcb-xkb1_1.11.1-1ubuntu1_amd64.deb
libxcb-glx0_1.11.1-1ubuntu1_amd64.deb            libxcb-xkb1-dbg_1.11.1-1ubuntu1_amd64.deb
libxcb-glx0-dbg_1.11.1-1ubuntu1_amd64.deb        libxcb-xkb-dev_1.11.1-1ubuntu1_amd64.deb
libxcb-glx0-dev_1.11.1-1ubuntu1_amd64.deb        libxcb-xprint0_1.11.1-1ubuntu1_amd64.deb
libxcb-present0_1.11.1-1ubuntu1_amd64.deb        libxcb-xprint0-dbg_1.11.1-1ubuntu1_amd64.deb
libxcb-present0-dbg_1.11.1-1ubuntu1_amd64.deb    libxcb-xprint0-dev_1.11.1-1ubuntu1_amd64.deb
libxcb-present-dev_1.11.1-1ubuntu1_amd64.deb     libxcb-xtest0_1.11.1-1ubuntu1_amd64.deb
libxcb-randr0_1.11.1-1ubuntu1_amd64.deb          libxcb-xtest0-dbg_1.11.1-1ubuntu1_amd64.deb
libxcb-randr0-dbg_1.11.1-1ubuntu1_amd64.deb      libxcb-xtest0-dev_1.11.1-1ubuntu1_amd64.deb
libxcb-randr0-dev_1.11.1-1ubuntu1_amd64.deb      libxcb-xv0_1.11.1-1ubuntu1_amd64.deb
libxcb-record0_1.11.1-1ubuntu1_amd64.deb         libxcb-xv0-dbg_1.11.1-1ubuntu1_amd64.deb
libxcb-record0-dbg_1.11.1-1ubuntu1_amd64.deb     libxcb-xv0-dev_1.11.1-1ubuntu1_amd64.deb
libxcb-record0-dev_1.11.1-1ubuntu1_amd64.deb     libxcb-xvmc0_1.11.1-1ubuntu1_amd64.deb
libxcb-render0_1.11.1-1ubuntu1_amd64.deb         libxcb-xvmc0-dbg_1.11.1-1ubuntu1_amd64.deb
libxcb-render0-dbg_1.11.1-1ubuntu1_amd64.deb     libxcb-xvmc0-dev_1.11.1-1ubuntu1_amd64.deb
  • Do you have an excellent reason to build it manually instead of simply installing it from an existing repository? – Julie Pelletier Jan 19 '17 at 3:54
  • 1
    @JuliePelletier No, if I tried sudo apt-get install libxcb I get Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package libxcb And if I googled "install libxcb" I only find links they contains a installation from source. – Hölderlin Jan 19 '17 at 4:25
  • The simplest solution I found which would probably work is: sudo add-apt-repository ppa:klaus-vormweg/awesome; sudo apt-get update; sudo apt-get install awesome – Julie Pelletier Jan 19 '17 at 6:19
  • @JuliePelletier, which version do you install if you use the repo from klaus-vormweg? – Hölderlin Jan 19 '17 at 10:07
  • Looking at the PPA's site, it would install version 4.0 – Julie Pelletier Jan 19 '17 at 14:59
11

The way you built libxcb is OK, but as Julie Pelletier says you didn't need to build it from source.

The general approach in a case like this is to use apt-cache search; apt-cache search libxcb will list all the libxcb-related packages (and a few others which happen to mention libxcb) along with their short descriptions. You can then match these up with the awesome requirements; assuming you're building the latter from source:

sudo apt-get install libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev libxcb-shape0-dev libxcb-xkb-dev

will install the required libraries and development files.

The build dependencies of the existing awesome package can serve as a useful guide to get started on the remaining dependencies.

| improve this answer | |
  • If I run apt-cache search libxcb I got also a huge list of packages. Basically each package comes with 3 different types e.g. libname, libname-dev and libname-dbg. I see you mentioned to install only *-dev. What is the reason and when I need the other? – Hölderlin Jan 19 '17 at 10:28
  • The reason is given in the packages' descriptions: the -dev packages contain the development files, which is what you need if you're building software that uses these libraries (which is your case). The -dev packages themselves depend on the library packages (which are needed to run software using the libraries), so you'll get those too automatically. You only need the -dbg packages if you want to debug the libraries (or see their details in stacktraces). – Stephen Kitt Jan 19 '17 at 10:31
  • Thx alot, I don't know anymore why it looks that difficult for me :) – Hölderlin Jan 19 '17 at 10:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.