-
-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
On aarch64 Termux environment, installing pyppmd via pip (or build from source) fails with:
src/lib/buffer/ThreadDecoder.c:182:9: error: call to undeclared function 'pthread_cancel'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
182 | pthread_cancel(tc->handle);
| ^
src/lib/buffer/ThreadDecoder.c:182:9: note: did you mean 'pthread_once'?
/data/data/com.termux/files/usr/include/pthread.h:264:5: note: 'pthread_once' declared here
264 | int pthread_once(pthread_once_t* _Nonnull __once, void (* _Nonnull __init_routine)(void));
| ^
src/lib/buffer/ThreadDecoder.c:277:9: error: call to undeclared function 'pthread_cancel'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
277 | pthread_cancel(tc->handle);
| ^
2 errors generated.
error: command '/data/data/com.termux/files/usr/bin/aarch64-linux-android-clang' failed with exit code 1
ERROR Backend subprocess exited when trying to invoke build_wheel
Termux's pthread.h do not provide a implementation for pthread_cancel. So we cannot build it.
Replace pthread_cancel(tc->handle) to pthread_kill(tc->handle, SIGUSR1) can fix this problem. With all tests passed.
But it seems unsafe.
Environment
OS: Android 13 Termux 0.118.1
Kernel: aarch64 Linux 4.14.186
Version: pyppmd 1.2.1.dev0 (latest)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels