12.12. Threading libraries

The threading library must be linked to the binaries using a special linker flag -pthread on FreeBSD. If a port insists on linking -lpthread or -lc_r directly, patch it to use PTHREAD_LIBS variable provided by the ports framework. This variable usually has the value of -pthread, but on certain architectures and FreeBSD versions it can have different values, so do not just hardcode -pthread into patches and always use PTHREAD_LIBS.

注意:

If building the port errors out with unrecognized option '-pthread' when setting PTHREAD_LIBS, it may be desirable to use gcc as linker by setting CONFIGURE_ENV to LD=${CC}. The -pthread option is not supported by ld directly.

All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.