Skip to content

Instantly share code, notes, and snippets.

@jeremyselan
Created April 23, 2012 18:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeremyselan/2472721 to your computer and use it in GitHub Desktop.
Save jeremyselan/2472721 to your computer and use it in GitHub Desktop.
OCIO SpComp2 Installation
#!/bin/sh
OCIO_NAMESPACE=OpenColorIO_SPI
OCIO_SPCOMP2_VERSION=2
INSTALL_SPCOMP2_LOCATION=/shots/spi/home/lib/SpComp2
#INSTALL_SPCOMP2_LOCATION=/net/homedirs/jeremys/SpComp2_local/
if [ $SP_OS == "spinux1" ]; then
SP_COMPILER=gcc44m64
PYVER=2.6
else
# Not sure how to obtain the correct GCC version but this returns the
# version of GCC in the path.
#GCC_VERSION=`gcc --version | grep 'gcc' | awk '{print $3}' | sed 's/\.//g'`
echo "Unknown SP_OS."
exit 1
fi
if [ -z "$SHOW" ]; then
echo "Error. Must be setshot to pick up patchelf."
exit 1
fi
# Cmake build/install dirs
SPARCH=$SP_OS-$SP_COMPILER
SPPYARCH=$SP_OS-$SP_COMPILER-py`echo $PYVER | sed 's/\.//g'`
BUILD_DIR_OPT=$PWD/build-spcomp2-$SPPYARCH-opt
BUILD_DIR_DEBUG=$PWD/build-spcomp2-$SPPYARCH-debug
INST_DIR_OPT=$PWD/install-spcomp2-$SPPYARCH-opt
INST_DIR_DEBUG=$PWD/install-spcomp2-$SPPYARCH-debug
# OpenImageIO
OIIO_SPCOMP2_VERSION=31
OIIO_SPCOMP2_LIBDIR_OPT=$INSTALL_SPCOMP2_LOCATION/OpenImageIO/$SPARCH/v$OIIO_SPCOMP2_VERSION/lib
OIIO_SPCOMP2_LIBDIR_DEBUG=$INSTALL_SPCOMP2_LOCATION/OpenImageIO/$SPARCH/v$OIIO_SPCOMP2_VERSION/lib/debug
OIIO_SPCOMP2_INCLUDE_DIR=$INSTALL_SPCOMP2_LOCATION/OpenImageIO/$SPARCH/v$OIIO_SPCOMP2_VERSION/include
# OpenColorIO
OCIO_SPCOMP2_LIBDIR_OPT=$INSTALL_SPCOMP2_LOCATION/OpenColorIO/$SPARCH/v$OCIO_SPCOMP2_VERSION/lib
OCIO_SPCOMP2_LIBDIR_DEBUG=$INSTALL_SPCOMP2_LOCATION/OpenColorIO/$SPARCH/v$OCIO_SPCOMP2_VERSION/lib/debug
echo ""
echo "BUILDING OPT"
if [ ! -d $BUILD_DIR_OPT ]; then mkdir $BUILD_DIR_OPT; fi
cd $BUILD_DIR_OPT
cmake -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=$INST_DIR_OPT \
-D OCIO_NAMESPACE=$OCIO_NAMESPACE \
-D SOVERSION:STRING=$OCIO_SPCOMP2_VERSION \
-D PYTHON:FILEPATH=python$PYVER \
-D OCIO_PYGLUE_SONAME=YES \
-D OCIO_PYGLUE_LIB_PREFIX=YES \
-D OCIO_BUILD_APPS=YES \
-D OIIO_LIBRARY_PATH=$OIIO_SPCOMP2_LIBDIR_OPT \
-D OIIO_INCLUDE_PATH=$OIIO_SPCOMP2_INCLUDE_DIR \
../
make -j12
make install
cd -
echo ""
echo "BUILDING DEBUG"
if [ ! -d $BUILD_DIR_DEBUG ]; then mkdir $BUILD_DIR_DEBUG; fi
cd $BUILD_DIR_DEBUG
cmake -D CMAKE_BUILD_TYPE=Debug \
-D CMAKE_INSTALL_PREFIX=$INST_DIR_DEBUG \
-D OCIO_NAMESPACE=$OCIO_NAMESPACE \
-D SOVERSION:STRING=$OCIO_SPCOMP2_VERSION \
-D PYTHON:FILEPATH=python$PYVER \
-D OCIO_PYGLUE_SONAME=YES \
-D OCIO_PYGLUE_LIB_PREFIX=YES \
-D OCIO_BUILD_APPS=YES \
-D OIIO_LIBRARY_PATH=$OIIO_SPCOMP2_LIBDIR_DEBUG \
-D OIIO_INCLUDE_PATH=$OIIO_SPCOMP2_INCLUDE_DIR \
../
make -j12
make install
cd -
echo ""
echo "PATCHING PySpComp2 rpaths"
# NOTE: All the dirnames passed to patchelf should not have trailing slashes
patchelf \
--set-rpath $OCIO_SPCOMP2_LIBDIR_OPT \
$INST_DIR_OPT/lib/python$PYVER/site-packages/libPyOpenColorIO.so
echo $INST_DIR_OPT/lib/python$PYVER/site-packages/libPyOpenColorIO.so
patchelf \
--set-rpath $OCIO_SPCOMP2_LIBDIR_DEBUG \
$INST_DIR_DEBUG/lib/python$PYVER/site-packages/libPyOpenColorIO.so
echo $INST_DIR_DEBUG/lib/python$PYVER/site-packages/libPyOpenColorIO.so
echo ""
echo "PATCHING bin rpaths"
patchelf \
--set-rpath $OCIO_SPCOMP2_LIBDIR_OPT \
$INST_DIR_OPT/bin/ociobakelut
echo $INST_DIR_OPT/bin/ociobakelut
patchelf \
--set-rpath $OCIO_SPCOMP2_LIBDIR_OPT \
$INST_DIR_OPT/bin/ociocheck
echo $INST_DIR_OPT/bin/ociocheck
patchelf \
--set-rpath $OCIO_SPCOMP2_LIBDIR_OPT:$OIIO_SPCOMP2_LIBDIR_OPT \
$INST_DIR_OPT/bin/ocioconvert
echo $INST_DIR_OPT/bin/ocioconvert
patchelf \
--set-rpath $OCIO_SPCOMP2_LIBDIR_OPT:$OIIO_SPCOMP2_LIBDIR_OPT \
$INST_DIR_OPT/bin/ociodisplay
echo $INST_DIR_OPT/bin/ociodisplay
patchelf \
--set-rpath $OCIO_SPCOMP2_LIBDIR_OPT:$OIIO_SPCOMP2_LIBDIR_OPT \
$INST_DIR_OPT/bin/ociolutimage
echo $INST_DIR_OPT/bin/ociolutimage
patchelf \
--set-rpath $OCIO_SPCOMP2_LIBDIR_DEBUG:$OIIO_SPCOMP2_LIBDIR_DEBUG \
$INST_DIR_DEBUG/bin/ociolutimage
echo $INST_DIR_DEBUG/bin/ociolutimage
echo ""
echo "INSTALLING C++ LIBRARY"
# perl \
COMMAND="perl \
-I/usr/local/spi/lib/make /usr/local/spi/bin/spcomp_install.pl -m installhost \
--project=OpenColorIO \
--version=$OCIO_SPCOMP2_VERSION \
--namespace=$OCIO_NAMESPACE \
--root=$INSTALL_SPCOMP2_LOCATION \
--arch=$SPARCH \
--cflags= \
--static_lflags= \
--spcomp_depend= \
--spcomp2_depend= \
--srcdir=$INST_DIR_OPT/lib \
--builddir_o=$INST_DIR_OPT/lib \
--builddir_d=$INST_DIR_DEBUG/lib \
--headers=`find $INST_DIR_OPT/include/OpenColorIO -name '*.h' | tr '\n' ','`"
echo $COMMAND
#$COMMAND
echo ""
echo "INSTALLING PYTHON LIBRARY"
echo "(SLEEPING TO ALLOW SHOTTREE TO UPDATE)"
echo ""
#sleep 300
#sleep 30
COMMAND="perl \
-I/usr/local/spi/lib/make /usr/local/spi/bin/spcomp_install.pl -m installhost \
--project=PyOpenColorIO \
--version=$OCIO_SPCOMP2_VERSION \
--namespace=$OCIO_NAMESPACE \
--root=$INSTALL_SPCOMP2_LOCATION \
--arch=$SPPYARCH \
--cflags= \
--static_lflags= \
--spcomp_depend= \
--spcomp2_depend= \
--srcdir=$INST_DIR_OPT/lib/python$PYVER/site-packages \
--builddir_o=$INST_DIR_OPT/lib/python$PYVER/site-packages \
--builddir_d=$INST_DIR_DEBUG/lib/python$PYVER/site-packages \
--headers=`find $INST_DIR_OPT/include/PyOpenColorIO -name '*.h' | tr '\n' ','`"
echo $COMMAND
#$COMMAND
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment