[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #1353: posix-semaphore egg won't build on OS X: uses
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #1353: posix-semaphore egg won't build on OS X: uses deprecated API |
Date: |
Mon, 13 Mar 2017 23:45:58 -0000 |
#1353: posix-semaphore egg won't build on OS X: uses deprecated API
------------------------+--------------------------------
Reporter: nxg | Owner:
Type: defect | Status: new
Priority: major | Milestone: someday
Component: extensions | Version: 4.12.0
Keywords: | Estimated difficulty:
------------------------+--------------------------------
Building the posix-semaphore egg fails on OS X, as it uses a deprecated
API; see the log below.
This is on OS X 10.11.6, with its associated version of clang (Apple LLVM
version 8.0.0 (clang-800.0.42.1)).
It appears to be only the support for unnamed semaphores (which are
apparently optional in POSIX) that's deprecated; the support for named
ones seems to be present.
There's a StackOverflow discussion about the deprecation at (1) below,
which points to some fairly authoritative discussion, including why the
deprecation exists, at (2).
(1) http://stackoverflow.com/questions/27736618/why-are-sem-init-sem-
getvalue-sem-destroy-deprecated-on-mac-os-x-and-w
(2) https://lists.apple.com/archives/darwin-kernel/2009/Apr/msg00010.html
{{{
% chicken-install posix-semaphore
retrieving ...
connecting to host "chicken.kitten-technologies.co.uk", port 80 ...
requesting "/henrietta.cgi?name=posix-semaphore&mode=default" ...
reading response ...
HTTP/1.1 200 OK
Date: Mon, 13 Mar 2017 23:30:47 GMT
Server: Apache/2.2.31 (Unix) DAV/2 PHP/5.5.36 mod_fastcgi/2.4.6
Connection: close
Transfer-Encoding: chunked
Content-Type: text/plain
reading chunks .
reading files ...
./readme.md
./LICENSE
./posix-semaphore.release-info
./posix-semaphore.meta
./posix-semaphore.setup
./posix-semaphore.scm
./test.scm
posix-semaphore located at
/var/folders/7b/1fldmb290mzbgxppkpwwffx40000gn/T/temp3c46.40550/posix-
semaphore
checking platform for `posix-semaphore' ...
checking dependencies for `posix-semaphore' ...
install order:
("posix-semaphore")
installing posix-semaphore:0.5.1 ...
changing current directory to
/var/folders/7b/1fldmb290mzbgxppkpwwffx40000gn/T/temp3c46.40550/posix-
semaphore
'/Data/tools/chicken-4.12/bin/csi' -bnq -setup-mode -e "(require-library
setup-api)" -e "(import setup-api)" -e "(setup-error-handling)" -e
"(extension-name-and-version '(\"posix-semaphore\" \"0.5.1\"))" 'posix-
semaphore.setup'
'/Data/tools/chicken-4.12/bin/csc' -feature compiling-extension -setup-
mode -O3 -C -O3 -lpthread -s -d1 -j posix-semaphore posix-semaphore.scm
posix-semaphore.c:63:11: warning: 'sem_getvalue' is deprecated
[-Wdeprecated-declarations]
int err = sem_getvalue(sem, &val);
^
/usr/include/sys/semaphore.h:54:5: note: 'sem_getvalue' has been
explicitly marked
deprecated here
int sem_getvalue(sem_t * __restrict, int * __restrict) __deprecated;
^
posix-semaphore.c:92:1: warning: implicit declaration of function
'clock_gettime' is
invalid in C99 [-Wimplicit-function-declaration]
clock_gettime(CLOCK_REALTIME, &tm);
^
posix-semaphore.c:92:15: error: use of undeclared identifier
'CLOCK_REALTIME'
clock_gettime(CLOCK_REALTIME, &tm);
^
posix-semaphore.c:95:7: warning: implicit declaration of function
'sem_timedwait' is
invalid in C99 [-Wimplicit-function-declaration]
CHECK(sem_timedwait(sem, &tm))
^
posix-semaphore.c:180:7: warning: 'sem_destroy' is deprecated
[-Wdeprecated-declarations]
CHECK(sem_destroy(sem))
^
/usr/include/sys/semaphore.h:53:5: note: 'sem_destroy' has been explicitly
marked
deprecated here
int sem_destroy(sem_t *) __deprecated;
^
posix-semaphore.c:192:7: warning: 'sem_init' is deprecated [-Wdeprecated-
declarations]
CHECK(sem_init(sem, shared, value))
^
/usr/include/sys/semaphore.h:55:5: note: 'sem_init' has been explicitly
marked deprecated
here
int sem_init(sem_t *, int, unsigned int) __deprecated;
^
5 warnings and 1 error generated.
Error: shell command terminated with non-zero exit status 256:
'/Applications/Xcode.app/Contents/Developer/usr/bin/gcc' 'posix-
semaphore.c' -o 'posix-semaphore.o' -c -fno-strict-aliasing -fwrapv -fno-
common -DHAVE_CHICKEN_CONFIG_H -m64 -DC_ENABLE_PTABLES -Os -fomit-frame-
pointer -fPIC -DPIC -DC_SHARED -O3
-I/Data/tools/chicken-4.12/include/chicken
Error: shell command failed with nonzero exit status 256:
'/Data/tools/chicken-4.12/bin/csc' -feature compiling-extension -setup-
mode -O3 -C -O3 -lpthread -s -d1 -j posix-semaphore posix-semaphore.scm
Error: shell command terminated with nonzero exit code
17920
"'/Data/tools/chicken-4.12/bin/csi' -bnq -setup-mode -e \"(require-library
setup...
}}}
--
Ticket URL: <https://bugs.call-cc.org/ticket/1353>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.
- [Chicken-janitors] #1353: posix-semaphore egg won't build on OS X: uses deprecated API,
Chicken Trac <=