Hi Chris,

OK, I got python meep working in the pmp environment.  The problem turned out to be loading the environmental variables, LDFLAGS, CPPFLAGS, LD_LIBRARY_PATH, with references to /usr/local/openmpi in my ~/.bashrc file.  These environmental variables were used to install scheme parallel meep.

The mpirun command was (and is) pointing to the correct mpirun command in the pmp environment, but I was still getting the MPI error.  When I commented out the relevant lines in my .bashrc file and re-ran .bashrc, the python parallel meep started working as expected.

This experience might prove useful for other users who have defined these environmental variables in their .bashrc file.

Best regards,

John




On 06/08/2018 15:45, Christopher Hogan wrote:
Hi John,

> I got the MPI error about init being disallowed, etc.  I think this problem has been observed and discussed earlier.

Can you elaborate on this? What was the exact error message you saw? If the conda package is having MPI problems, it is likely because it's trying to use a different MPI on the system rather than the one that is bundled in the conda environment. I would double check that `which mpirun` points to the mpirun in your conda environment, and make sure you don't have any variables (PATH, LD_LIBRARY_PATH, etc.) pointing to specific MPI installations in your .bashrc or similar.

For the second error, it looks like it's loading an older version of Meep instead of the one in the conda environment. I would check your .bashrc for anything pointing to an old meep and make sure PYTHONPATH is unset. You can also run `ldd ~/.conda/envs/pmp_test/lib/python3.6/site-packages/meep/_meep.so` to make sure it's linking with the correct libmeep.so. I verified that both the 1.5 release, and the development package work on a clean Ubuntu 18.04.

Chris

On Sat, Aug 4, 2018 at 9:01 AM, John Weiner <johwei...@gmail.com <mailto:johwei...@gmail.com>> wrote:

    Hello to all,

    Having gotten the impression that  future development of meep will
    be essentially in python meep, I have taken the first tentative
    baby steps to get python meep working on my pc Ubuntu box.  Scheme
    meep, both stand-alone and parallel, is now working on this box
    running Ubuntu 18.04 LTS.

    Using the CONDA package, I was able to install one-core python
    meep without incident.  It works.

    Then I tried to install the parallel version using the
    instructions at
    https://meep.readthedocs.io/en/latest/Installation/#conda-packages
    <https://meep.readthedocs.io/en/latest/Installation/#conda-packages>,
    and in particular,

    |conda create -n pmp -c chogan -c conda-forge pymeep-parallel
    source activate pmp |

    But when I tried to run a .py script using

    mpirun -np 2 python foo.py,

    I got the MPI error about init being disallowed, etc. I think this
    problem has been observed and discussed earlier.

    I then tried the nightly builds and was able to create the
    environment pmp_test.  When I entered the same mpirun command line
    as above, I got the following message,

     File "<string>", line 1, in <module>
      File
    
"/home/john/.conda/envs/pmp_test/lib/python3.6/site-packages/meep/__init__.py",
    line 8, in <module>
        from . import _meep
    ImportError:
    /home/john/.conda/envs/pmp_test/lib/python3.6/site-packages/meep/_meep.so:
    undefined symbol:
    
_ZN4meep6fields17add_volume_sourceENS_9componentERKNS_8src_timeERKNS_6volumeEPKcS9_St7complexIdE

    I thought that maybe the first line in the foo.py file,

    import meep as mp

    was not correct.  So I deleted it and ran the script again.  Then
    I got the error message,

    Traceback (most recent call last):
      File "straight_waveguide.py", line 2, in <module>
        cell = mp.Vector3(16, 8, 0)
    NameError: name 'mp' is not defined

    which I take to mean that maybe the meep library is not "imported"
    without the import command or there is some more serious problem
    in the meep library.

    I don't know what to do to move forward with python parallel meep
    and would appreciate any help.

    Best regards,

    John




    _______________________________________________
    meep-discuss mailing list
    meep-discuss@ab-initio.mit.edu <mailto:meep-discuss@ab-initio.mit.edu>
    http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
    <http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss>



_______________________________________________
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to