According to stackoverflow, Darwin doesn't support unnamed semaphores, so sem_init is deprecated and always returns failure, and you should use named semaphores (sem_open) instead.
https://stackoverflow.com/questions/1413785/sem-init-on-os-x/1452182 Jay. On Thu, 25 Apr 2019 at 15:13, Dr. Jürgen Sauermann <mail@jürgen-sauermann.de> wrote: > Hi Louis, > > I vaguely remember that we had that problem on MacOS earlier, but I don't > remember > anymore what the solution was. Any proposals? > > /// Jürgen > > > > On 4/25/19 2:51 PM, Louis Chrétien wrote: > > I’ve just tried to compile SVN 1140 on Mac OS X 10.13.6, with XCode 10.1. > > The last version i managed to compile was 1061 (i know, i was a bit > negligent… ;) ) > > I get the following error: > > g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -Wold-style-cast -Werror > -g -O2 -MT apl-Id.o -MD -MP -MF .deps/apl-Id.Tpo -c -o apl-Id.o `test -f ' > Id.cc' || echo './'`Id.cc > In file included from Id.cc:42 <http://id.cc:42>: > ./Quad_PLOT.hh:43:6: error: 'sem_init' is deprecated > [-Werror,-Wdeprecated-declarations] > { sem_init(&plot_threads_sema, 0, 1); } > ^ > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/semaphore.h:55:42: > note: > 'sem_init' has been explicitly marked deprecated here > int sem_init(sem_t *, int, unsigned int) __deprecated; > ^ > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:176:37: > note: > expanded from macro '__deprecated' > #define __deprecated __attribute__((deprecated)) > ^ > 1 error generated. > make[3]: *** [apl-Id.o] Error 1 > make[2]: *** [all-recursive] Error 1 > make[1]: *** [all-recursive] Error 1 > make: *** [all] Error 2 > > > --- > Louis Chrétien > lchret...@mac.com > > > > > >