Opened 14 months ago
Last modified 14 months ago
#68308 assigned defect
legacy-support clock update resulted in a bug: /opt/local/include/LegacySupport/time.h:83:27: error: unknown type name 'clockid_t'; did you mean 'clock_id_t'?
Reported by: | barracuda156 | Owned by: | catap (Kirill A. Korinsky) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | Cc: | mascguy (Christopher Nielsen), macportsraf | |
Port: | legacy-support |
Description
Just got the following with R-webfakes
build:
/opt/local/bin/gcc-mp-12 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -isystem/opt/local/include/LegacySupport -I/opt/local/include -DNO_CGI -DNO_FILES -DARCH_IS_BIG_ENDIAN=1 -fPIC -pipe -Os -arch ppc -c civetweb.c -o civetweb.o In file included from /usr/include/sys/time.h:197, from /opt/local/include/LegacySupport/sys/time.h:25, from civetweb.c:371: /opt/local/include/LegacySupport/time.h:83:27: error: unknown type name 'clockid_t'; did you mean 'clock_id_t'? 83 | extern int clock_gettime( clockid_t clk_id, struct timespec *ts ); | ^~~~~~~~~ | clock_id_t /opt/local/include/LegacySupport/time.h:84:27: error: unknown type name 'clockid_t'; did you mean 'clock_id_t'? 84 | extern int clock_getres ( clockid_t clk_id, struct timespec *ts ); | ^~~~~~~~~ | clock_id_t make: *** [civetweb.o] Error 1 ERROR: compilation failed for package ‘webfakes’
See also #68213
Change History (6)
comment:1 follow-up: 2 Changed 14 months ago by barracuda156
comment:2 follow-up: 3 Changed 14 months ago by catap (Kirill A. Korinsky)
Replying to barracuda156:
it builds cleanly, but I am not sure this is the right thing to do :)
Never redefine system's value with some random value. It is a good way to spend hours, days and probably weeks in attempts to understand wtf is going on.
comment:3 Changed 14 months ago by barracuda156
Replying to catap:
Replying to barracuda156:
it builds cleanly, but I am not sure this is the right thing to do :)
Never redefine system's value with some random value. It is a good way to spend hours, days and probably weeks in attempts to understand wtf is going on.
Should we raise this to R-webfakes
upstream? Source which fails: https://github.com/r-lib/webfakes/blob/b10bfbfa1589d02b84d0e41c1f542b5df495b241/src/civetweb.c#L354-L433
comment:4 follow-up: 5 Changed 14 months ago by catap (Kirill A. Korinsky)
Yes. I doubt that current code will be build on modern macOS.
comment:5 Changed 14 months ago by barracuda156
Replying to catap:
Yes. I doubt that current code will be build on modern macOS.
Apparently it does, at least on CRAN: https://cran.r-project.org/web/checks/check_flavors.html#r-release-macos-x86_64
comment:6 Changed 14 months ago by barracuda156
But removing defines works fine for me:
--- src/civetweb.c.orig 2023-10-01 02:51:01.000000000 +0800 +++ src/civetweb.c 2023-10-01 19:22:44.000000000 +0800 @@ -361,9 +361,6 @@ #endif #endif -#define CLOCK_MONOTONIC (1) -#define CLOCK_REALTIME (2) - #include <mach/clock.h> #include <mach/mach.h> #include <mach/mach_time.h>
If I change:
to:
the port builds, but complains:
Finally, if I do this:
it builds cleanly, but I am not sure this is the right thing to do :)