pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/44764: poppler failed to compile on Solaris 2.8 from pkgsrc 2010Q4



>Number:         44764
>Category:       pkg
>Synopsis:       poppler failed to compile on Solaris 2.8 from pkgsrc 2010Q4
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Mar 24 12:45:00 +0000 2011
>Originator:     Dr. W. Stukenbrock
>Release:        pkgsrc-2010Q4
>Organization:
Dr. Nagler & Company GmbH
>Environment:
        
        
System: NetBSD test-s0 4.0 NetBSD 4.0 (NSW-WS) #0: Tue Aug 17 17:28:09 CEST 
2010 wgstuken@test-s0:/usr/src/sys/arch/amd64/compile/NSW-WS amd64
Architecture: x86_64
Machine: amd64
>Description:
        On solaris 2.8 there are no fmin() and fmax() functions in libm.so.
        So TextOutputDev.cc have unresolved externals ..
        On Solaris 2.10 fmin and fmax are defined in math_iso99.h.
        I have no Solaris 2.9 here, so I cannot check if fmin/fmax is
        present there - sorry
>How-To-Repeat:
        Try to compile poppler on Solaris 2.8.
>Fix:
        The following patch will fix the problem.

        Accedently there is no way to figure out the OS version when compiling
        with gcc. Sunstudio compilers have __`name -s`_`uname -r` define (e.g. 
__SunOS_5_8)
        but gcc has nothing like this.
        So I choose the header-file definition in order to decide if we need
        an own version or not.
        Hope this will match any future Solaris version too ...

--- poppler/TextOutputDev.cc.orig       2011-03-24 11:56:33.736416000 +0100
+++ poppler/TextOutputDev.cc    2011-03-24 13:06:09.153971000 +0100
@@ -63,9 +63,9 @@
 #include "ICSupport.h"
 #endif
 
-#if defined(__DragonFly__) || defined(__NetBSD__)
+#if defined(__DragonFly__) || defined(__NetBSD__) || (defined(__sun) && 
defined(__SVR4))
 #include <sys/param.h>
-#if !(defined(__DragonFly__) && __DragonFly_version >= 200204) && 
!(defined(__NetBSD__) && (__NetBSD_Version__ >= 599002100 || 
(__NetBSD_Version__ >= 501000000 && __NetBSD_Version__ < 599000000)))
+#if !(defined(__DragonFly__) && __DragonFly_version >= 200204) && 
!(defined(__NetBSD__) && (__NetBSD_Version__ >= 599002100 || 
(__NetBSD_Version__ >= 501000000 && __NetBSD_Version__ < 599000000))) && 
!(defined(__sun) && defined(_ISO_MATH_C99_H))
 static double fmax(double x, double y) { if (isnan(x)) return y; if (isnan(y)) 
return x; return (x > y ? x : y);}
 static double fmin(double x, double y) { if (isnan(x)) return y; if (isnan(y)) 
return x; return (x < y ? x : y);}
 #endif

>Unformatted:
        
        


Home | Main Index | Thread Index | Old Index