[MacPorts] #26424: valgrind +openmpi doesn't provide promised "libmpiwrap-<platform>.so" file
#26424: valgrind +openmpi doesn't provide promised "libmpiwrap-<platform>.so" file ----------------------------------+----------------------------------------- Reporter: nilstec_inc@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: valgrind-devel ----------------------------------+----------------------------------------- I do: {{{ sudo port clean valgrind-devel sudo port -d install valgrind-devel +openmpi }}} In the output of the configure the following two lines appear: {{{ checking primary target for usable MPI2-compliant C compiler and mpi.h... no checking secondary target for usable MPI2-compliant C compiler and mpi.h... no }}} According to the [http://valgrind.org/docs/manual/mc-manual.html#mc- manual.mpiwrap Valgrind User Manual] it should say `yes, mpicc`, right? I'll supply the output of `sudo port -d install valgrind-devel +openmpi`. Thanks for your help! -- Ticket URL: <http://trac.macports.org/ticket/26424> MacPorts <http://www.macports.org/> Ports system for Mac OS
#26424: valgrind +openmpi doesn't provide promised "libmpiwrap-<platform>.so" file ----------------------------------+----------------------------------------- Reporter: nilstec_inc@… | Owner: raimue@… Type: defect | Status: assigned Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: valgrind-devel ----------------------------------+----------------------------------------- Changes (by raimue@…): * cc: raimue@… (removed) * owner: macports-tickets@… => raimue@… * status: new => assigned -- Ticket URL: <http://trac.macports.org/ticket/26424#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#26424: valgrind +openmpi doesn't provide promised "libmpiwrap-<platform>.so" file ----------------------------------+----------------------------------------- Reporter: nilstec_inc@… | Owner: raimue@… Type: defect | Status: assigned Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Keywords: | Port: valgrind-devel ----------------------------------+----------------------------------------- Comment(by raimue@…): That's my fault, openmpi actually installs as `${prefix}/bin/openmpicc` while the variant expected `${prefix}/bin/mpicc`. I guess I missed this in my testing as configure went over this without reporting any error. Committed a fix in r71354. So at least openmpi is detected now. But additionally, there is another bug that leaves this broken. It requires both i386 and x86_64 architectures in openmpi libraries at the moment as valgrind builds for both architectures by default. These are not available through MacPorts, as openmpi does not offer a +universal variant. I am working on a fix. -- Ticket URL: <http://trac.macports.org/ticket/26424#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#26424: valgrind +openmpi doesn't provide promised "libmpiwrap-<platform>.so" file -----------------------------------+---------------------------------------- Reporter: nilstec_inc@… | Owner: raimue@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Resolution: fixed | Keywords: Port: valgrind-devel | -----------------------------------+---------------------------------------- Changes (by raimue@…): * status: assigned => closed * resolution: => fixed Comment: Should be working now with +openmpi after r71356. Now the library is installed as expected at `/opt/local/lib/valgrind/libmpiwrap- amd64-darwin.so`. Issue these commands to get the changes: {{{ sudo port selfupdate sudo port upgrade --enforce-variants valgrind-devel +openmpi }}} -- Ticket URL: <http://trac.macports.org/ticket/26424#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#26424: valgrind +openmpi doesn't provide promised "libmpiwrap-<platform>.so" file -----------------------------------+---------------------------------------- Reporter: nilstec_inc@… | Owner: raimue@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Resolution: fixed | Keywords: Port: valgrind-devel | -----------------------------------+---------------------------------------- Comment(by nilstec_inc@…): Wow! Thanks for the quick help. After following your advice, i do indeed get my `libmpiwrap- amd64-darwin.so`. I do not know, if this belongs here, or if it is some others concern, but i'll just post it and you can feel free to ignore it ;). I tried to follow the procedure given in the [http://valgrind.org/docs/manual/mc-manual.html#mc-manual.mpiwrap Valgrind User Manual] with a MPI Hello World example. Sadly i didn't see {{{ valgrind MPI wrappers 31901: Active for pid 31901 valgrind MPI wrappers 31901: Try MPIWRAP_DEBUG=help for possible options }}} so i tried linking with the library: {{{ openmpicc testMPI.c /opt/local/lib/valgrind/libmpiwrap-amd64-darwin.so }}} which completes, but upon calling {{{ openmpirun -np 2 /opt/local/bin/valgrind ./a.out }}} i get an error which i'll supply. It complains about not loaded dynamic libraries. So if you've got any idea, thanks for your help! -- Ticket URL: <http://trac.macports.org/ticket/26424#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
#26424: valgrind +openmpi doesn't provide promised "libmpiwrap-<platform>.so" file -----------------------------------+---------------------------------------- Reporter: nilstec_inc@… | Owner: raimue@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Resolution: fixed | Keywords: Port: valgrind-devel | -----------------------------------+---------------------------------------- Comment(by raimue@…): `/opt/local/lib/valgrind` is not in the default search path of the linker, therefore this fails. The user manual shows using `LD_PRELOAD` to insert the library, but that is Linux specific. There are two options: * Use `export DYLD_INSERT_LIBRARIES=/opt/local/lib/valgrind/libmpiwrap- amd64-darwin.so` before you call openmpirun. For this, you do not need to link your library. * Link against libmpiwrap-amd64-darwin.so and use `export DYLD_LIBRARY_PATH=/opt/local/lib/valgrind/` before you call openmpirun. -- Ticket URL: <http://trac.macports.org/ticket/26424#comment:5> MacPorts <http://www.macports.org/> Ports system for Mac OS
#26424: valgrind +openmpi doesn't provide promised "libmpiwrap-<platform>.so" file -----------------------------------+---------------------------------------- Reporter: nilstec_inc@… | Owner: raimue@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Resolution: fixed | Keywords: Port: valgrind-devel | -----------------------------------+---------------------------------------- Comment(by nilstec_inc@…): That's it, thank you very very much for your help! -- Ticket URL: <https://trac.macports.org/ticket/26424#comment:6> MacPorts <http://www.macports.org/> Ports system for Mac OS
#26424: valgrind +openmpi doesn't provide promised "libmpiwrap-<platform>.so" file -----------------------------------+---------------------------------------- Reporter: nilstec_inc@… | Owner: raimue@… Type: defect | Status: reopened Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Resolution: | Keywords: Port: valgrind-devel | -----------------------------------+---------------------------------------- Changes (by mike.hui.zhang@…): * status: closed => reopened * resolution: fixed => Comment: Replying to [comment:6 nilstec_inc@…]:
That's it, thank you very very much for your help!
Hi, what is your Mac OS X's version? On my 10.6.8 Snowleopad, DYLD_LIBRARY_PATH does not work! When I 'otool -L' on the libmpiwrap-amd64-darwin.dylib, I saw there is no path only the filename for it. Even after I use 'install_name_tool -change ' on the helloworld executable (unfortunately, not work on the lib) to have the correct load path, I can not see the 'MPI wrappers' on the screen when I openmpirun it. It seems the library is loaded at runtime because there is no error message from 'ld' or 'dyld'. The output on the screen is just the same as without linking against the mpiwrap lib. -- Ticket URL: <https://trac.macports.org/ticket/26424#comment:7> MacPorts <http://www.macports.org/> Ports system for Mac OS
#26424: valgrind +openmpi doesn't provide promised "libmpiwrap-<platform>.so" file -----------------------------+---------------------- Reporter: nilstec_inc@… | Owner: raimue@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 1.9.1 Resolution: fixed | Keywords: Port: valgrind-devel | -----------------------------+---------------------- Changes (by sean@…): * status: reopened => closed * resolution: => fixed Comment: This should definitely be fixed by now with my mpi portgroup. If there is still an issue, please open a new ticket. -- Ticket URL: <https://trac.macports.org/ticket/26424#comment:8> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts