You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The autoconf build assumes that -pthread is always available. If for some reason it is not, then the build fails due to an unrecognized flag. This is happening on the Nvidia compiler.
It is also possible that the flag is simply named differently, perhaps just a library access, -lpthread. Need more info here.
There is also the broader issue that pthreads are not part of all stdc libraries. For example, I don't think a pedantic C99 build will work with pthreads. There is a generic POSIX threading API, which could be a fallback someday.
To clarify a bit here:
C99 had no threading model. Pthreads works but its presence cannot be assumed. From the name, I assume it's part of POSIX, but not every compiler is POSIX-compilant.
C11 introduced <threads.h> support. This is meant to be a generic threading wrapper. It does mean your code must be C11-compliant. AFAIK this almost always just maps to Pthreads.
The text was updated successfully, but these errors were encountered:
The autoconf build assumes that
-pthread
is always available. If for some reason it is not, then the build fails due to an unrecognized flag. This is happening on the Nvidia compiler.It is also possible that the flag is simply named differently, perhaps just a library access,
-lpthread
. Need more info here.There is also the broader issue that pthreads are not part of all stdc libraries. For example, I don't think a pedantic C99 build will work with pthreads. There is a generic
POSIXthreading API, which could be a fallback someday.To clarify a bit here:
C99 had no threading model. Pthreads works but its presence cannot be assumed. From the name, I assume it's part of POSIX, but not every compiler is POSIX-compilant.
C11 introduced
<threads.h>
support. This is meant to be a generic threading wrapper. It does mean your code must be C11-compliant. AFAIK this almost always just maps to Pthreads.The text was updated successfully, but these errors were encountered: