[MacPorts] #38065: openmpi @1.6.3_0+gcc47+valgrind -- header locations not self-consistent
#38065: openmpi @1.6.3_0+gcc47+valgrind -- header locations not self-consistent ---------------------------+-------------------------------- Reporter: beany_kelly@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Keywords: headers | Port: openmpi ---------------------------+-------------------------------- I have a Mountain Lion system (10.8.2) with an up-to-date MacPorts installation. I've installed OpenMPI as above (+gcc47 +valgrind), but I'm having trouble compiling parallel code with it, because the headers aren't where the system expects. Here's a sample error from the compiler: /opt/local/include/mpi.h:2087:41: fatal error: openmpi/ompi/mpi/cxx/mpicxx.h: No such file or directory The problem is that apart from mpi.h itself, all the headers are buried deep down, one layer feeper than mpi.h indicates. For instance, mpicxx.h is *actually* in (relative to /opt/local/include): openmpi/openmpi/ompi/mpi/cxx/mpicxx.h I don't know why so much nesting is needed to begin with, but it looks like the path on line 2087 of mpi.h is out by one "openmpi/". I can fix this path by hand, of course, but then the same error crops up again with another path ... I've tried a clean port uninstall and new installation, but no change. -- Ticket URL: <https://trac.macports.org/ticket/38065> MacPorts <http://www.macports.org/> Ports system for Mac OS
#38065: openmpi @1.6.3_0+gcc47+valgrind -- header locations not self-consistent ----------------------------+------------------- Reporter: beany_kelly@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: openmpi | ----------------------------+------------------- Changes (by larryv@…): * owner: macports-tickets@… => mww@… * keywords: headers => Old description:
I have a Mountain Lion system (10.8.2) with an up-to-date MacPorts installation. I've installed OpenMPI as above (+gcc47 +valgrind), but I'm having trouble compiling parallel code with it, because the headers aren't where the system expects. Here's a sample error from the compiler:
/opt/local/include/mpi.h:2087:41: fatal error: openmpi/ompi/mpi/cxx/mpicxx.h: No such file or directory
The problem is that apart from mpi.h itself, all the headers are buried deep down, one layer feeper than mpi.h indicates. For instance, mpicxx.h is *actually* in (relative to /opt/local/include):
openmpi/openmpi/ompi/mpi/cxx/mpicxx.h
I don't know why so much nesting is needed to begin with, but it looks like the path on line 2087 of mpi.h is out by one "openmpi/".
I can fix this path by hand, of course, but then the same error crops up again with another path ...
I've tried a clean port uninstall and new installation, but no change.
New description: I have a Mountain Lion system (10.8.2) with an up-to-date MacPorts installation. I've installed OpenMPI as above (+gcc47 +valgrind), but I'm having trouble compiling parallel code with it, because the headers aren't where the system expects. Here's a sample error from the compiler: {{{ /opt/local/include/mpi.h:2087:41: fatal error: openmpi/ompi/mpi/cxx/mpicxx.h: No such file or directory }}} The problem is that apart from mpi.h itself, all the headers are buried deep down, one layer feeper than mpi.h indicates. For instance, mpicxx.h is *actually* in (relative to /opt/local/include): {{{ openmpi/openmpi/ompi/mpi/cxx/mpicxx.h }}} I don't know why so much nesting is needed to begin with, but it looks like the path on line 2087 of mpi.h is out by one "openmpi/". I can fix this path by hand, of course, but then the same error crops up again with another path ... I've tried a clean port uninstall and new installation, but no change. -- Comment: Thanks for the ticket. In the future, please Cc relevant port maintainers and use [[WikiFormatting]] to format the description. -- Ticket URL: <https://trac.macports.org/ticket/38065#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#38065: openmpi @1.6.3_0+gcc47+valgrind -- header locations not self-consistent ----------------------------+------------------- Reporter: beany_kelly@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: openmpi | ----------------------------+------------------- Comment (by eborisch@…): Are you using the openmpicc / openmpicxx (may not be exact names) compiler wrappers? They should set the include paths automatically (likely have -I/opt/local/include/openmpi) so things work. (I haven't had a chance to check that in this particular instance, just prior experience.) The wrappers are the best way to use mpich or openmpi -- you dan't have to worry about if there are internal changes (library names, for example) from version to version. -- Ticket URL: <https://trac.macports.org/ticket/38065#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#38065: openmpi @1.6.3_0+gcc47+valgrind -- header locations not self-consistent ----------------------------+------------------- Reporter: beany_kelly@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: openmpi | ----------------------------+------------------- Comment (by beany_kelly@…): Hi & thanks. Actually, I ''wasn't'' using the wrappers --- though I had thought I was. Now that I try to use them, I'm not getting the header issues any more, but things still aren't compiling. The wrappers aren't reporting what I expect, either: {{{ openmpicc --version }}} yields the following: {{{ Apple clang version 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn) Target: x86_64-apple-darwin12.2.0 Thread model: posix }}} This seems strange to me, because I requested openmpi +gcc47, as noted above. Why would it be reporting Clang? The which and locate commands don't show any other instances of openmpicc on my system. -- Ticket URL: <https://trac.macports.org/ticket/38065#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#38065: openmpi @1.6.3_0+gcc47+valgrind -- header locations not self-consistent ----------------------------+------------------- Reporter: beany_kelly@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: openmpi | ----------------------------+------------------- Comment (by eborisch@…): The openmpi port (as {{{port variants openmpi}}} describes) takes the approach of using the gcc version you select to set the fortran compiler, but not the c/c++ compiler. There's been some discussion on this in the past. mpich uses the requested compilers for everything. You can use mpich if you're interested in MPI with a particular gcc/g++ (sudo port install mpich +gcc47) -- Ticket URL: <https://trac.macports.org/ticket/38065#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#38065: openmpi @1.6.3_0+gcc47+valgrind -- header locations not self-consistent ----------------------------+------------------- Reporter: beany_kelly@… | Owner: mww@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: | Keywords: Port: openmpi | ----------------------------+------------------- Comment (by beany_kelly@…): Hi eborisch, and thanks for the information. Wow; I didn't realise I had no control over the C/C++ compilers with the MacPorts OpenMPI installation. This mixed-compiler approach seems bizarre to me. I'd appreciate your linking to this discussion, as I can't find it using the Ticket Search box. In the mean time, I'll try MPICH instead, as per your suggestion. -- Ticket URL: <https://trac.macports.org/ticket/38065#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#38065: openmpi @1.6.3_0+gcc47+valgrind -- header locations not self-consistent ----------------------------+-------------------- Reporter: beany_kelly@… | Owner: mww@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Resolution: fixed | Keywords: Port: openmpi | ----------------------------+-------------------- Changes (by sean@…): * status: new => closed * resolution: => fixed Comment: This should be fixed with the changes I made to the OpenMPI portfile. -- Ticket URL: <https://trac.macports.org/ticket/38065#comment:7> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts