Ticket #254 (closed task: fixed)
Solaris & Pango caveats (and resolution!)
| Reported by: | human | Owned by: | oetiker |
|---|---|---|---|
| Priority: | minor | Milestone: | |
| Component: | misc | Version: | 1.4.2 |
| Keywords: | Solaris, pangocairo | Cc: |
Description (last modified by oetiker) (diff)
Hi,
rrdtool-1.4.2 on solaris10/x86 WITHOUT SunStudio? will fail for some reasons. First off the inevitable fail in math_c99.h w/ gcc-3.4.x, for a simple workaround, apply this diff:
--- /usr/include/iso/math_c99.h.dist Mon Feb 22 10:52:05 2010
+++ /usr/include/iso/math_c99.h Mon Feb 22 11:01:57 2010
@@ -42,8 +42,20 @@
#undef isfinite
#define isfinite(x) __builtin_isfinite(x)
#undef isinf
-#define isinf(x) __builtin_isinf(x)
+#if defined(__GNUC__)
+#define isinf(x) __extension__( \
+ { __typeof(x) __x_i = (x); \
+ __x_i == (__typeof(__x_i)) INFINITY || \
+ __x_i == (__typeof(__x_i)) (-INFINITY); })
+#else
+#define isinf(x) __builtin_isinf(x)
+#endif
#undef isnan
+#if defined(__GNUC__)
+#define isnan(x) \
+ __extension__({ __typeof (x) __x_a = (x); \
+ __builtin_expect(__x_a != __x_a, 0); })
+#else
#define isnan(x) __builtin_isnan(x)
#undef isnormal
#define isnormal(x) __builtin_isnormal(x)
Then there's a fallback issue in configure with regard to pangocairo and weirdness of pkg-config. The latter will return 1 on --exists if some dependency on pangocairo is not fulfilled (and there's a lot of them recursivly). Yet, configure has a fallback for a failing pkg-config and I'd say, this fallback is broken (generated configure, line 29910): LIBS="-lpango-1.0 $LIBS" But actually it'd need "-lpangocairo $LIBS". I dont know how autoconf creates this, thus no diff to configure.ac from me. This should be just a hint, the better way is to fix ones pkg-config setup anyway. It's just that the resulting error-message from configure is completly misleading about what happened (as so often ;) ).
So all this rambling could go to some Documentation-whatever.
Change History
comment:2 Changed 2 years ago by human
this is killing me. the workarounds will silence 'configure', but there wont be anything useful after compiling. i've to recheck this with a clean start.



hmmm modifying system files is not really an option ... have a look at configure.ac and look for solaris and also at m4/acinclude.m4 there is actually already a bunch of code dealing with this in there. Maybe you can add your two bits in the same spirit.
what error message do you get ?
as for pangocairo you are right, the conf file in solaris seems broken, I have added a note to the build instructions already. It is about OpenSolaris?, but it probably works for the normal solaris too.
cheers tobi