[MacPorts] #59772: python38: fails on Leopard: Undefined symbols: :info:build "_pthread_threadid_np"
MacPorts
noreply at macports.org
Fri Nov 29 01:42:39 UTC 2019
#59772: python38: fails on Leopard: Undefined symbols: :info:build
"_pthread_threadid_np"
-----------------------+---------------------------
Reporter: kencu | Owner: jmroot
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords: leopard tiger
Port: python38 |
-----------------------+---------------------------
Description changed by kencu:
Old description:
> {{{
> :info:build Undefined symbols:
> :info:build "_pthread_threadid_np", referenced from:
> :info:build _PyThread_get_thread_native_id in
> libpython3.8.a(thread.o)
> }}}
> that symbol exists on SnowLeopard and later. In llvm-9.0, I handled it
> like this:
> {{{
> diff --git llvm_master/lib/Support/Unix/Threading.inc
> macports_master/lib/Support/Unix/Threading.inc
> index ed9a9656305..e8f9a13860f 100644
> --- llvm_master/lib/Support/Unix/Threading.inc
> +++ macports_master/lib/Support/Unix/Threading.inc
> @@ -14,6 +14,7 @@
> #include "llvm/ADT/Twine.h"
>
> #if defined(__APPLE__)
> +#include <Availability.h>
> #include <mach/mach_init.h>
> #include <mach/mach_port.h>
> #endif
> @@ -153,8 +154,10 @@ void llvm::set_thread_name(const Twine &Name) {
> ::pthread_setname_np(::pthread_self(), "%s",
> const_cast<char *>(NameStr.data()));
> #elif defined(__APPLE__)
> +#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1060
> ::pthread_setname_np(NameStr.data());
> #endif
> +#endif
> }
>
> void llvm::get_thread_name(SmallVectorImpl<char> &Name) {
> --
> }}}
New description:
{{{
:info:build Undefined symbols:
:info:build "_pthread_threadid_np", referenced from:
:info:build _PyThread_get_thread_native_id in
libpython3.8.a(thread.o)
}}}
that symbol exists on SnowLeopard and later. In llvm-9.0, I handled a
similar issue like this:
{{{
diff --git llvm_master/lib/Support/Unix/Threading.inc
macports_master/lib/Support/Unix/Threading.inc
index ed9a9656305..e8f9a13860f 100644
--- llvm_master/lib/Support/Unix/Threading.inc
+++ macports_master/lib/Support/Unix/Threading.inc
@@ -14,6 +14,7 @@
#include "llvm/ADT/Twine.h"
#if defined(__APPLE__)
+#include <Availability.h>
#include <mach/mach_init.h>
#include <mach/mach_port.h>
#endif
@@ -153,8 +154,10 @@ void llvm::set_thread_name(const Twine &Name) {
::pthread_setname_np(::pthread_self(), "%s",
const_cast<char *>(NameStr.data()));
#elif defined(__APPLE__)
+#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1060
::pthread_setname_np(NameStr.data());
#endif
+#endif
}
void llvm::get_thread_name(SmallVectorImpl<char> &Name) {
--
}}}
--
--
Ticket URL: <https://trac.macports.org/ticket/59772#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list