Hello there,
As the topic says, I'm trying to build OSL with static oiio.
Although the building goes fine, when it gets to compile the shaders
it fails due to unknown data struct:
"../shaders/stdosl.h:493: error: No matching function call to 'area (unknown)'"
The is related to the symtab. If I run $:oslc -d glass.osl I get:
Symbol table:
P : unknown
I : unknown
N : unknown
Ng : unknown
u : unknown
v : unknown
dPdu : unknown
dPdv : unknown
Ps : unknown
Ci : closure color
time : unknown
dtime : unknown
dPdtime : unknown
(. . .)
While with dynamic linking I get:
Symbol table:
P : point
I : vector
N : normal
Ng : normal
u : float
v : float
dPdu : vector
dPdv : vector
Ps : point
Ci : closure color
time : float
dtime : float
dPdtime : vector
(. . . )
There is a chance the problem is Mac exclusive. I'm trying to use
either osl (with oiio dynamic or static) to compile Blender. While the
osl with dynamic oiio works fine as a standalone (e.g., going through
the test suite files), it fails when used to compile Blender shaders
while building it. The error also seems related to the 'globals', but
it should be easy to address the error outside Blender first.
Thanks,
Dalai
Reference Links/Full error messages:
* output of oslc -d with static oiio:
http://www.pasteall.org/35294
* output of oslc -d with static oiio:
http://www.pasteall.org/35295
* git diff of my osl base code (using a patch from Jens Verwiebe for
the static linking, plus a patch to quite bison warning and other
small things)
http://www.pasteall.org/35301/diff