rawtherapee 4.0.7 build failure on 9-STABLE amd64

Matthias Andree mandree at FreeBSD.org
Sun Apr 1 11:05:23 UTC 2012


Am 31.03.2012 10:43, schrieb Ruslan Mahmatkhanov:
> Matthias Andree wrote on 31.03.2012 11:01:
>> Ruslan,
>>
>> I cannot build rawtherapee 4.0.7 on 9-STABLE amd64,
>> re-running it after failure with "make MAKE_JOBS_UNSAFE=yes" yields:
> [...]
>> math.h line 239 declares "double log2(double);", so I presume that
>> patch-rtengine_improcfun.h proves harmful here; the "#ifndef log2(x)" is
>> bogus if log2 isn't declared as macro (and is actually what breaks the
>> compile), and the macro is #define log2(x) ((log(x)/log(2)).
>>
>> It might be more useful to do this instead:
>>
>> static const  double lnOf2 = log(2);
>> static inline double log2(double x) { return log(x)/lnOf2; }
>>
>> or possibly checking math.h for log2() before adding the patch.
>>
>> I'm afraid I won't have the time to do that now; could you?
>>
>> Thanks.
>>
>> Best,
>> Matthias
>>
>>
> 
> Should be fixed now. That was a last minute change when I realize that
> it doesn't build on 8.2. I didn't rechecked it on 9/10 after the fix was
> applied. Apologies and thanks for the hands up.

Thanks, works for me now.  I'd only used MAKE_JOBS_UNSAFE to be sure
there weren't any artifacts, and I get sequential logging.

> Btw, it builds fine to me on -current amd64 with MAKE_JOBS_SAFE=yes,
> should I add this knob to Makefile?

Assuming it uses cmake as a proven and established build utility, I'd
say 'go for it'.

Thanks for the prompt fix!

Best,
Matthias


More information about the freebsd-ports mailing list