Latest release missing includes? Or reverted good changes?
alerque opened this issue · comments
Caleb Maclennan commented
I'm having trouble building the latest 3.17.0 release for official Arch Linux packages:
In file included from src/cancel.h:8,
from src/cancel.c:40:
src/uniquekey.h:16:39: error: ‘uintptr_t’ undeclared here (not in a function)
16 | #define MAKE_UNIQUE_KEY( p_) ((void*)(uintptr_t)(p_))
| ^~~~~~~~~
src/uniquekey.h:20:72: note: in expansion of macro ‘MAKE_UNIQUE_KEY’
20 | #define DECLARE_CONST_UNIQUE_KEY( name_, p_) UniqueKey const name_ = { MAKE_UNIQUE_KEY( p_)}
| ^~~~~~~~~~~~~~~
src/cancel.h:44:8: note: in expansion of macro ‘DECLARE_CONST_UNIQUE_KEY’
44 | static DECLARE_CONST_UNIQUE_KEY(CANCEL_ERROR, 0xe97d41626cc97577); // 'cancel_error' sentinel
| ^~~~~~~~~~~~~~~~~~~~~~~~
src/cancel.h:10:1: note: ‘uintptr_t’ is defined in header ‘<stdint.h>’; did you forget to ‘#include <stdint.h>’?
9 | #include "macros_and_utils.h"
+++ |+#include <stdint.h>
10 |
Error: Build error: Failed compiling object src/cancel.o
gcc -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -g -ffile-prefix-map=/build/lua-lanes/src=/usr/src/debug/lua-lanes -flto=auto -fPIC -I/usr/include/lua5.1 -c src/cancel.c -o src/cancel.o -Isrc
Reviewing the code changes, I ran across this old CHANGES entry:
* Get rid of uintptr_t to remove dependency on stdint.h
It looks like this is something that got fixed at some point and is now unfixed. Or is there supposed to be some new build time dependency?
Benoit Germain commented
I love optional stuff in standard headers :-).
Benoit Germain commented
Just fixed and moved the release/tag there (didn't feel like creating a new tag and release for what amounts to a compilation fix).