[lttng-dev] Compile failure on OSX 10.8

Christian Babeux christian.babeux at efficios.com
Wed Jun 26 13:05:10 EDT 2013


Hi Anand,

I've opened a bug for this issue [1]. My first diagnostic was incorrect.
Configure detect the CPU as a 386, which is quite wrong. This in turns
cause a lot of issues :

This enable the x86 compat layer in liburcu which in turns barf on these:

__asm__ __volatile__ ("pushfl; popl %0" : "=r" (res) : );

[...]

__asm__ __volatile__ ("pushl %0; popfl" : : "r" (newflags) : "cc");


The compiler on Mac OSX has specifically been compiled to run on
x86_64 (seen in config.log, --host=x86_64-apple-darwin11). The pushfl,
popfl instructions are not present on x86_64, so the assembler
fails...

The workaround would be to force the build/host flag at configure time
to this (similar to [2]) :

./configure --build=x86_64-apple-darwin11

We will have to either fix this in the configure.ac script or document this bug.

Christian


[1] - http://bugs.lttng.org/issues/578
[2] - https://trac.macports.org/ticket/21011

On Wed, Jun 26, 2013 at 11:50 AM, Anand Buddhdev <anandb at ripe.net> wrote:
> Hi Christian,
>
> Were you able to figure out from the config.log files why the
> architecture detection wasn't working properly?
>
> Anand
>
> On 21/06/2013 20:40, Anand Buddhdev wrote:
>
>> Hi Christian,
>>
>> I've attached both here.
>>
>> Anand
>>
>> On 21/06/2013 18:51, Christian Babeux wrote:
>>
>>> Hmm that's really weird :/. For some reason configure detect an i386
>>> CPU which is certainly not right. Could you post your config.log with
>>> and without the --host flag (specifying which is which)?
>>>
>>> There might be some slight incompatibilities on OSX and the CPU
>>> detection mechanism we are using...



More information about the lttng-dev mailing list