[MacPorts] #38803: Request port of Stanford "rayshade"

MacPorts noreply at macports.org
Mon Apr 15 21:36:04 PDT 2013


#38803: Request port of Stanford "rayshade"
--------------------------------+--------------------------------
  Reporter:  murrayeisenberg@…  |      Owner:  macports-tickets@…
      Type:  request            |     Status:  new
  Priority:  Normal             |  Milestone:
 Component:  ports              |    Version:
Resolution:                     |   Keywords:
      Port:  rayshade           |
--------------------------------+--------------------------------
Changes (by ryandesign@…):

 * cc: ryandesign@… (added)
 * keywords:  graphics ray-tracing =>
 * version:  2.1.3 =>
 * port:   => rayshade


Comment:

 Precisely.

 Anyway, here's the start of a Portfile.

 I patched the Configure script to remove incorrect warnings and errors and
 to look in `${prefix}` first so that our newer version of `bison` gets
 used. Actually I think `bison` is also used at runtime.

 During configuration, it tries to use `nm` to figure out what's in the C
 library. It uses `printf` as its litmus test, and `printf` doesn't seem to
 be in OS X's C library—or `nm` isn't the right way to make that
 determination. If we can fix this it might help it find some other
 functions.

 The configuration asks some questions I didn't know the answers to, like
 in which ways the compiler supports the `void` type or how many bits of
 randomness the `random()` function produces. (The
 [https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man3/random.3.html
 random() manpage] says all bits are random, but it returns a `long`;
 doesn't the size of a `long` vary based on the build architecture?) I left
 those answers at the defaults.

 After configuration, it runs `make depend`, which generates a lot of
 warnings and one error, I believe because it uses `cpp` which doesn't
 understand some things in the system headers. Using `$CC -E` wouldn't
 encounter those errors but is not an option because rayshade needs to feed
 things to the C preprocessor via stdin and it seems that only `cpp`
 understands that.

 Then the build fails with various errors like:
 {{{
 hf.c:470:1: error: static declaration of 'CreateHfTriangle' follows non-
 static declaration
 }}}
 {{{
 hf.c:670:1: error: static declaration of 'GetQueuedTri' follows non-static
 declaration
 }}}
 {{{
 extended.c:58:1: error: static declaration of 'ExtendedIntens' follows
 non-static declaration
 }}}
 {{{
 fog.c:31:2: error: function declared in block scope cannot have 'static'
 storage class
 }}}
 {{{
 texture.c:165:3: error: non-void function 'TextToUV' should return a value
 [-Wreturn-type]
 }}}
 And then finally:
 {{{
 /usr/include/strings.h:76:7: error: expected parameter declarator
 }}}
 {{{
 /usr/include/strings.h:76:7: error: expected ')'
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/38803#comment:8>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list