-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue on MacOS: HWLOC or PAPI required if not running on a Linux platform #673
Comments
@Goon83 Thanks for bringing this back up. I agree that the argument issued in the previous tickets that mac OS X is not an HPC platform is rather weak and that many people use that platform for development work. I think our main problem is that we currently have no one who is using a mac so it's hard to properly debug and fix these issues. Patches are of course always welcome :) That being said, you mentioned that you installed PAPI. Could you please confirm that CMake properly finds your PAPI installation? A summary of the enabled packages in printed at the end of the CMake run. Does it list PAPI as found? If not, can you make sure the path to PAPI is set the |
I think it finds the PAPI. The ./build.minimal.sh says:
As shown above, the /usr/local/lib/libpapi.so is located for compile. The error for
|
BTW, I also tested with hwinfo (which installed from MacPorts). It also reports the same error. |
The error message from DART that you first reported indicated that PAPI was not found at compile time (it's guarded by As an alternative, is there an easy way for you to install |
Note that with that patch you should not require PAPI or hwloc... |
Hi @devreal and @anindex, Something wired, however, happens after I tried to compile the example code individually /w the dash-mpic++. Error informations are listed below. Note that using the compile files within the code tree works (as said above). Any hints to remove the error ?
Bests, |
@Goon83 Thanks for checking the branch :) Something seems off with your setup. First, the Second, it seems that your compiler has an issue with the C++ #include <iostream>
int main()
{
return 0;
} |
Hi devreal, Test 1, without "unistd.h"
mpicc works but the dash-mpicxx fails.
Test 2: with the unistd.h.
mpicc works but the dash-mpicxx fails.
Found "unistd.h" in a few places. 🍀10:42:29@dash🍃 locate unistd.h |
Interesting. Can you post the output of the following?
That will show us how the DASH wrapper invokes the underlying MPI compiler. |
|
What happens if you just invoke the Xcode C++ compiler?
|
|
How do you usually invoke the C++ compiler? |
Mostly, I just used mpicxx, not directly using c++. |
Mhh, then |
🍀12:10:22@dash🍃 mpicxx -compile_info |
Ahh, so mpich picked up Can you try to rebuild DASH with the following?
That should tell the DASH CMake to use the Clang compiler. |
Seems that using the clang++ still has the error:
For reference, output of mpicc
|
AFAICS, your C++ compiler installation is broken as the compiler is unable to compile a simple C++ application by itself. For some weird reason MPICH seems to correct for this by including the necessary directories but that is not the standard (at least on any sane system I have access to). Having said that, you can try to correct it yourself by adding something like |
@devreal
Error info:
|
This has been addressed in #677 (pending review) :) |
Mostly follow the steps listed here : #616
But, no luck on my Mac 10.14.6. After much of pain to install PAPI, remove -lrt and other issues like malloc.h. Code did get compiled but it reports the below error at runtime. I used the ./build.minimal.sh /w PAPI turn on. Any idea to debug or resolve this ?
I also tried to test without PAPI via,
adding
#define DASH__UTIL__TIMER_POSIX
to
/Users/dbin/test/dash-git/dash/include/dash/util/Timer.h
It reports the same error too.
Error:
[ 0 ERROR ] [ 627018.374 ] hwinfo.c :362 !!! DART: dart_hwinfo: HWLOC or PAPI required if not running on a Linux platform
[ 0 ERROR ] [ 627018.410 ] unit_locality.c :224 !!! DART: Assertion failed: dart_hwinfo(&hwinfo) -- Expected return value 0
application called MPI_Abort(MPI_COMM_WORLD, -6) - process 0
[unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=-6
:
system msg for write_line failure : Bad file descriptor
The text was updated successfully, but these errors were encountered: