ports/74173: PovRAY not compiling on i386 platform

John Cochran jdc at fiawol.org
Sat Nov 20 18:50:25 UTC 2004


>Number:         74173
>Category:       ports
>Synopsis:       PovRAY not compiling on i386 platform
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Nov 20 18:50:24 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     John Cochran
>Release:        5.3
>Organization:
>Environment:
FreeBSD smof.fiawol.org 5.3-RELEASE FreeBSD 5.3-RELEASE #0: Thu Nov 11 08:08:34 EST 2004     root at smof.fiawol.org:/usr/src/sys/i386/compile/JOHNC  i386
>Description:
The /graphics/povray program is marked as "broken" on a i386 platform. The problem is caused by a typedef conflict between two different ports and an invalid patch file for the povray package.
>How-To-Repeat:
Just attempt to compile the PovRay package and see
>Fix:
Make some changes to the "patch-src::frame.h" file.

Change line 7 from:
+#if defined(__LP64__) || defined(__alpha__)
to:
+#if defined(__LP64__) || defined(__alpha__) || (UINT_MAX >= 4294967295)

and change line 16 from:
+#if defined(__LP64__) || defined(__alpha__)
to:
+#if defined(__LP64__) || defined(__alpha__) || (INT_MAX >= 2147483647)

If may be possible to simplify both lines to nothing more than:
+#if (UINT_MAX >= 4294967295)
and
+#if (INT_MAX >= 2147483647)

but I don't have access to an alpha platform to test that change.

Complete contents of the "patch-src::frame.h" will be:
--- src/frame.h.orig    Tue Jan  7 10:08:30 2003
+++ src/frame.h Sun Dec 28 23:37:04 2003
@@ -44,12 +44,20 @@
 class pov_istream_class;
 class pov_ostream_class;
 
+#if defined(__LP64__) || defined(__alpha__) || (INT_MAX >= 4294967295)
+typedef unsigned int u_int32 ;
+#else
 typedef unsigned long u_int32 ;
+#endif
 typedef unsigned short u_int16 ;
 typedef unsigned char u_int8 ;
 typedef unsigned char byte ;
 
+#if defined(__LP64__) || defined(__alpha__) || (INT_MAX >= 2147483647)
+typedef signed int int32 ;
+#else
 typedef signed long int32 ;
+#endif
 typedef signed short int16 ;
 typedef signed char int8 ;
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list