For folks using legacy dolfin via conda, there are two recent developments that might be of interest:
there are now native mac arm builds of legacy dolfin on conda-forge, so arm mac users can now conda install fenics without having to use the intel builds via emulation.
Since it was requested, the current development version of legacy dolfin is now also available under the fenics-dev label, which you can get with:
channel priority means that packages on conda-forge that satisfy requirements will be preferred to those in conda-forge/label/fenics-dev because it appears earlier in the list, so use:
to prefer packages with the fenics-dev label. Alternatively, specify the version you want (fenics-dolfinx=2019.2).
(note: it’s advisable to remove defaults from your channel lists if you are using conda-forge)
The second reason is that mshr requires fenics-dolfin 2019.1, so can’t be installed together with the 2019.2.dev and there isn’t a dev build of mshr. So if you remove mshr, you’ll get 2019.2.dev.
If you request 2019.2 explicitly, you’ll get more informative conflict errors if it’s unsatisfiable, rather than just not getting the version you expect.
Unfortunately, the installation doesn’t seem to work well on Ubuntu 24.04 via the conda command mentioned. (I can’t import the legacy dolfin library as shown below in newly created conda environment.)
~$ python3 --version
> Python 3.12.7
~$ python3 -c "import dolfin;print(dolfin.__version__)"
> Traceback (most recent call last):
File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'dolfin'
Is it possible to use the legacy dolfin 2019.2.0.dev version on Ubuntu? I was wondering if folks have any specific plans.
When the first conda environment was created, the version of legacy dolfin was 2019.1.0.
I wonder if there is a problem with linking while executing the second command (updating to legacy dolfin 2019.2.0.dev)… I don’t know how to solve it.
P.S.) Actually, I wanted to run the code with additional constraints in legacy FEniCS.
I know I should probably use dolfinx_mpc (I’m studying because I don’t understand the concept very well. If you have any easy-to-understand study material, I’d love to hear about it.), but I wanted to make sure it would run on legacy FEniCS as well.
I mainly use the conda environment, so I didn’t proceed with a local legacy FEniCS installation with PPA added.
(I was worried about package conflicts between legacy FEniCS and FEniCSx each version )
Passing a full package URL to conda install is a way to skip solving the environment for dependencies. It only downloads and extracts that exact package (this is a way to test installing packages that conda would otherwise refuse to install due to broken dependencies).
The reason you are not getting the dev version is you have specified the conda-forge channel as higher priority than fenics-dev and not specified a version. Since there is a version of fenics-dolfin on conda-forge, the fenics-dev label is never considered. Both of these should work:
prefer fenics-dev label to default conda-forge by putting it first: