Comments (13)
There appear to be two links that they search to find the URL. The former (https://download.open-mpi.org/release/hwloc/v2.10/hwloc-2.10.0.tar.gz) appears to work. It's possible that that server or your network experienced a temporary issue. Can you please try again?
from firedrake.
Unfortunately, I have been trying this off an on for the last month or so, hoping that I just caught someone with a missing file. It's never worked.
I have also noticed that it is trying two places. The download.open-mpi.org
URL works when I try it manually,but the script seems to be hung up on the web.cels.anl.gov
URL not working.
Also the help message from the log says Unable to download package HWLOC from: https://download.open-mpi.org/release/hwloc/v2.10/hwloc-2.10.0.tar.gz
, yet this is the URL that works, and was the one tried first (according to the order of the log). While the web.cels.anl.gov
URL is the one the doesn't work, its not mentioned in the help message (even though the help message happens immediately after trying this URL (again, according to the order of the log)). The order of the messages is kinda odd.
from firedrake.
Strange. Do you have a non-standard network setup? Or some sort of firewall?
This is really an issue with PETSc instead of Firedrake so I would recommend asking for help there. If you want to reproduce the issue without using Firedrake you should be able to run ./configure --download-hwloc
from inside the firedrake/src/petsc
directory.
Lastly, we updated our fork of PETSc last Friday. I think that is unlikely to have fixed this issue, but you could try a fresh install and see if things work.
from firedrake.
We do in-fact have non-standard network with a very annoying firewall. But this is a know problem with this sort of automatic install script, so I tried downloading the failing hwloc file with a computer on the guest network, and my personal phone. All got the same problem.
Yeah, I know this problem is ultimately in the script provided by PETSc, but I didn't know how much control your script was exerting over it. I will check their forums. I'll post here if I get any meaningful information there for completeness.
While I've been trying this for over a month, I downloaded a new "firedrake-install" script on 2024-06-21.
from firedrake.
We do in-fact have non-standard network with a very annoying firewall. But this is a know problem with this sort of automatic install script, so I tried downloading the failing hwloc file with a computer on the guest network, and my personal phone. All got the same problem.
Yeah, I know this problem is ultimately in the script provided by PETSc, but I didn't know how much control your script was exerting over it. I will check their forums. I'll post here if I get any meaningful information there for completeness.
While I've been trying this for over a month, I downloaded a new "firedrake-install" script on 2024-06-21.
It is also possible to install PETSc separately from the rest of the installation script. If you run firedrake-install --show-petsc-configure-options
you can see what flags we pass to PETSc. It is quite annoying and manual but you could then clone your own PETSc, download all of the packages manually and then run something like
$ ./configure --hwloc-dir=/path/to/downloaded/tar/file ...etc
I don't really recommend this though. Figuring out how to satisfy the firewall is definitely a better option.
Alternatively we do have Docker and Singularity containers that might be suitable.
from firedrake.
Actually the option here is:
$ ./configure --download-hwloc=/path/to/downloaded/tar/file
Alternative:
--with-packages-download-dir=<dir>
Skip network download of package tarballs and locate them in specified dir. If not found in dir, print package URL - so it can be obtained manually.
from firedrake.
With the extensive help of @balay (99% sure it's the same person) over on the PETSc Discord, I was able work out the problem was our annoying corporate firewall.
The solution was to set export SSL_CERT_FILE=/path/to/file.crt
to a known certificate file I have for our annoying corporate firewall.
This solved the HWLOC problem.
(It's now having the same problem with the PETSc script downloading HDF5, but again its likely a problem with our annoying corporate firewall, which I will have to muddle through now that I know that's what the problem is.)
For reference, here's the link to the Discord thread:
https://discord.com/channels/1119324534303109172/1254799088495362080
Thank you all for your help.
from firedrake.
Glad to hear you're making progress! Thanks for sharing these tips.
from firedrake.
BTW: something firedrake installer could do is accept additional PETSc configure options - similar to the pip
installer - via an env variable - PETSC_CONFIGURE_OPTIONS
$ git grep PETSC_CONFIGURE_OPTIONS
setup.py: Provide any ``PETSc`` ./configure options using the environmental variable ``PETSC_CONFIGURE_OPTIONS``.
setup.py: options = os.environ.get('PETSC_CONFIGURE_OPTIONS', '')
If they are append to the end of firedrake generated options - they can over-ride the defaults set here.
from firedrake.
BTW: something firedrake installer could do is accept additional PETSc configure options - similar to the
pip
installer - via an env variable -PETSC_CONFIGURE_OPTIONS
$ git grep PETSC_CONFIGURE_OPTIONS setup.py: Provide any ``PETSc`` ./configure options using the environmental variable ``PETSC_CONFIGURE_OPTIONS``. setup.py: options = os.environ.get('PETSC_CONFIGURE_OPTIONS', '')
If they are append to the end of firedrake generated options - they can over-ride the defaults set here.
Firedrake already supports PETSC_CONFIGURE_OPTIONS
like this.
from firedrake.
Ah - then @jonathonmckay can use this feature to add in required petsc configure options to overcome the firewall issues.
from firedrake.
Oh yeah. python3 firedrake-install --help
shows this at the end:
The installer will ensure that the required configuration options are
passed to PETSc. In addition, any configure options which you provide
in the PETSC_CONFIGURE_OPTIONS environment variable will be
honoured.
Guess I didn't read the whole thing, or didn't understand what it would mean to my specific case when I did.
Thank you. This will likely come in handy.
from firedrake.
Yes, setting PETSC_CONFIGURE_OPTIONS
clears up the HDF5 problem.
And I've learned you can stack the settings (because our annoying corporate firewall is giving me grief for other automatic downloads). You can do this:
export PETSC_CONFIGURE_OPTIONS="--download-hdf5=/path/to/downloads/hdf5-1.14.3-p1.tar.bz2 --download-netcdf=/path/to/downloads/netcdf-c-4.9.2-p1.tar.gz"
(Manually download the required files first, of course)
Then run python3 firedrake-install
after.
from firedrake.
Related Issues (20)
- INSTALL: ImportError when running firedrake-update on Linux HOT 2
- INSTALL: Linux (Ubuntu 22.04.4 LTS) HOT 18
- Tests for `to_petsc_local_numbering`
- BUG: firedrake-install is now failing with --petsc-int-type=int64 HOT 3
- Buckling problem HOT 2
- Flake8 for demos HOT 2
- Zenodo release
- Labelling of Internal Facets in Mesh Generated with Netgen HOT 3
- Zenodo release request
- Error on interpolation using --petsc-int-type int64 HOT 1
- BUG: Adjoint inconsistency with self-assignment via projection HOT 1
- BUG: Many tests fail with 64-bit indices
- Zenodo release please. HOT 1
- BUG: mesh.locate_cell not returning what is expected for points outside the mesh (--petsc-int-type=int64) HOT 2
- Interpolation on two different meshes doesn't work on parallel HOT 1
- BUG: restricted mode in Lineareigenproblem for mixed problems.
- BUG: Issue with wrapping Firedrake interpolation to vertex-only mesh in PyTorch HOT 2
- INSTALL: HOT 4
- INSTALL: PETSc SF doesn't handle large count MPI datatypes HOT 1
- BUG: Hashing/caching in parallel HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from firedrake.