Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 31 Mar 2012 09:01:58 +0200
From:      Matthias Andree <mandree@FreeBSD.org>
To:        rm@freebsd.org
Cc:        ports@FreeBSD.org
Subject:   rawtherapee 4.0.7 build failure on 9-STABLE amd64
Message-ID:  <4F76ABE6.206@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
Ruslan,

I cannot build rawtherapee 4.0.7 on 9-STABLE amd64,
re-running it after failure with "make MAKE_JOBS_UNSAFE=yes" yields:


[  5%] Building CXX object rtengine/CMakeFiles/rtengine.dir/ipresize.cc.o
In file included from
/var/tmp/usr/ports/graphics/rawtherapee/work/rawtherapee-4.0.7/rtengine/ipresize.cc:20:
/var/tmp/usr/ports/graphics/rawtherapee/work/rawtherapee-4.0.7/rtengine/improcfun.h:21:13:
warning: extra tokens at end of #ifndef directive
In file included from /usr/include/c++/4.2/cmath:54,
                 from
/var/tmp/usr/ports/graphics/rawtherapee/work/rawtherapee-4.0.7/rtengine/../rtexif/rtexif.h:28,
                 from
/var/tmp/usr/ports/graphics/rawtherapee/work/rawtherapee-4.0.7/rtengine/rtengine.h:28,
                 from
/var/tmp/usr/ports/graphics/rawtherapee/work/rawtherapee-4.0.7/rtengine/imageio.h:30,
                 from
/var/tmp/usr/ports/graphics/rawtherapee/work/rawtherapee-4.0.7/rtengine/imagefloat.h:25,
                 from
/var/tmp/usr/ports/graphics/rawtherapee/work/rawtherapee-4.0.7/rtengine/improcfun.h:25,
                 from
/var/tmp/usr/ports/graphics/rawtherapee/work/rawtherapee-4.0.7/rtengine/ipresize.cc:20:
/usr/include/math.h:239: error: expected `)' before '/' token
*** Error code 1

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F76ABE6.206>