On 2 Nov 2018, at 16:59, Matthew Knepley <knepley@gmail.com> wrote:
On Fri, Nov 2, 2018 at 12:54 PM Lawrence Mitchell <wence@gmx.li> wrote:
On 2 Nov 2018, at 01:37, Matthew Knepley <knepley@gmail.com> wrote:
Well crap. h5py failed, and it does not look like a simple env fix. It is complaining about an SSL certificate. Is there a way to point to something that uses HTTP?
Hmmph, this is very odd. Because that failed checking the certificate for a host it had previously downloaded from (and passed the certificate checks).
This failed at a state late enough in the game that we can try building "in place" in the virtualenv:
$ . firedrake/bin/activate $ cd firedrake/src/h5py $ export CC=mpicc # I assume you got PETSc to build hdf5 $ export HDF5_DIR=$PETSC_DIR/$PETSC_ARCH $ export HDF5_MPI=ON $ pip install .
Okay, this line
pip install .
fails with
(firedrake) firedrake:/PETSc3/fem/firedrake/src/h5py$ pip install . Processing /PETSc3/fem/firedrake/src/h5py Complete output from command python setup.py egg_info: Download error on https://pypi.org/simple/pkgconfig/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833) -- Some packages may not be found! Couldn't find index page for 'pkgconfig' (maybe misspelled?) Download error on https://pypi.org/simple/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833) -- Some packages may not be found! No local packages or working download links found for pkgconfig Traceback (most recent call last): File "<string>", line 1, in <module> File "/private/var/folders/hk/tc1pd0g57l78rpt0lttc1sfh0000gn/T/pip-req-build-vy7d9wuj/setup.py", line 168, in <module> cmdclass = CMDCLASS, File "/PETSc3/fem/firedrake/lib/python3.6/site-packages/setuptools/__init__.py", line 139, in setup _install_setup_requires(attrs) File "/PETSc3/fem/firedrake/lib/python3.6/site-packages/setuptools/__init__.py", line 134, in _install_setup_requires dist.fetch_build_eggs(dist.setup_requires) File "/PETSc3/fem/firedrake/lib/python3.6/site-packages/setuptools/dist.py", line 514, in fetch_build_eggs replace_conflicting=True, File "/PETSc3/fem/firedrake/lib/python3.6/site-packages/pkg_resources/__init__.py", line 777, in resolve replace_conflicting=replace_conflicting File "/PETSc3/fem/firedrake/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1060, in best_match return self.obtain(req, installer) File "/PETSc3/fem/firedrake/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1072, in obtain return installer(requirement) File "/PETSc3/fem/firedrake/lib/python3.6/site-packages/setuptools/dist.py", line 581, in fetch_build_egg return cmd.easy_install(req) File "/PETSc3/fem/firedrake/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 670, in easy_install raise DistutilsError(msg) distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('pkgconfig')
---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/hk/tc1pd0g57l78rpt0lttc1sfh0000gn/T/pip-req-build-vy7d9wuj/
OK, this is the same error as before, but we can hopefully debug it in isolation. It's failing certificate checks on downloading pkgconfig. So in the activated virtualenv, try: $ pip install -vvv pkgconfig And see what we get.
but I messed it up initially using
pip install h5py
which succeeds with
(firedrake) 1firedrake:/PETSc3/fem/firedrake/src/h5py$ pip install h5py Collecting h5py Downloading https://files.pythonhosted.org/packages/44/81/50a0560aac57a33c2a624d9e160735... (6.0MB) 100% |████████████████████████████████| 6.1MB 677kB/s Requirement already satisfied: six in /PETSc3/fem/firedrake/lib/python3.6/site-packages (from h5py) (1.11.0) Requirement already satisfied: numpy>=1.7 in /PETSc3/fem/firedrake/lib/python3.6/site-packages (from h5py) (1.15.3) Installing collected packages: h5py Successfully installed h5py-2.8.0
Can I keep going from here? How do I restart the Firedrake install?
This won't work, unfortunately. Or at least, I don't trust it will work. The h5py wheel pacakges come with prebuilt HDF5 libraries inside them and that will almost certainly break things at runtime, because the compiled parts of Firedrake will now be linked against a different HDF5 from the PETSc one. And this gets messy. Lawrence