How does Houdini Engine find the internal OTLs?

   4480   4   2
User Avatar
Member
3 posts
Joined: Jan. 2015
Offline
I have this OTL (x.otl) in Houdini that is using a few custom VOP OTLs in its computation. Everything is working fine within Houdini. I manage to load the x.otl into Maya using the Houdini Engine plugin, but when it's trying to process, it threw out error of undefined functions of the VOP OTLs. I reckon it must be path issue. So I tried setting HAPI_OTL_PATH to include the path of the VOP OTLs and restarted Maya. But I still get the same error message. I tried setting HOUDINI_OTLSCAN_PATH as well but this time, I couldn't even load the Houdini Engine plugin. What did I do wrong?
User Avatar
Member
1799 posts
Joined: Oct. 2010
Offline
Hey kc ong, are you setting the hapi_otl_path in the maya.env?
-G
User Avatar
Member
3 posts
Joined: Jan. 2015
Offline
I'm in a Linux environment and I set the path using shell command “setenv”:

setenv HAPI_OTL_PATH “/rel/folio/houdini_base/houdini_base-3.1.9-1/houdini/13.0.621_64/otls”

I also realized that the VOP OTLs are actually callling compiled functions in some DSO, so I further set the following environment variable:

setenv HAPI_DSO_PATH “/rel/folio/houdini_base/houdini_base-3.1.9-1/houdini/13.0.621_64/dso/vex”

But Houdini Engine for Maya still cannot find the VOP OTL because it errored with “call to undefined function” when it's trying to execute the VOP.

I then copy the .so file to my home directory
/usr/home/kcong/houdini13.0/dso/

and set the HAPI_DSO_PATH to “/usr/home/kcong/houdini13.0” because I read from another thread that Houdini might automatically assume a sub-folder named “dso”. But this still does not work.

I'm using Houdini 13.0.621

Thanks for any feedback.
User Avatar
Member
1799 posts
Joined: Oct. 2010
Offline
oohh… not too sure of your specific error, but I do notice something that may be an issue…

for your otls and dso paths, add a & at the end to tell houdini to append to the path, otherwise I believe you end up losing your base definitions, which will definitely cause some hell in VOPs. something like:

setenv HAPI_OTL_PATH “/rel/folio/houdini_base/houdini_base-3.1.9-1/houdini/13.0.621_64/otls; &;”
-G
User Avatar
Member
3 posts
Joined: Jan. 2015
Offline
So, SESI replied to me and it turns out that all the HAPI_* will be deprecated and should not be used. I got it to work just by setting one environment variable:

setenv HOUDINI_PATH “/rel/folio/houdini_base/houdini_base-3.1.9-1/houdini/13.0.621_64:&”

(the :& at the end indicates an append as explained by grayOlorin)

You DON"T have to set HOUDINI_OTLSCAN_PATH and HOUDINI_DSO_PATH. Houdini Engine seems to be able to find them under /otls and /dso sub-folder automatically under the main path.

I only tested with Houdini 13 build 621. Not sure whether it works with older builds.
  • Quick Links