0

(solution to) Problems with rv running inside Maya2011

starting RV from inside a maya 2011 using an RV version greater than 3.6.9 (actually I tried with all the 3.8 and 3.10 versions we have)
Rv starts but crashes without showing anythingimport os

import subprocess
launchCommand="/opt/tweak/rv/3.10.8-x64/bin/rv"
scene="myscene.@@@@.png"
subprocess.Popen([launchCommand,scene],shell=False)

NOTE:
All the versions 3.6.9 to 3.10.8 work perfect under maya 2008
only 3.6.9 work with maya2011

 

<<<<<<<<<<<<-------------------------EDIT----------------------------------------->>>>>>>>>>>>>>>>>

An answer was found:

The problem was that upon start maya2011 sets LIBQUICKTIME_PLUGIN_DIR to point to a maya directory, and this is not compatible with RV so a symbol clash occurs and maya crashes and exit.

as per tweak support, RV does set the LIBQUICKTIME_PLUGIN_DIR variable internally but only if it's not set already.

So the solution is to either totally unset the variable or point it to the rv plugins/libquicktime directory, and restore the old directory after the execution

import subprocess

RV_LOCATION="/opt/tweak/rv/3.10.8-x64"
launchCommand="%sbin/rv"%RV_LOCATION
scene="myscene.@@@@.png"

oldPluginPath=os.environ[LIBQUICKTIME_PLUGIN_DIR]
os.environ[LIBQUICKTIME_PLUGIN_DIR]='%s/plugins/libquicktime'%RV_LOCATION

subprocess.Popen([launchCommand,scene],shell=False)

os.environ[LIBQUICKTIME_PLUGIN_DIR]=oldPluginPath

 

the other way will be to unset the variable, so instead of re-setting to the rv plugins/libquicktime directory , you can do 

os.environ.pop('LIBQUICKTIME_PLUGIN_DIR')

and then if this variable is not set at all then rv will set it internally

1 条评论

  • 0
    Avatar
    Alan Trombla

    Hi Federico,

    Thanks very much for sharing !

    Alan

请先登录再写评论。