[lttng-dev] urcu configure/build failures on Darwin
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Wed Jun 22 19:16:12 UTC 2016
----- On Jun 22, 2016, at 2:17 PM, Luke K D'Alessandro <ldalessa at indiana.edu> wrote:
>> 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 >
>> wrote:
>>>> On Jun 22, 2016, at 11:37 AM, Mathieu Desnoyers < mathieu.desnoyers at efficios.com
>>>> > wrote:
>>>> ----- On Jun 14, 2016, at 12:31 PM, Luke K D'Alessandro < 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 ) 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]
> ```
This is just because we don't have a gettid() system call available. This just leads
to less precise debug printout in the test programs, nothing to worry about.
> however `make check` passes. Should Darwin have its own preprocessor branch in
> this file?
how about make regtest ?
It appears we don't have the "nproc" program available. Is there a brew package for it,
or something similar ?
Thanks,
Mathieu
> Thanks for doing this,
> Luke
>> Thanks,
>> Mathieu
>>> Luke
>>>> Thanks,
>>>> Mathieu
>>>>> Thanks,
>>>>> Luke
>>>>> _______________________________________________
>>>>> lttng-dev mailing list
>>>>> lttng-dev at lists.lttng.org
>>>>> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
>>>> --
>>>> Mathieu Desnoyers
>>>> EfficiOS Inc.
>>>> http://www.efficios.com
>> --
>> Mathieu Desnoyers
>> EfficiOS Inc.
>> http://www.efficios.com
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20160622/8d3d0922/attachment-0001.html>
More information about the lttng-dev
mailing list