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
>
>
>
>
>
>

Reply via email to