[lttng-dev] urcu configure/build failures on Darwin

D'Alessandro, Luke K ldalessa at indiana.edu
Wed Jun 22 18:17:47 UTC 2016


> On Jun 22, 2016, at 12:39 PM, Mathieu Desnoyers <mathieu.desnoyers at efficios.com> wrote:
> 
> 
> 
> ----- On Jun 22, 2016, at 11:56 AM, Luke K D'Alessandro <ldalessa at indiana.edu <mailto:ldalessa at indiana.edu>> wrote:
> 
> On Jun 22, 2016, at 11:37 AM, Mathieu Desnoyers <mathieu.desnoyers at efficios.com <mailto:mathieu.desnoyers at efficios.com>> wrote:
> 
> ----- On Jun 14, 2016, at 12:31 PM, Luke K D'Alessandro <ldalessa at indiana.edu <mailto:ldalessa at indiana.edu>> wrote:
> I tried following the Darwin instructions on the website (basically `./configure --build=x86_64-apple-darwin11` but the `clock_gettime` and `-lrt` dependencies don’t exist on Darwin).
> 
> Just for fun I removed this dependency and added a custom version of `clock_gettime` (https://github.com/lorrden/darwin-posix-rt/blob/master/clock_gettime.c <https://github.com/lorrden/darwin-posix-rt/blob/master/clock_gettime.c>) but the build still fails in `systcall-compat.h`.
> 
> ```
> $ make V=1
> /Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
> Making all in .
> /bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./urcu  -I./urcu  -Wall -g -O2 -D_THREAD_SAFE -pthread -MT wfqueue.lo -MD -MP -MF .deps/wfqueue.Tpo -c -o wfqueue.lo wfqueue.c
> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./urcu -I./urcu -Wall -g -O2 -D_THREAD_SAFE -pthread -MT wfqueue.lo -MD -MP -MF .deps/wfqueue.Tpo -c wfqueue.c  -fno-common -DPIC -o .libs/wfqueue.o
> In file included from wfqueue.c:28:
> In file included from ./urcu/static/wfqueue.h:33:
> In file included from ./urcu/uatomic.h:24:
> In file included from ./urcu/system.h:23:
> In file included from ./urcu/arch.h:27:
> ./urcu/syscall-compat.h:39:2: error: "Add platform support to urcu/syscall-compat.h"
> #error "Add platform support to urcu/syscall-compat.h"
>  ^
> 1 error generated.
> make[2]: *** [wfqueue.lo] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
> ```
> 
> Is Darwin still a supported platform for the library?
> 
> It should, yes, but we don't test it in our CI yet.
> 
> I just took care of the syscall-compat.h error (pushed into master
> and stable-0.9). For clock_gettime, we would need to implement
> a LGPLv2.1 wrapper within liburcu for MacOSX.
> 
> Is this something you could look into ?
> 
> Hmm. This isn’t really something I know much about.
> 
> The github link I sent seems to be either GPLv2 or LGPLv3… don’t really know what LGPLv2.1 means. Based on the actually code that I’m seeing, there is really not much going on here and thus it might be difficult to do anything differently. It might be easier to have urcu use some configuration time behavior to have its own arch-specific timing functionality if necessary.
> 
> The only place where we need clock_gettime is urcu/arch/generic.h
> caa_get_cycles.
> 
> I just pushed the implementation of the fix in master and stable-0.9.
> Tested on my own macos mini machine. Can you try them out ?

Looks good on my system as well (bootstrapping with current autotools from brew).

I do get a warning at

```
  ../../tests/common/thread-id.h:62:3: warning: "use pid as thread ID" [-W#warnings]
```

however `make check` passes. Should Darwin have its own preprocessor branch in this file?

Thanks for doing this,
Luke

> 
> Thanks,
> 
> Mathieu
> 
> 
> Luke
> 
> 
> Thanks,
> 
> Mathieu
> 
> 
> 
> Thanks,
> Luke
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org <mailto:lttng-dev at lists.lttng.org>
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
> 
> --
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com <http://www.efficios.com/>
> 
> 
> 
> --
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com <http://www.efficios.com/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20160622/ab49fda9/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20160622/ab49fda9/attachment.sig>


More information about the lttng-dev mailing list