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

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Wed Jun 22 16:39:09 UTC 2016


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

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 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20160622/7ba74859/attachment-0001.html>


More information about the lttng-dev mailing list