Repository: spack/spack

Issue:
p4est 2.3.1 fails to build on RHEL
p4est build fails.

### Steps to reproduce the issue

```console
$ spack install -j30 --only dependencies dealii
```

This is the top level error

```
libtool: compile:  /home/c.praveen_052/Applications/spack/opt/spack/linux-rhel7-skylake_avx512/gcc-8.3.0/mpich-3.4.1-ufau2ub53s75hutxdrtb7qbm4ctqf5qx/bin/mpicc -DHAVE_CONFIG_H -I. -I./config -I./src -I./iniparser -I./libb64 -DSC_LOG_PRIORITY=SC_LP_ESSENTIAL -O2 -MT src/libsc_la-sc_containers.lo -MD -MP -MF src/.deps/libsc_la-sc_containers.Tpo -c src/sc_containers.c -o src/libsc_la-sc_containers.o >/dev/null 2>&1
src/sc_v4l2.c: In function 'sc_v4l2_device_format':
src/sc_v4l2.c:276:10: error: 'struct v4l2_pix_format' has no member named 'ycbcr_enc'
   vd->pix->ycbcr_enc = V4L2_YCBCR_ENC_DEFAULT;
          ^~
src/sc_v4l2.c:276:24: error: 'V4L2_YCBCR_ENC_DEFAULT' undeclared (first use in this function); did you mean 'V4L2_PRIORITY_DEFAULT'?
   vd->pix->ycbcr_enc = V4L2_YCBCR_ENC_DEFAULT;
                        ^~~~~~~~~~~~~~~~~~~~~~
                        V4L2_PRIORITY_DEFAULT
src/sc_v4l2.c:276:24: note: each undeclared identifier is reported only once for each function it appears in
src/sc_v4l2.c:277:10: error: 'struct v4l2_pix_format' has no member named 'quantization'
   vd->pix->quantization = V4L2_QUANTIZATION_DEFAULT;
          ^~

```

### Information on your system

<!-- Please include the output of `spack debug report` -->

* **Spack:** 0.16.1-2400-42af3c1
* **Python:** 3.7.3
* **Platform:** linux-rhel7-skylake_avx512
* **Concretizer:** original


<!-- If you have any relevant configuration detail (custom `packages.yaml` or `modules.yaml`, etc.) you can add that here as well. -->

```console
packages:
   hdf5:
      variants: +fortran +cxx +hl
   petsc:
      variants: +mumps +suite-sparse +p4est
   dealii:
      variants: ~python
   trilinos:
      variants: +rol
   all:
      providers:
         mpi: [mpich]
```

### Additional information

 * [spack-build-env.txt](https://github.com/spack/spack/files/6384520/spack-build-env.txt)
 * [spack-build-out.txt](https://github.com/spack/spack/files/6384515/spack-build-out.txt)


@davydden

### General information

- [x] I have run `spack debug report` and reported the version of Spack/Python/Platform
- [x] I have run `spack maintainers <name-of-the-package>` and @mentioned any maintainers
- [x] I have uploaded the build log and environment files
- [x] I have searched the issues of this repo and believe this is not a duplicate



Discussion:
See also https://github.com/cburstedde/libsc/issues/45.

Your linux kernel is older than `3.17`. They changed the struct `v4l2_pix_format` in the `V4L2` library, which is a  `p4est` dependency since the last release.

@cburstedde, @bangerth -- FYI
I've updated to release v2.3.2. Hope this one is ok!

Resolving patch:
diff --git a/var/spack/repos/builtin/packages/p4est/package.py b/var/spack/repos/builtin/packages/p4est/package.py
--- a/var/spack/repos/builtin/packages/p4est/package.py
+++ b/var/spack/repos/builtin/packages/p4est/package.py
@@ -14,10 +14,11 @@ class P4est(AutotoolsPackage):
     # Only use the official tarball releases provided on p4est.org or
     # p4est.github.io. The automatically generated releases from the
     # Github repository lack important parts.
-    url = "https://p4est.github.io/release/p4est-2.3.1.tar.gz"
+    url = "https://p4est.github.io/release/p4est-2.3.2.tar.gz"
 
     maintainers = ['davydden']
 
+    version('2.3.2', sha256='076df9e5578e0e7fcfbe12e1a0b080104001f8c986ab1d5a69ec2220050df8e6')
     version('2.3.1', sha256='be66893b039fb3f27aca3d5d00acff42c67bfad5aa09cea9253cdd628b2bdc9a')
     version('2.2', sha256='1549cbeba29bee2c35e7cc50a90a04961da5f23b6eada9c8047f511b90a8e438')
     version('2.1', sha256='07ab24bd63a652a30576fbca12c0fc068dffa615d888802d7f229fa994a9c1ef')


Test patch: