POV-Ray : Newsgroups : povray.general : Failure to build on IA64 Server Time
18 Nov 2024 05:11:06 EST (-0500)
  Failure to build on IA64 (Message 1 to 3 of 3)  
From: Scott Pakin
Subject: Failure to build on IA64
Date: 16 Oct 2002 17:22:05
Message: <3DADD87D.2020102@uiuc.edu>
[This was already posted to povray.programming, but
bug### [at] povrayorg suggested that I post here to
encourage "discussion and investigation by [my] fellow POV-Ray
enthusiasts".]

Version 3.50b doesn't build as is with gcc on an IA64 running Linux.
The following patch corrects the problem.  Basically, int32 and
u_int32 need to be defined as ints, not longs, on IA64; and, the
prototype for Opts_Locate_File() should use the u_int32 typedef
instead of hardwiring in "unsigned long".  (Tsk, tsk.)

-- Scott

=============== BEGIN: povray-3.50b-itanium-g++.patch ===============
--- src/frame.h.ORIG    Mon Oct  7 14:37:45 2002
+++ src/frame.h Mon Oct  7 14:37:59 2002
@@ -44,12 +44,12 @@
  class pov_istream_class;
  class pov_ostream_class;

-typedef unsigned long u_int32 ;
+typedef unsigned int u_int32 ;
  typedef unsigned short u_int16 ;
  typedef unsigned char u_int8 ;
  typedef unsigned char byte ;

-typedef signed long int32 ;
+typedef signed int int32 ;
  typedef signed short int16 ;
  typedef signed char int8 ;

--- src/optin.cpp.ORIG  Mon Oct  7 14:44:11 2002
+++ src/optin.cpp       Mon Oct  7 14:44:55 2002
@@ -364,7 +364,7 @@

  static bool matches(char *v1, char *v2);

-POV_ISTREAM *Opts_Locate_File(char *filename, unsigned long stype, char *buffer, int
err_flag, POVMSObjectPtr obj);
+POV_ISTREAM *Opts_Locate_File(char *filename, u_int32 stype, char *buffer, int
err_flag, POVMSObjectPtr obj);


  /*****************************************************************************
================= END: povray-3.50b-itanium-g++.patch =================


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: Failure to build on IA64
Date: 16 Oct 2002 17:52:08
Message: <3daddf88$1@news.povray.org>
In article <3DA### [at] uiucedu> , Scott Pakin <pak### [at] uiucedu>  
wrote:

> [This was already posted to povray.programming, but
> bug### [at] povrayorg suggested that I post here to
> encourage "discussion and investigation by [my] fellow POV-Ray
> enthusiasts".]
>
> Version 3.50b doesn't build as is with gcc on an IA64 running Linux.
> The following patch corrects the problem.  Basically, int32 and
> u_int32 need to be defined as ints, not longs, on IA64; and, the
> prototype for Opts_Locate_File() should use the u_int32 typedef
> instead of hardwiring in "unsigned long".  (Tsk, tsk.)

This has been reported before and will be corrected in the next release of
the source code.

    Thorsten

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Warp
Subject: Re: Failure to build on IA64
Date: 17 Oct 2002 07:34:55
Message: <3daea05f@news.povray.org>
If I'm not completely mistaken, limits.h (climits in C++?) is a standard
C library and can be used to select the proper types for the required
sizes.
  Also there's a more advanced version of this in the C++ standard, but
I don't remember now how it works (or what was the name of the library).

  I wonder if it could be a good idea to start using those (if possible).

-- 
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}//  - Warp -


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.