Ticket #254 (new task)

Opened 5 months ago

Last modified 5 months ago

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

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

Changed 5 months ago by oetiker

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

Changed 5 months 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.

Changed 5 months ago by oetiker

do that ... because I did test on solaris and the compilation did work with gcc ... but I have not setup the machine so I don't know what exactly is installed there ...

cheers tobi

Note: See TracTickets for help on using tickets.

NOTE: The content of this website is accessible with any browser. The graphical design though relies completely on CSS2 styles. If you see this text, this means that your browser does not support CSS2. Consider upgrading to a standard conformant browser like Mozilla Firefox or Opera but also Apple's Safari or KDE's Konqueror for example. It may also be that you are looking at a mirror page which did not copy the CSS for this page. Or if some pictu res are missing, then the mirror may not have picked up the contents of the inc directory.