[lttng-dev] urcu configure/build failures on Darwin
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 >
>>> 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
>>> #error "Add platform support to urcu/syscall-compat.h"
>>> 1 error generated.
>>> make: *** [wfqueue.lo] Error 1
>>> make: *** [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
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 ?
>>> lttng-dev mailing list
>>> lttng-dev at lists.lttng.org
>> Mathieu Desnoyers
>> EfficiOS Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the lttng-dev