I took a swipe at this today: I was adding opal/mca/netloc, right alongside opal/mca/hwloc. I only worked on the "external" netloc plugin, meaning that OMPI would refer to an externally-installed netloc (vs. an embedded one):
However, I ran into a minor annoyance and a major difficulty:
0. Some changes I made with a consult from Josh: in configure, I'm checking to see that including netloc.h works. To make this work, I moved all the Jansson-based functions from the public netloc.h to private/netloc.h (see https://github.com/open-mpi/netloc/commit/78bfa2f01e2a060e8e07e1d1f923502fe25ca5bb). This prevents OMPI from needing to know where <jansson.h> can be found. Cool -- now OMPI's configure can find netloc.h properly.
--> Josh: you might want to take a hard look at the rest of <netloc.h> and see if there are any other non-public functions in there that should move to private/netloc.h, or elsewhere.
1. Then configure checks that -lnetloc works. This fails because I need to also ensure that the right -L is in LDFLAGS to find libjansson. Annoying, but do-able on the configure command line.
2. But even after adding LDFLAGS=-L/path/to/libjansson, the configury test fails because libnetloc depends on libhwloc. OMPI typically builds its own embedded hwloc, and this doesn't exist yet. So trying to link against libnetloc is guaranteed to fail. This is a chicken-and-egg problem.
I'm not quite sure how to solve #2 yet...
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/