Build instructions for OSX using MacPorts and Anaconda

51 views
Skip to first unread message

aktur...@gmail.com

unread,
Aug 5, 2018, 9:30:21 AM8/5/18
to Dedalus Users
Hello,

I would like to install Dedalus on my OSX machine but I use MacPorts and Anaconda. MacPorts is incompatible with the recommended Homebrew installation given in the OSX build instructions. Are there any Dedalus build instructions for OSX with MacPorts and Anaconda as the python build?

Thanks,
Adrian Turner

Foad Sojoodi Farimani

unread,
Aug 6, 2018, 4:05:30 AM8/6/18
to dedalu...@googlegroups.com
Hi,

Following the question above, searching Dedalus on Repology returns no results (here). That's shocking actually as usually there are some AUR scripts. I suggest the Dedalus team to add the package to as many package managers as they can. For example on Windows Chocolatey or scoop. On mac HomeBrew or macports. and on linux at least AUR. 

Best,
Foad

--
You received this message because you are subscribed to the Google Groups "Dedalus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dedalus-user...@googlegroups.com.
To post to this group, send email to dedalu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dedalus-users/c420e1c8-ed6d-4583-a696-263065d351a6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jeffrey S. Oishi

unread,
Aug 6, 2018, 8:43:37 AM8/6/18
to dedalus-users
Hi Adrian,

There are no instructions for building Dedalus with MacPorts and Anaconda that I know of. We have some issues with conda relating to our need to link to machine-specific MPI and BLAS libraries for best performance on clusters and supercomputers. However, it is possible to build Dedalus using conda packages from conda-forge, if you aren't worried about absolute performance. That said, we don't have instructions yet about it.

We are working on a solution to allow Dedalus to be conda-installed in most locations (including high performance computing installations), but it is not quite ready yet. 

Finally, I can't say anything about MacPorts, as I am not a Mac user. I'll defer that part of your question to some of the other Mac users. 

Jeff

Jeffrey S. Oishi

unread,
Aug 6, 2018, 8:51:28 AM8/6/18
to dedalus-users
Hi Foad,

Thanks for your note. I'd never heard of Repology before, and it looks very useful. I'd like to point out that Dedalus is a research tool developed by a core team of five, none of whom are software professionals. We are all working physicists, astronomers, and mathematicians. We would love to have a broader distribution of the code, but packaged installations has never been a priority for us (though it should be!). Right now, we are focusing on conda, as that provides the largest number of base packages our stack needs. Nevertheless, it is slow going because of our primary commitments to research and teaching.

If you would be interested in helping to package Dedalus, we welcome contributions. In particular, we do not and have no plans to support Windows, however it would be great if Windows users could use Dedalus. 

thanks again,

Jeff

Foad Sojoodi Farimani

unread,
Aug 6, 2018, 9:00:11 AM8/6/18
to dedalu...@googlegroups.com
Hi Jeffrey,

Thanks a for the reply. I understand that you are a small team. you have already done a great job IMHO. If you are planning on Python package managers,  then it should be kind of cross platform. I would sue pip though. 
Regrading the windows compatibility, others also asked about it over here. There are other question on that reddit posts which you might consider answering. Not many people know about your great work, and if you succeed to grow your user base then you will get more feedback as well as volunteer contributors. 

Best,
Foad

Jim McElwaine

unread,
Aug 8, 2018, 10:06:28 AM8/8/18
to Dedalus Users
This will do it on current OSX after installing port. Using parallel HDF5

port install gcc7
port install fftw-3 +mpich +gcc7
port install hdf5 +mpich
port install py36-h5py +mpich
port install mercurial swig libpng freetype ncurses zip freetype tcl tk
port install python36 dbus-python36  py36-cython py36-nose py36-setuptools swig-python py36-ipython py36-matplotlib py36-pandas py36-pyfftw py35-docopt py36-pathlib2 py36-apipkg py36-pip py36-numpy py36-scipy py36-mpi4py mpich-default py36-bottleneck py36-numexpr py36-scipy py36-tables

port variants py36-h5py

port rev-upgrade

port select --set python python34
port select --set cython cython36
port select --set mpi mpich-mp-fortran
port select --set pip pip36

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export CFLAGS="-I/opt/local/include/mpich-mp -I/opt/local/include -L/opt/local/lib -L/opt/local/lib/mpich-mp"
export LD_LIBRARY_PATH=/opt/local/lib:/usr:/opt/local/lib/mpich-mp
export FFTW_PATH=/opt/local
export MPI_PATH=/opt/local
export PYTHONPATH=~/dedalus
export HDF5_MPI="ON"

pip install --no-binary=h5py  h5py>=2.7.1port install gcc7
port install fftw-3 +mpich +gcc7
port install hdf5 +mpich
port install py36-h5py +mpich
port install mercurial swig libpng freetype ncurses zip freetype tcl tk
port install python36 dbus-python36  py36-cython py36-nose py36-setuptools swig-python py36-ipython py36-matplotlib py36-pandas py36-pyfftw py35-docopt py36-pathlib2 py36-apipkg py36-pip py36-numpy py36-scipy py36-mpi4py mpich-default py36-bottleneck py36-numexpr py36-scipy py36-tables

port variants py36-h5py

port rev-upgrade

port select --set python python34
port select --set cython cython36
port select --set mpi mpich-mp-fortran
port select --set pip pip36

export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export CFLAGS="-I/opt/local/include/mpich-mp -I/opt/local/include -L/opt/local/lib -L/opt/local/lib/mpich-mp"
export LD_LIBRARY_PATH=/opt/local/lib:/usr:/opt/local/lib/mpich-mp
export FFTW_PATH=/opt/local
export MPI_PATH=/opt/local
export PYTHONPATH=~jnm/dedalus
export HDF5_MPI="ON"

pip install --no-binary=h5py  h5py>=2.7.1


cd ~/
rm -rf dedalus
cd dedalus
pip install -r requirements.txt
python3 setup.py build_ext --inplace



cd ~/
rm -rf dedalus
cd dedalus
pip install -r requirements.txt
python3 setup.py build_ext --inplace
Reply all
Reply to author
Forward
0 new messages