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