Repository: spack/spack

Issue:
Installation issue: gtkplus
The merge of PR #12568 broke gtkplus at least for me.  Ever since that merge, I get a build error that configure is looking for `cairo-gobject`.

I've been working with @hartzell on a fix, and I'm going to let him post what appears to be the solution, because he is the one that found it and explained it to me.

### Steps to reproduce the issue

```console
$ spack install gtkplus^python@3:

==> Installing gtkplus
==> Searching for binary cache of gtkplus
==> Finding buildcaches in /bifx/apps/spack/mirror/build_cache
==> No binary for gtkplus found: installing from source
==> Using cached archive: /home/osolberg/git/bioinformatics/spacktree/spack/var/spack/cache/gtkplus/gtkplus-3.20.10.tar.xz                                                 
==> Staging archive: /tmp/spack-stage/osolberg/gtkplus-3.20.10-7uzw45g5dnyhyxyuhv2gaq7mwarjy73v/gtk+-3.20.10.tar.xz                                                        
==> Created stage in /tmp/spack-stage/osolberg/gtkplus-3.20.10-7uzw45g5dnyhyxyuhv2gaq7mwarjy73v                                                                            
==> Ran patch() for gtkplus
==> Building gtkplus [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Error: ProcessError: Command exited with status 1:
    '/tmp/spack-stage/osolberg/gtkplus-3.20.10-7uzw45g5dnyhyxyuhv2gaq7mwarjy73v/spack-src/configure' '--prefix=/home/osolberg/git/bioinformatics/spacktree/spack/opt/spack/linux-centos7-x86_64/gcc-8.2.0/gtkplus-3.20.10-7uzw45g5dnyhyxyuhv2gaq7mwarjy73v' '--disable-gtk-doc-html' 'GTKDOC_CHECK=/usr/bin/true' 'GTKDOC_CHECK_PATH=/usr/bin/true' 'GTKDOC_MKPDF=/usr/bin/true' 'GTKDOC_REBASE=/usr/bin/true'

1 error found in build log:
     124    checking for pkg-config... /home/osolberg/git/bioinformatics/spackt
            ree/spack/opt/spack/linux-centos7-x86_64/gcc-8.2.0/pkgconf-1.6.1-di
            22prdob5rr2qxn7csfijner3j6jg7c/bin/pkg-config
     125    checking pkg-config is at least version 0.9.0... yes
     126    checking for wayland-scanner... no
     127    checking for WAYLAND_DEPENDENCIES... no
     128    checking whether build environment is sane... yes
     129    checking for BASE_DEPENDENCIES... no
  >> 130    configure: error: Package requirements (glib-2.0 >= 2.45.8    atk >
            = 2.15.1    pango >= 1.37.3    cairo >= 1.14.0    cairo-gobject >= 
            1.14.0    gdk-pixbuf-2.0 >= 2.30.0) were not met:
     131
     132    Package 'cairo-gobject', required by 'virtual:world', not found
     133
     134    Consider adjusting the PKG_CONFIG_PATH environment variable if you
     135    installed software in a non-standard prefix.
     136

See build log for details:
  /tmp/spack-stage/osolberg/gtkplus-3.20.10-7uzw45g5dnyhyxyuhv2gaq7mwarjy73v/spack-build-out.txt      
```


```
$ ./bin/spack spec gtkplus     
Input spec
--------------------------------
gtkplus

Concretized
--------------------------------
gtkplus@3.20.10%gcc@8.2.0 arch=linux-centos7-x86_64
    ^at-spi2-atk@2.26.2%gcc@8.2.0 buildtype=release arch=linux-centos7-x86_64
        ^at-spi2-core@2.28.0%gcc@8.2.0 buildtype=release arch=linux-centos7-x86_64
            ^dbus@1.12.8%gcc@8.2.0 arch=linux-centos7-x86_64
                ^expat@2.2.5%gcc@8.2.0+libbsd arch=linux-centos7-x86_64
                    ^libbsd@0.9.1%gcc@8.2.0 arch=linux-centos7-x86_64
                ^glib@2.56.3%gcc@8.2.0~libmount patches=c325997b72a205ad1638bb3e3ba0e5b73e3d32ce63b2d0d3282f3e3a2ff4663c tracing=none arch=linux-centos7-x86_64
                    ^gettext@0.19.8.1%gcc@8.2.0+bzip2+curses+git~libunistring+libxml2 patches=9acdb4e73f67c241b5ef32505c9ddf7cf6884ca8ea661692f21dca28483b04b8 +tar+xz arch=linux-centos7-x86_64
                        ^bzip2@1.0.8%gcc@8.2.0+shared arch=linux-centos7-x86_64
                            ^diffutils@3.7%gcc@8.2.0 arch=linux-centos7-x86_64
                        ^libxml2@2.9.9%gcc@8.2.0~python arch=linux-centos7-x86_64
                            ^libiconv@1.15%gcc@8.2.0 arch=linux-centos7-x86_64
                            ^pkgconf@1.6.1%gcc@8.2.0 arch=linux-centos7-x86_64
                            ^xz@5.2.4%gcc@8.2.0 arch=linux-centos7-x86_64
                            ^zlib@1.2.11%gcc@8.2.0+optimize+pic+shared arch=linux-centos7-x86_64
                        ^ncurses@6.1%gcc@8.2.0~symlinks~termlib arch=linux-centos7-x86_64
                        ^tar@1.31%gcc@8.2.0 arch=linux-centos7-x86_64
                    ^libffi@3.2.1%gcc@8.2.0 arch=linux-centos7-x86_64
                    ^pcre@8.42%gcc@8.2.0+jit+multibyte+utf arch=linux-centos7-x86_64
                    ^perl@5.26.2%gcc@8.2.0+cpanm patches=0eac10ed90aeb0459ad8851f88081d439a4e41978e586ec743069e8b059370ac +shared+threads arch=linux-centos7-x86_64
                        ^gdbm@1.18.1%gcc@8.2.0 arch=linux-centos7-x86_64
                            ^readline@7.0%gcc@8.2.0 arch=linux-centos7-x86_64
                    ^python@3.6.5%gcc@8.2.0+bz2+ctypes+dbm+lzma~nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4~uuid+zlib arch=linux-centos7-x86_64
                        ^openssl@1.1.1c%gcc@8.2.0+systemcerts arch=linux-centos7-x86_64
                        ^sqlite@3.28.0%gcc@8.2.0+fts~functions arch=linux-centos7-x86_64
            ^fixesproto@5.0%gcc@8.2.0 arch=linux-centos7-x86_64
                ^util-macros@1.19.1%gcc@8.2.0 arch=linux-centos7-x86_64
            ^inputproto@2.3.2%gcc@8.2.0 arch=linux-centos7-x86_64
            ^libx11@1.6.7%gcc@8.2.0 arch=linux-centos7-x86_64
                ^kbproto@1.0.7%gcc@8.2.0 arch=linux-centos7-x86_64
                ^libxcb@1.13%gcc@8.2.0 arch=linux-centos7-x86_64
                    ^libpthread-stubs@0.4%gcc@8.2.0 arch=linux-centos7-x86_64
                    ^libxau@1.0.8%gcc@8.2.0 arch=linux-centos7-x86_64
                        ^xproto@7.0.31%gcc@8.2.0 arch=linux-centos7-x86_64
                    ^libxdmcp@1.1.2%gcc@8.2.0 arch=linux-centos7-x86_64
                    ^xcb-proto@1.13%gcc@8.2.0 arch=linux-centos7-x86_64
                ^xextproto@7.3.0%gcc@8.2.0 arch=linux-centos7-x86_64
                ^xtrans@1.3.5%gcc@8.2.0 arch=linux-centos7-x86_64
            ^libxi@1.7.6%gcc@8.2.0 arch=linux-centos7-x86_64
                ^libxext@1.3.3%gcc@8.2.0 arch=linux-centos7-x86_64
                ^libxfixes@5.0.2%gcc@8.2.0 arch=linux-centos7-x86_64
            ^libxtst@1.2.2%gcc@8.2.0 arch=linux-centos7-x86_64
                ^recordproto@1.14.2%gcc@8.2.0 arch=linux-centos7-x86_64
            ^meson@0.49.1%gcc@8.2.0+ninjabuild patches=d5b992925e9a927cc57d33b9ed7e61c80df9a9131d45888fbea19adcd4134e12 arch=linux-centos7-x86_64
                ^ninja@1.9.0%gcc@8.2.0 arch=linux-centos7-x86_64
                ^py-setuptools@41.0.1%gcc@8.2.0 arch=linux-centos7-x86_64
        ^atk@2.30.0%gcc@8.2.0 arch=linux-centos7-x86_64
            ^gobject-introspection@1.56.1%gcc@8.2.0 patches=6f90bb267efa043ed70b900b4b8e2faf9e8133afae311893b01060356ea81bba arch=linux-centos7-x86_64
                ^bison@3.0.5%gcc@8.2.0 arch=linux-centos7-x86_64
                    ^help2man@1.47.8%gcc@8.2.0 arch=linux-centos7-x86_64
                    ^m4@1.4.18%gcc@8.2.0 patches=3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00,fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8 +sigsegv arch=linux-centos7-x86_64
                        ^libsigsegv@2.11%gcc@8.2.0 arch=linux-centos7-x86_64
                ^cairo@1.16.0%gcc@8.2.0+X+gobject+pdf arch=linux-centos7-x86_64
                    ^fontconfig@2.12.3%gcc@8.2.0 arch=linux-centos7-x86_64
                        ^font-util@1.3.1%gcc@8.2.0 fonts=encodings,font-adobe-100dpi,font-adobe-75dpi,font-adobe-utopia-100dpi,font-adobe-utopia-75dpi,font-adobe-utopia-type1,font-alias,font-arabic-misc,font-bh-100dpi,font-bh-75dpi,font-bh-lucidatypewriter-100dpi,font-bh-lucidatypewriter-75dpi,font-bh-ttf,font-bh-type1,font-bitstream-100dpi,font-bitstream-75dpi,font-bitstream-speedo,font-bitstream-type1,font-cronyx-cyrillic,font-cursor-misc,font-daewoo-misc,font-dec-misc,font-ibm-type1,font-isas-misc,font-jis-misc,font-micro-misc,font-misc-cyrillic,font-misc-ethiopic,font-misc-meltho,font-misc-misc,font-mutt-misc,font-schumacher-misc,font-screen-cyrillic,font-sun-misc,font-winitzki-cyrillic,font-xfree86-type1 arch=linux-centos7-x86_64
                            ^autoconf@2.69%gcc@8.2.0 arch=linux-centos7-x86_64
                            ^automake@1.16.1%gcc@8.2.0 arch=linux-centos7-x86_64
                            ^bdftopcf@1.0.5%gcc@8.2.0 arch=linux-centos7-x86_64
                                ^fontsproto@2.1.3%gcc@8.2.0 arch=linux-centos7-x86_64
                                ^libxfont@1.5.2%gcc@8.2.0 arch=linux-centos7-x86_64
                                    ^freetype@2.9.1%gcc@8.2.0 patches=08466355e8649235ff01f13b3e56bbd551c7cfb2ca97903cc11575c163ea32a3 arch=linux-centos7-x86_64
                                        ^libpng@1.6.34%gcc@8.2.0 arch=linux-centos7-x86_64
                                    ^libfontenc@1.1.3%gcc@8.2.0 arch=linux-centos7-x86_64
                            ^mkfontdir@1.0.7%gcc@8.2.0 arch=linux-centos7-x86_64
                                ^mkfontscale@1.1.2%gcc@8.2.0 arch=linux-centos7-x86_64
                        ^gperf@3.0.4%gcc@8.2.0 arch=linux-centos7-x86_64
                    ^libxrender@0.9.10%gcc@8.2.0 arch=linux-centos7-x86_64
                        ^renderproto@0.11.1%gcc@8.2.0 arch=linux-centos7-x86_64
                    ^pixman@0.38.0%gcc@8.2.0 arch=linux-centos7-x86_64
                ^flex@2.6.4%gcc@8.2.0+lex patches=09c22e5c6fef327d3e48eb23f0d610dcd3a35ab9207f12e0f875701c677978d3 arch=linux-centos7-x86_64
                    ^libtool@2.4.6%gcc@8.2.0 arch=linux-centos7-x86_64
    ^gdk-pixbuf@2.38.0%gcc@8.2.0 patches=6f6e6411051846f0e99e5f46e07c78428c4a2a88f51c202b3122972d91452f4c arch=linux-centos7-x86_64
        ^docbook-xsl@1.79.2%gcc@8.2.0 patches=a92c39715c54949ba9369add1809527b8f155b7e2a2b2e30cb4b39ee715f2e30 arch=linux-centos7-x86_64
            ^docbook-xml@4.5%gcc@8.2.0 arch=linux-centos7-x86_64
        ^libjpeg-turbo@2.0.2%gcc@8.2.0 arch=linux-centos7-x86_64
            ^cmake@3.15.1%gcc@8.2.0~doc+ncurses+openssl+ownlibs~qt arch=linux-centos7-x86_64
            ^nasm@2.14.02%gcc@8.2.0 arch=linux-centos7-x86_64
        ^libtiff@4.0.10%gcc@8.2.0 arch=linux-centos7-x86_64
        ^libxslt@1.1.33%gcc@8.2.0+crypto~python arch=linux-centos7-x86_64
            ^libgcrypt@1.8.4%gcc@8.2.0 arch=linux-centos7-x86_64
                ^libgpg-error@1.36%gcc@8.2.0 arch=linux-centos7-x86_64
        ^shared-mime-info@1.9%gcc@8.2.0 arch=linux-centos7-x86_64
            ^intltool@0.51.0%gcc@8.2.0 patches=ca9d6562f29f06c64150f50369a24402b7aa01a3a0dc73dce55106f3224330a1 arch=linux-centos7-x86_64
                ^perl-xml-parser@2.44%gcc@8.2.0 arch=linux-centos7-x86_64
    ^libepoxy@1.4.3%gcc@8.2.0+glx arch=linux-centos7-x86_64
        ^mesa@18.3.6%gcc@8.2.0+glx~llvm+opengl~opengles+osmesa patches=55a5611ca9fcbe8324c4d68a07b338134954ff12c5b122dc78ff376f012a1414 swr=none arch=linux-centos7-x86_64
            ^binutils@2.32%gcc@8.2.0+gold~headers~libiberty+nls~plugins arch=linux-centos7-x86_64
            ^glproto@1.4.17%gcc@8.2.0 arch=linux-centos7-x86_64
            ^py-mako@1.0.4%gcc@8.2.0 arch=linux-centos7-x86_64
                ^py-markupsafe@1.0%gcc@8.2.0 arch=linux-centos7-x86_64
    ^pango@1.41.0%gcc@8.2.0+X arch=linux-centos7-x86_64
        ^harfbuzz@2.3.1%gcc@8.2.0 arch=linux-centos7-x86_64
            ^icu4c@64.1%gcc@8.2.0 cxxstd=11 arch=linux-centos7-x86_64
        ^libxft@2.3.2%gcc@8.2.0 arch=linux-centos7-x86_64
```



### Platform and user environment

Please report your OS here:
```commandline
$ uname -a 
Linux bifx1n03.bold.bio 3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/*release*
CentOS Linux release 7.6.1810 (Core) 
Derived from Red Hat Enterprise Linux 7.6 (Source)
``` 



Discussion:

Resolving patch:
diff --git a/var/spack/repos/builtin/packages/gtkplus/package.py b/var/spack/repos/builtin/packages/gtkplus/package.py
--- a/var/spack/repos/builtin/packages/gtkplus/package.py
+++ b/var/spack/repos/builtin/packages/gtkplus/package.py
@@ -25,7 +25,7 @@ class Gtkplus(AutotoolsPackage):
     # Hardcode X11 support (former +X variant),
     # see #6940 for rationale:
     depends_on('pango+X')
-    depends_on('cairo+X+pdf')
+    depends_on('cairo+X+pdf+gobject')
     depends_on('gobject-introspection')
     depends_on('libepoxy', when='@3:')
     depends_on('libxi', when='@3:')


Test patch: