Building PyQt for Maya 2012 ( Linux x64 )

                   

SIP needs to be built prior to building PyQt.

Download SIP from here

Maya 2012 uses Qt 4.7.1.

Download it from here

Download PyQt from here

First step is to build qt from source. Extract the tarball and CD in to the directory

./configure

While running configure, if you get the following error

Basic XLib functionality test failed!

You might need to modify the include and library search paths by editing

QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/anoop/apps/sources/qt-everywhere-opensource-src-4.7.1 /mkspecs/linux-g++-64.

install teh libXext development package. I used zypper to install the package from the web

zypper install xorg-x11-libXext-devel

executing the configure after the installation gave the following error

cannot find -lXrender

this was happening because configure couldn’t find libXrender.so. This can be fixed by creating a symlink to libXrender.so.1 in the /usr/lib64 directory

ln -s /usr/lib64/libXrender.so.1 /usr/lib64/libXrender.so

After successful configuration run the following to install Qt to /usr/local/Trolltech/Qt-4.7.1 directory

make

make install

Building SIP

Extract the SIP zip archive to /home/username/SIP

cd /home/username/SIP

After setting the variables, run the following

/usr/autodesk/maya2012/bin/mayapy configure.py

make

make install

Building PyQt

Extract the archive to /home/username/PyQt-x11-gpl-4.7.4

cd PyPyQt-x11-gpl-4.7.4

/usr/autodesk/maya2012/bin/mayapy configure.py -q /usr/local/Trolltech/Qt-4.7.1/bin/qmake

make -j4

make install

Setting MARI_CACHE Locations outside MARI

The MARI_CACHE environment variable can be used to specify the cache location from outside Mari. This can be one or several directories. If this variable is not set Mari prompts you where to store the cache files when you first launch it

I had selected the cache location from the user interface after starting up Mari. But later I planned to use another location and hence deleted the directory. The next time I tried starting Mari, I was welcomed with a message

/usr/local/bin/mari: line 35: 13275 Aborted (core dumped) $currentPath/bin/MriBin $@ &>${mariLog}

The MariLog.txt clearly indicated the crash was happening due to the missing file path. Since the configuration was saved in the first startup instance, setting the environment variable also didn’t seemed to help me run Mari on my user account.

Debug : [ MriApplication.cpp: 352] : Cache Location ‘/mariCache’ not exist
MriBin: MriDataBlockManager.cpp:233: bool MriDataBlockManager::setup(const QStringList&, qint64, int): Assertion `false’ failed.
Cannot Create cache root at /mariCache

The workaround is to delete the CacheLocations.ini file which saved under the directory /home/user/.config/TheFoundry . Or you can even create a new folder and point the path to your new directory

[CacheRoots]
1Path=/scratch/cache
size=1

Installing Foundry Mari on openSUSE 11.3

MARI is a creative texture-painting tool that can handle extreme projects. MARI was developed at Weta Digital to handle the massively complex, highly detailed look development work demanded of the texture department by projects such as DISTRICT 9, THE LOVELY BONES, and AVATAR.

This is how the installation directory looks like. You can add symlink to the mari* shell script in the bin folder if you want. In case you are not executing the script from the same directory, you need to make slight modification to the script to make it accessible.

 #!/bin/bash
 # This version is intended to launch Mari from the directory this
 # script is located in, does not require Mari to be installed

#export presentScriptPath=`dirname $0`
 export presentScriptPath="/usr/local/Mari1.0v4"
 export currentPath=`cd $presentScriptPath; pwd`
 export binDir=$currentPath"/bin/"
 export PATH=${PATH}:$binDir
 export mariLog=$MARI_LOG_FILE
 if [ "$mariLog" == "" ] ; then
 export mariLog=/scratch/logs/MariLog.txt
 fi

# Look for options
 for p in "$@"
 do
 case "$p" in
 "--verbose")
 # turn off the log output
 export mariLog=
 ;;
 *)
 ;;
 esac
 done

if [ "$mariLog" == "" ] ; then
 $currentPath/bin/MriBin $@
 else
 $currentPath/bin/MriBin $@ &> ${mariLog}
 fi
 

I have commented out the line

 export presentScriptPath=`dirname $0`
 

and replaced with

 export presentScriptPath="/usr/local/Mari1.0v4"
 

which is the installation directory for Mari

Disclaimer: Please support the developers as I do not in any way support piracy. Go out and purchase the softwares if you like them.

Setting up python2.5 for Massive Prime

Python can be used in Massive by typing commands directly in the textport and from scripts. The textport is accessed from the Options menu. Scripts can be run from the textport using the execfile() function and from the commandline using the -script commandline option.

Three versions of python are supported by massive ver<4.0, Python1.5, Python2.2, and Python2.5. For ver<4.0 Python2.5 is selected by default while starting massive. You can  specify a particular version of Python by entering one of the following in the textport

 #!pyscript15
 #!pyscript22
 #!pyscript25
 

openSUSE 11.3 comes with pre-installed Python2.6.5. Hence in case you want to use Python2.5 with massive you need to install Python2.5 can be downloaded from here. Massive will need the shared library for python to be in the $PYTHONHOME in order to support the specific python version. If you are building python yourself, you can get that done by specifying

./configure   –enable-shared   –prefix=/usr

I missed that step while building and I didn’t wanted to build it all over again. Instead found a workaround for the same. Since I had Foundry Nuke installed on my machine, which comes with a shared library for Python2.5 (libpython2.5.so.1.0), it was just a matter of creating a symlink to the shared library path on /usr/lib64 for libpython2.5.so.1.0

ln -s   /usr/local/nukeVersion/libpython2.5.so.1.0   libpython.2.5.so.1.0

If these operations have been successful, you will be able to access Python2.5 modules within massive.Else you will be getting an error echoed in the console like this

libpython2.5.so.1.0: cannot open shared object file: No such file or directory

Installing Massive Prime on openSUSE 11.3

Massive is the premier simulation and visualization solution system for generating and visualizing realistic crowd behaviors and autonomous agent driven animation for a variety of industries, including film, games, television, architecture, transportation, engineering, and robotics. Using Massive, an animator, engineer or robot developer designs characters with a set of actions and reactions to what is going on around them.

The installation manual that comes along with massive is sufficient for a noob to get massive running on your machine. But if you are planning to run massive on a Linux machine, you better go through the Troubleshooting section too. Even after getting the mhost server running you may still get an error “could not open connection” while executing massive from the shell. If u are using Fedora, you will be happy to see the following section under the Troubleshooting section

I am on Fedora and get a “could not open connection” error message when trying to start Massive.

The “could not open connection” error you’re getting is because the X server on Fedora has TCP connections disabled by default. Massive is trying to connect to the X server over TCP and failing. If you add the following line to the [security] section of your /etc/X11/gdm/gdm.conf it should remedy the problem.

DisallowTCP=false

But under openSUSE running on KDE, you wont find a gdm installation at all. Hence in order to enable TCP/IP sockets for X11, you need to follow the instructions below.

  • Set DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN=”yes” in the /etc/sysconfig/displaymanager file
  • Running /sbin/SuSEconfig to propagate that setting
  • Restart your display manager through /usr/sbin/rcxdm restart

Disclaimer: Please support the developers as I do not in any way support piracy. Go out and purchase the softwares if you like them.

PyQt4 for Maya2011 on Windows XP x64

Finally got some time to get back to python after a long break, only to find that I don’t have a working copy of PyQt4. Instead of spending time on google trying to figure out whether anyone has decided to share a copy of PyQt built against Qt4.5.3, decided to build one myself. Having Windows SDK already installed on my XP proved out to be handy since the Visual Studio version I was running was still 32-bit one. Downloaded SIP4.12 source and Qt4.5.3 SDK and within few seconds the PyQt4 module was successfully added to the site-packages.

Thought of sharing the build for those of you who are planning ahead to design awesome GUIs in Maya.You may download it here

Qt 4.5.3 SDK for Maya 2011

My search for a compatible version of Qt SDK for Maya 2011 Hotfix3 x64 ended up with a few results which I thought of sharing with you guys in case you need any. Maya 2011 Hotfix 3 uses Qt 4.5.3 to draw the interface. Below are a list of links to Qt 4.5.3 for Linux, Mac OS and Windows.

Qt 4.5.3 OpenSource Edition SDK

Qt 4.5.3 SDK for Open Source C++ development on Windows [178Mb]

http://get.qt.nokia.com/qtsdk/qt-sdk-win-opensource-2009.04.exe

Qt 4.5.3 SDK for Open Source C++ development on Linux/X11 32-bit [275Mb]

http://get.qt.nokia.com/qtsdk/qt-sdk-linux-x86-opensource-2009.04.bin

Qt 4.5.3 SDK for Open Source C++ development on Linux/X11 64-bit [353Mb]

http://get.qt.nokia.com/qtsdk/qt-sdk-linux-x86_64-opensource-2009.04.bin

Qt 4.5.3 SDK for Open Source C++ development on Mac OS [442Mb]

http://get.qt.nokia.com/qtsdk/qt-sdk-mac-opensource-2009.04.dmg

Qt 4.5.3 OpenSource Edition Framework Only

Qt 4.5.3 for Open Source C++ development on Windows [166Mb]

http://get.qt.nokia.com/qt/source/qt-win-opensource-4.5.3-mingw.exe

http://get.qt.nokia.com/qt/source/qt-win-opensource-src-4.5.3.zip

Qt 4.5.3 for Open Source C++ development on Linux/X11 [120Mb]

http://get.qt.nokia.com/qt/source/qt-x11-opensource-src-4.5.3.tar.gz

Qt 4.5.3 for Open Source C++ development on Mac OS [132Mb]

http://get.qt.nokia.com/qt/source/qt-mac-opensource-4.5.3.dmg

http://get.qt.nokia.com/qt/source/qt-mac-opensource-4.5.3-debug-libs.dmg

http://get.qt.nokia.com/qt/source/qt-mac-cocoa-opensource-4.5.3.dmg

http://get.qt.nokia.com/qt/source/qt-mac-cocoa-opensource-4.5.3-debug-libs.dmg

http://get.qt.nokia.com/qt/source/qt-mac-opensource-src-4.5.3.tar.gz