[swift-users] Using pthread in Swift

Bryan Chan bryanpkc at gmail.com
Tue Jul 19 12:57:19 CDT 2016

I am trying to use a C library (e.g. libfoo) by using Swift Package
manager to create a module map for the C library and import it into
Swift code. I was able to do this for a few other libraries without
any issue. In this case, the header file of the C library includes
<pthread.h>, which seems to cause conflicts with the Glibc module.

Here is an excerpt from the compiler errors:

error: declaration of 'pthread_mutex_t' must be imported from module
'SwiftGlibc.C.signal' before it is required
pthread_mutex_t  *getFooMutex();
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:128:3: note:
previous declaration is here
} pthread_mutex_t;

What is the correct way to do this? Why isn't swiftc able to tell that
pthread.h belongs to Glibc, and avoid parsing it again as part of


More information about the swift-users mailing list