You are on page 1of 110

jack_xv.txt 1 #!

/usr/bin/env bash 2 # ##### BEGIN GPL LICENSE BLOCK ##### 3# 4 # This program is free software; you can redistribute it and/or 5 # modify it under the terms of the GNU General Public License 6 # as published by the Free Software Foundation; either version 2 7 # of the License, or (at your option) any later version. 8# 9 # This program is distributed in the hope that it will be useful, 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 # GNU General Public License for more details. 13 # 14 # You should have received a copy of the GNU General Public License 15 # along with this program; if not, write to the Free Software Foundation, 16 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 17 # 18 # ##### END GPL LICENSE BLOCK ##### 19 20 # A shell script installing/building all needed dependencies to build Blender, for some Linux distributions. 21 22 ##### Args and Help Handling ##### 23 24 # Parse command line! 25 ARGS=$( \ 26 getopt \ 27 -o s:i:t:h \ 28 --long source:,install:,tmp:,threads:,help,with-all,with-opencollada,allstatic,force-all,\ 29 force-python,force-numpy,force-boost,force-ocio,force-oiio,force-llvm,forceosl,force-opencollada,\ 30 force-ffmpeg,skip-python,skip-numpy,skip-boost,skip-ocio,skip-oiio,skipllvm,skip-osl,skip-ffmpeg,\ 31 skip-opencollada,required-numpy \ 32 -- "$@" \ 33 ) 34 getopt -o s:i:t:h --long source:,install:,tmp:,threads:,help,with-all,withopencollada,all-static,force-all,force-python,force-numpy,force-boost,forceocio,force-oiio,force-llvm,force-osl,force-opencollada,force-ffmpeg,skippython,skip-numpy,skip-boost,skip-ocio,skip-oiio,skip-llvm,skip-osl,skipffmpeg,skip-opencollada,required-numpy -- "$@" ) 35 getopt -o s:i:t:h --long source:,install:,tmp:,threads:,help,with-all,withopencollada,all-static,force-all,force-python,force-numpy,force-boost,forceocio,force-oiio,force-llvm,force-osl,force-opencollada,force-ffmpeg,skippython,skip-numpy,skip-boost,skip-ocio,skip-oiio,skip-llvm,skip-osl,skipffmpeg,skip-opencollada,required-numpy -- "$@" 36 ++ getopt -o s:i:t:h --long source:,install:,tmp:,threads:,help,withPage 1

jack_xv.txt getopt -o s:i:t:h --long source:,install:,tmp:,threads:,help,withall,with-opencollada,all-static,force-all,force-python,force-numpy,forceboost,force-ocio,force-oiio,force-llvm,force-osl,force-opencollada,forceffmpeg,skip-python,skip-numpy,skip-boost,skip-ocio,skip-oiio,skip-llvm,skiposl,skip-ffmpeg,skip-opencollada,required-numpy -37 + ARGS=' --' 38 39 DISTRO="" 40 + DISTRO= 41 RPM="" 42 + RPM= 43 SRC="$HOME/src/blender-deps" 44 + SRC=/home/kwadwobro/src/blender-deps 45 INST="/opt/lib" 46 + INST=/opt/lib 47 TMP="/tmp" 48 + TMP=/tmp 49 CWD=$PWD 50 + CWD=/home/kwadwobro/workspace/blender-2.69/build_files/build_environment 51 52 # Do not install some optional, potentially conflicting libs by default... 53 WITH_ALL=false 54 + WITH_ALL=false 55 56 # Do not yet enable opencollada, use --with-opencollada (or --with-all) option to try it. 57 WITH_OPENCOLLADA=false 58 + WITH_OPENCOLLADA=false 59 60 # Try to link everything statically. Use this to produce portable versions of blender. 61 ALL_STATIC=false 62 + ALL_STATIC=false 63 64 THREADS=`cat /proc/cpuinfo | grep processor | wc -l` 65 cat /proc/cpuinfo | grep processor | wc -l 66 ++ cat /proc/cpuinfo 67 ++ wc -l 68 ++ grep processor 69 + THREADS=2 70 if [ -z "$THREADS" ]; then 71 THREADS=1 72 fi 73 + '[' -z 2 ']' 74 75 COMMON_INFO="\"Source code of dependencies needed to be compiled will be downloaded and extracted into '\$SRC'. 76 Built libs of dependencies needed to be compiled will be installed into '\ $INST'. Page 2

jack_xv.txt 77 Please edit \\\$SRC and/or \\\$INST variables at the beginning of this script, 78 or use --source/--install options, if you want to use other paths! 79 80 Number of threads for building: \$THREADS (automatically detected, use -threads=<nbr> to override it). 81 Full install: \$WITH_ALL (use --with-all option to enable it). 82 Building OpenCOLLADA: \$WITH_OPENCOLLADA (use --with-opencollada option to enable it). 83 All static linking: \$ALL_STATIC (use --all-static option to enable it). 84 85 WARNING: Static build works fine with CMake, but with scons it may be tricky to get a valid Blender build! 86 87 Example: 88 Full install without OpenCOLLADA: --with-all --skip-opencollada 89 90 Use --help to show all available options!\"" 91 + COMMON_INFO='"Source code of dependencies needed to be compiled will be downloaded and extracted into '\''$SRC'\''. 92 Built libs of dependencies needed to be compiled will be installed into '\''$INST'\''. 93 Please edit \$SRC and/or \$INST variables at the beginning of this script, 94 or use --source/--install options, if you want to use other paths! 95 96 Number of threads for building: $THREADS (automatically detected, use -threads=<nbr> to override it). 97 Full install: $WITH_ALL (use --with-all option to enable it). 98 Building OpenCOLLADA: $WITH_OPENCOLLADA (use --with-opencollada option to enable it). 99 All static linking: $ALL_STATIC (use --all-static option to enable it). 100 101 WARNING: Static build works fine with CMake, but with scons it may be tricky to get a valid Blender build! 102 103 Example: 104 Full install without OpenCOLLADA: --with-all --skip-opencollada 105 106 Use --help to show all available options!"' 107 108 ARGUMENTS_INFO="\"COMMAND LINE ARGUMENTS: 109 -h, --help 110 Show this message and exit. 111 112 -s <path>, --source=<path> 113 Use a specific path where to store downloaded libraries sources (defaults to '\$SRC'). 114 Page 3

jack_xv.txt 115 116 117 118 119 120 121 122 123 124 125 -i <path>, --install=<path> Use a specific path where to install built libraries (defaults to '\ $INST'). --tmp=<path> Use a specific temp path (defaults to '\$TMP'). -t n, --threads=n Use a specific number of threads when building the libraries (autodetected as '\$THREADS').

--with-all By default, a number of optional and not-so-often needed libraries are not installed. 126 This option will try to install them, at the cost of potential conflicts (depending on 127 how your package system is set). 128 Note this option also implies all other (more specific) --with-foo options below. 129 130 --with-opencollada 131 Build and install the OpenCOLLADA libraries. 132 133 --all-static 134 Build libraries as statically as possible, to create static builds of Blender. 135 136 --force-all 137 Force the rebuild of all built libraries. 138 139 --force-python 140 Force the rebuild of Python. 141 142 --force-numpy 143 Force the rebuild of NumPy. 144 145 --force-boost 146 Force the rebuild of Boost. 147 148 --force-ocio 149 Force the rebuild of OpenColorIO. 150 151 --force-openexr 152 Force the rebuild of OpenEXR. 153 154 --force-oiio 155 Force the rebuild of OpenImageIO. 156 Page 4

jack_xv.txt 157 158 159 160 161 162 163 164 165 166 167 168 169 170 --force-llvm Force the rebuild of LLVM. --force-osl Force the rebuild of OpenShadingLanguage. --force-opencollada Force the rebuild of OpenCOLLADA. --force-ffmpeg Force the rebuild of FFMpeg.

Note about the --force-foo options: * They obviously only have an effect if those libraries are built by this script 171 (i.e. if there is no available and satisfactory package)! 172 * If the force-rebuilt library is a dependency of others, it will force the rebuild 173 of those libraries too (e.g. --force-boost will also rebuild oiio and osl...). 174 * Do not forget --with-osl if you built it and still want it! 175 176 --skip-python 177 Unconditionally skip Python installation/building. 178 179 --skip-numpy 180 Unconditionally skip NumPy installation/building. 181 182 --skip-boost 183 Unconditionally skip Boost installation/building. 184 185 --skip-ocio 186 Unconditionally skip OpenColorIO installation/building. 187 188 --skip-openexr 189 Unconditionally skip OpenEXR installation/building. 190 191 --skip-oiio 192 Unconditionally skip OpenImageIO installation/building. 193 194 --skip-llvm 195 Unconditionally skip LLVM installation/building. 196 197 --skip-osl 198 Unconditionally skip OpenShadingLanguage installation/building. 199 200 --skip-opencollada 201 Unconditionally skip OpenCOLLADA installation/building. Page 5

jack_xv.txt 202 203 204 205 206 207 --skip-ffmpeg Unconditionally skip FFMpeg installation/building.

--required-numpy Use this in case your distro features a valid python package, but no matching Numpy one. 208 It will force compilation of both python 3.3 and numpy 1.7.\"" 209 + ARGUMENTS_INFO='"COMMAND LINE ARGUMENTS: 210 -h, --help 211 Show this message and exit. 212 213 -s <path>, --source=<path> 214 Use a specific path where to store downloaded libraries sources (defaults to '\''$SRC'\''). 215 216 -i <path>, --install=<path> 217 Use a specific path where to install built libraries (defaults to '\''$INST'\''). 218 219 --tmp=<path> 220 Use a specific temp path (defaults to '\''$TMP'\''). 221 222 -t n, --threads=n 223 Use a specific number of threads when building the libraries (autodetected as '\''$THREADS'\''). 224 225 --with-all 226 By default, a number of optional and not-so-often needed libraries are not installed. 227 This option will try to install them, at the cost of potential conflicts (depending on 228 how your package system is set). 229 Note this option also implies all other (more specific) --with-foo options below. 230 231 --with-opencollada 232 Build and install the OpenCOLLADA libraries. 233 234 --all-static 235 Build libraries as statically as possible, to create static builds of Blender. 236 237 --force-all 238 Force the rebuild of all built libraries. 239 240 --force-python 241 Force the rebuild of Python. Page 6

jack_xv.txt 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 --force-numpy Force the rebuild of NumPy. --force-boost Force the rebuild of Boost. --force-ocio Force the rebuild of OpenColorIO. --force-openexr Force the rebuild of OpenEXR. --force-oiio Force the rebuild of OpenImageIO. --force-llvm Force the rebuild of LLVM. --force-osl Force the rebuild of OpenShadingLanguage. --force-opencollada Force the rebuild of OpenCOLLADA. --force-ffmpeg Force the rebuild of FFMpeg.

Note about the --force-foo options: * They obviously only have an effect if those libraries are built by this script 272 (i.e. if there is no available and satisfactory package)! 273 * If the force-rebuilt library is a dependency of others, it will force the rebuild 274 of those libraries too (e.g. --force-boost will also rebuild oiio and osl...). 275 * Do not forget --with-osl if you built it and still want it! 276 277 --skip-python 278 Unconditionally skip Python installation/building. 279 280 --skip-numpy 281 Unconditionally skip NumPy installation/building. 282 283 --skip-boost 284 Unconditionally skip Boost installation/building. 285 286 --skip-ocio Page 7

jack_xv.txt 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 Unconditionally skip OpenColorIO installation/building. --skip-openexr Unconditionally skip OpenEXR installation/building. --skip-oiio Unconditionally skip OpenImageIO installation/building. --skip-llvm Unconditionally skip LLVM installation/building. --skip-osl Unconditionally skip OpenShadingLanguage installation/building. --skip-opencollada Unconditionally skip OpenCOLLADA installation/building. --skip-ffmpeg Unconditionally skip FFMpeg installation/building.

--required-numpy Use this in case your distro features a valid python package, but no matching Numpy one. 309 It will force compilation of both python 3.3 and numpy 1.7."' 310 311 ##### Main Vars ##### 312 313 PYTHON_VERSION="3.3.2" 314 + PYTHON_VERSION=3.3.2 315 PYTHON_VERSION_MIN="3.3" 316 + PYTHON_VERSION_MIN=3.3 317 PYTHON_SOURCE="http://python.org/ftp/python/$PYTHON_VERSION/Python$PYTHON_VERSION.tar.bz2" 318 + PYTHON_SOURCE=http://python.org/ftp/python/3.3.2/Python-3.3.2.tar.bz2 319 PYTHON_FORCE_REBUILD=false 320 + PYTHON_FORCE_REBUILD=false 321 PYTHON_SKIP=false 322 + PYTHON_SKIP=false 323 324 NUMPY_VERSION="1.7.0" 325 + NUMPY_VERSION=1.7.0 326 NUMPY_VERSION_MIN="1.7" 327 + NUMPY_VERSION_MIN=1.7 328 NUMPY_SOURCE="http://sourceforge.net/projects/numpy/files/NumPy/ $NUMPY_VERSION/numpy-$NUMPY_VERSION.tar.gz" 329 + NUMPY_SOURCE=http://sourceforge.net/projects/numpy/files/NumPy/1.7.0/ numpy-1.7.0.tar.gz 330 NUMPY_FORCE_REBUILD=false Page 8

jack_xv.txt 331 + NUMPY_FORCE_REBUILD=false 332 NUMPY_SKIP=false 333 + NUMPY_SKIP=false 334 NUMPY_REQUIRED=false 335 + NUMPY_REQUIRED=false 336 337 BOOST_VERSION="1.51.0" 338 + BOOST_VERSION=1.51.0 339 _boost_version_nodots=`echo "$BOOST_VERSION" | sed -r 's/\./_/g'` 340 echo "$BOOST_VERSION" | sed -r 's/\./_/g' 341 ++ echo 1.51.0 342 ++ sed -r 's/\./_/g' 343 + _boost_version_nodots=1_51_0 344 BOOST_SOURCE="http://sourceforge.net/projects/boost/files/boost/ $BOOST_VERSION/boost_$_boost_version_nodots.tar.bz2/download" 345 + BOOST_SOURCE=http://sourceforge.net/projects/boost/files/boost/1.51.0/ boost_1_51_0.tar.bz2/download 346 BOOST_VERSION_MIN="1.49" 347 + BOOST_VERSION_MIN=1.49 348 BOOST_FORCE_REBUILD=false 349 + BOOST_FORCE_REBUILD=false 350 BOOST_SKIP=false 351 + BOOST_SKIP=false 352 353 OCIO_VERSION="1.0.7" 354 + OCIO_VERSION=1.0.7 355 OCIO_SOURCE="https://github.com/imageworks/OpenColorIO/tarball/v $OCIO_VERSION" 356 + OCIO_SOURCE=https://github.com/imageworks/OpenColorIO/tarball/v1.0.7 357 OCIO_VERSION_MIN="1.0" 358 + OCIO_VERSION_MIN=1.0 359 OCIO_FORCE_REBUILD=false 360 + OCIO_FORCE_REBUILD=false 361 OCIO_SKIP=false 362 + OCIO_SKIP=false 363 364 OPENEXR_VERSION="2.0.0" 365 + OPENEXR_VERSION=2.0.0 366 OPENEXR_SOURCE="http://download.savannah.nongnu.org/releases/openexr/ openexr-$OPENEXR_VERSION.tar.gz" 367 + OPENEXR_SOURCE=http://download.savannah.nongnu.org/releases/openexr/ openexr-2.0.0.tar.gz 368 OPENEXR_VERSION_MIN="2.0" 369 + OPENEXR_VERSION_MIN=2.0 370 ILMBASE_VERSION="2.0.0" 371 + ILMBASE_VERSION=2.0.0 372 ILMBASE_SOURCE="http://download.savannah.nongnu.org/releases/openexr/ ilmbase-$ILMBASE_VERSION.tar.gz" Page 9

jack_xv.txt 373 + ILMBASE_SOURCE=http://download.savannah.nongnu.org/releases/openexr/ ilmbase-2.0.0.tar.gz 374 OPENEXR_FORCE_REBUILD=false 375 + OPENEXR_FORCE_REBUILD=false 376 OPENEXR_SKIP=false 377 + OPENEXR_SKIP=false 378 _with_built_openexr=false 379 + _with_built_openexr=false 380 381 OIIO_VERSION="1.1.10" 382 + OIIO_VERSION=1.1.10 383 OIIO_SOURCE="https://github.com/OpenImageIO/oiio/archive/Release$OIIO_VERSION.tar.gz" 384 + OIIO_SOURCE=https://github.com/OpenImageIO/oiio/archive/ Release-1.1.10.tar.gz 385 OIIO_VERSION_MIN="1.1" 386 + OIIO_VERSION_MIN=1.1 387 OIIO_FORCE_REBUILD=false 388 + OIIO_FORCE_REBUILD=false 389 OIIO_SKIP=false 390 + OIIO_SKIP=false 391 392 LLVM_VERSION="3.1" 393 + LLVM_VERSION=3.1 394 LLVM_VERSION_MIN="3.0" 395 + LLVM_VERSION_MIN=3.0 396 LLVM_VERSION_FOUND="" 397 + LLVM_VERSION_FOUND= 398 LLVM_SOURCE="http://llvm.org/releases/$LLVM_VERSION/llvm$LLVM_VERSION.src.tar.gz" 399 + LLVM_SOURCE=http://llvm.org/releases/3.1/llvm-3.1.src.tar.gz 400 LLVM_CLANG_SOURCE="http://llvm.org/releases/$LLVM_VERSION/clang$LLVM_VERSION.src.tar.gz" 401 + LLVM_CLANG_SOURCE=http://llvm.org/releases/3.1/clang-3.1.src.tar.gz 402 LLVM_FORCE_REBUILD=false 403 + LLVM_FORCE_REBUILD=false 404 LLVM_SKIP=false 405 + LLVM_SKIP=false 406 407 # OSL needs to be compiled for now! 408 OSL_VERSION="1.3.2" 409 + OSL_VERSION=1.3.2 410 OSL_VERSION_MIN=$OSL_VERSION 411 + OSL_VERSION_MIN=1.3.2 412 OSL_SOURCE="https://github.com/imageworks/OpenShadingLanguage/archive/ Release-$OSL_VERSION.tar.gz" 413 + OSL_SOURCE=https://github.com/imageworks/OpenShadingLanguage/archive/ Release-1.3.2.tar.gz Page 10

jack_xv.txt 414 OSL_FORCE_REBUILD=false 415 + OSL_FORCE_REBUILD=false 416 OSL_SKIP=false 417 + OSL_SKIP=false 418 419 # Version?? 420 OPENCOLLADA_VERSION="1.3" 421 + OPENCOLLADA_VERSION=1.3 422 OPENCOLLADA_SOURCE="https://github.com/KhronosGroup/OpenCOLLADA.git" 423 + OPENCOLLADA_SOURCE=https://github.com/KhronosGroup/OpenCOLLADA.git 424 OPENCOLLADA_REPO_UID="18da7f4109a8eafaa290a33f5550501cc4c8bae8" 425 + OPENCOLLADA_REPO_UID=18da7f4109a8eafaa290a33f5550501cc4c8bae8 426 OPENCOLLADA_FORCE_REBUILD=false 427 + OPENCOLLADA_FORCE_REBUILD=false 428 OPENCOLLADA_SKIP=false 429 + OPENCOLLADA_SKIP=false 430 431 FFMPEG_VERSION="1.0" 432 + FFMPEG_VERSION=1.0 433 FFMPEG_SOURCE="http://ffmpeg.org/releases/ffmpeg-$FFMPEG_VERSION.tar.bz2" 434 + FFMPEG_SOURCE=http://ffmpeg.org/releases/ffmpeg-1.0.tar.bz2 435 FFMPEG_VERSION_MIN="0.7.6" 436 + FFMPEG_VERSION_MIN=0.7.6 437 FFMPEG_FORCE_REBUILD=false 438 + FFMPEG_FORCE_REBUILD=false 439 FFMPEG_SKIP=false 440 + FFMPEG_SKIP=false 441 _ffmpeg_list_sep=";" 442 + _ffmpeg_list_sep=';' 443 444 # FFMPEG optional libs. 445 VORBIS_USE=false 446 + VORBIS_USE=false 447 VORBIS_DEV="" 448 + VORBIS_DEV= 449 OGG_USE=false 450 + OGG_USE=false 451 OGG_DEV="" 452 + OGG_DEV= 453 THEORA_USE=false 454 + THEORA_USE=false 455 THEORA_DEV="" 456 + THEORA_DEV= 457 XVID_USE=false 458 + XVID_USE=false 459 XVID_DEV="" 460 + XVID_DEV= 461 X264_USE=false Page 11

jack_xv.txt 462 + X264_USE=false 463 X264_DEV="" 464 + X264_DEV= 465 X264_VERSION_MIN=0.118 466 + X264_VERSION_MIN=0.118 467 VPX_USE=false 468 + VPX_USE=false 469 VPX_VERSION_MIN=0.9.7 470 + VPX_VERSION_MIN=0.9.7 471 VPX_DEV="" 472 + VPX_DEV= 473 MP3LAME_USE=false 474 + MP3LAME_USE=false 475 MP3LAME_DEV="" 476 + MP3LAME_DEV= 477 OPENJPEG_USE=false 478 + OPENJPEG_USE=false 479 OPENJPEG_DEV="" 480 + OPENJPEG_DEV= 481 482 # Switch to english language, else some things (like check_package_DEB()) won't work! 483 LANG_BACK=$LANG 484 + LANG_BACK=en_US.UTF-8 485 LANG="" 486 + LANG= 487 export LANG 488 + export LANG 489 490 ##### Generic Helpers ##### 491 492 _echo() { 493 if [ "X$1" = "X-n" ]; then 494 shift; printf "%s" "$@" 495 else 496 printf "%s\n" "$@" 497 fi 498 } 499 500 ERROR() { 501 _echo "$@" 502 } 503 504 INFO() { 505 _echo "$@" 506 } 507 508 ##### Args Handling ##### Page 12

jack_xv.txt 509 510 # Finish parsing the commandline args. 511 eval set -- "$ARGS" 512 + eval set -- ' --' 513 set -- -514 ++ set -- -515 while true; do 516 case $1 in 517 -s|--source) 518 SRC="$2"; shift; shift; continue 519 ;; 520 -i|--install) 521 INST="$2"; shift; shift; continue 522 ;; 523 --tmp) 524 TMP="$2"; shift; shift; continue 525 ;; 526 -t|--threads) 527 THREADS="$2"; shift; shift; continue 528 ;; 529 -h|--help) 530 INFO "" 531 INFO "USAGE:" 532 INFO "" 533 INFO "`eval _echo "$COMMON_INFO"`" 534 INFO "" 535 INFO "`eval _echo "$ARGUMENTS_INFO"`" 536 INFO "" 537 exit 0 538 ;; 539 --with-all) 540 WITH_ALL=true; shift; continue 541 ;; 542 --with-opencollada) 543 WITH_OPENCOLLADA=true; shift; continue 544 ;; 545 --all-static) 546 ALL_STATIC=true; shift; continue 547 ;; 548 --force-all) 549 PYTHON_FORCE_REBUILD=true 550 NUMPY_FORCE_REBUILD=true 551 BOOST_FORCE_REBUILD=true 552 OCIO_FORCE_REBUILD=true 553 OIIO_FORCE_REBUILD=true 554 LLVM_FORCE_REBUILD=true 555 OSL_FORCE_REBUILD=true 556 OPENCOLLADA_FORCE_REBUILD=true Page 13

jack_xv.txt 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 FFMPEG_FORCE_REBUILD=true shift; continue ;; --force-python) PYTHON_FORCE_REBUILD=true NUMPY_FORCE_REBUILD=true shift; continue ;; --force-numpy) NUMPY_FORCE_REBUILD=true; shift; continue ;; --force-boost) BOOST_FORCE_REBUILD=true; shift; continue ;; --force-ocio) OCIO_FORCE_REBUILD=true; shift; continue ;; --force-openexr) OPENEXR_FORCE_REBUILD=true; shift; continue ;; --force-oiio) OIIO_FORCE_REBUILD=true shift; continue ;; --force-llvm) LLVM_FORCE_REBUILD=true OSL_FORCE_REBUILD=true shift; continue ;; --force-osl) OSL_FORCE_REBUILD=true; shift; continue ;; --force-opencollada) OPENCOLLADA_FORCE_REBUILD=true; shift; continue ;; --force-ffmpeg) FFMPEG_FORCE_REBUILD=true; shift; continue ;; --skip-python) PYTHON_SKIP=true; shift; continue ;; --skip-numpy) NUMPY_SKIP=true; shift; continue ;; --skip-boost) BOOST_SKIP=true; shift; continue ;; --skip-ocio) Page 14

jack_xv.txt 605 OCIO_SKIP=true; shift; continue 606 ;; 607 --skip-openexr) 608 OPENEXR_SKIP=true; shift; continue 609 ;; 610 --skip-oiio) 611 OIIO_SKIP=true; shift; continue 612 ;; 613 --skip-llvm) 614 LLVM_SKIP=true; shift; continue 615 ;; 616 --skip-osl) 617 OSL_SKIP=true; shift; continue 618 ;; 619 --skip-opencollada) 620 OPENCOLLADA_SKIP=true; shift; continue 621 ;; 622 --skip-ffmpeg) 623 FFMPEG_SKIP=true; shift; continue 624 ;; 625 --required-numpy) 626 NUMPY_REQUIRED=true; shift; continue 627 ;; 628 --) 629 # no more arguments to parse 630 break 631 ;; 632 *) 633 INFO "" 634 INFO "Wrong parameter! Usage:" 635 INFO "" 636 INFO "`eval _echo "$COMMON_INFO"`" 637 INFO "" 638 exit 1 639 ;; 640 esac 641 done 642 + true 643 + case $1 in 644 + break 645 646 if $WITH_ALL; then 647 WITH_OPENCOLLADA=true 648 fi 649 + false 650 651 ##### Generic Helpers ##### 652 Page 15

jack_xv.txt 653 # Return 0 if $1 = $2 (i.e. 1.01.0 = 1.1, but 1.1.1 != 1.1), else 1. 654 # $1 and $2 should be version numbers made of numbers only. 655 version_eq() { 656 backIFS=$IFS 657 IFS='.' 658 659 # Split both version numbers into their numeric elements. 660 arr1=( $1 ) 661 arr2=( $2 ) 662 663 ret=1 664 665 count1=${#arr1[@]} 666 count2=${#arr2[@]} 667 if [ $count2 -ge $count1 ]; then 668 _t=$count1 669 count1=$count2 670 count2=$_t 671 arr1=( $2 ) 672 arr2=( $1 ) 673 fi 674 675 ret=0 676 for (( i=0; $i < $count2; i++ )) 677 do 678 if [ $(( 10#${arr1[$i]} )) -ne $(( 10#${arr2[$i]} )) ]; then 679 ret=1 680 break 681 fi 682 done 683 684 for (( i=$count2; $i < $count1; i++ )) 685 do 686 if [ $(( 10#${arr1[$i]} )) -ne 0 ]; then 687 ret=1 688 break 689 fi 690 done 691 692 IFS=$backIFS 693 return $ret 694 } 695 696 # Return 0 if $1 >= $2, else 1. 697 # $1 and $2 should be version numbers made of numbers only. 698 version_ge() { 699 version_eq $1 $2 700 if [ $? -eq 1 -a $(_echo "$1" "$2" | sort --version-sort | head --lines=1) Page 16

jack_xv.txt if [ $? -eq 1 -a $(_echo "$1" "$2" | sort --version-sort | head --lines=1) = "$1" ]; then 701 return 1 702 else 703 return 0 704 fi 705 } 706 707 # Return 0 if $1 is into $2 (e.g. 3.3.2 is into 3.3, but not 3.3.0 or 3.3.5), else 1. 708 # $1 and $2 should be version numbers made of numbers only. 709 # $1 should be at least as long as $2! 710 version_match() { 711 backIFS=$IFS 712 IFS='.' 713 714 # Split both version numbers into their numeric elements. 715 arr1=( $1 ) 716 arr2=( $2 ) 717 718 ret=1 719 720 count1=${#arr1[@]} 721 count2=${#arr2[@]} 722 if [ $count1 -ge $count2 ]; then 723 ret=0 724 for (( i=0; $i < $count2; i++ )) 725 do 726 if [ $(( 10#${arr1[$i]} )) -ne $(( 10#${arr2[$i]} )) ]; then 727 ret=1 728 break 729 fi 730 done 731 fi 732 733 IFS=$backIFS 734 return $ret 735 } 736 737 ##### Generic compile helpers ##### 738 prepare_opt() { 739 INFO "Ensuring $INST exists and is writable by us" 740 if [ ! -d $INST ]; then 741 sudo mkdir -p $INST 742 fi 743 744 if [ ! -w $INST ]; then 745 sudo chown $USER $INST 746 sudo chmod 775 $INST Page 17

jack_xv.txt 747 fi 748 } 749 750 # Check whether the current package needs to be recompiled, based on a dummy file containing a magic number in its name... 751 magic_compile_check() { 752 if [ -f $INST/.$1-magiccheck-$2 ]; then 753 return 0 754 else 755 return 1 756 fi 757 } 758 759 magic_compile_set() { 760 rm -f $INST/.$1-magiccheck-* 761 touch $INST/.$1-magiccheck-$2 762 } 763 764 # Note: should clean nicely in $INST, but not in $SRC, when we switch to a new version of a lib... 765 _clean() { 766 rm -rf `readlink -f $_inst_shortcut` 767 rm -rf $_src 768 rm -rf $_inst 769 rm -rf $_inst_shortcut 770 } 771 772 _create_inst_shortcut() { 773 rm -f $_inst_shortcut 774 ln -s $_inst $_inst_shortcut 775 } 776 777 # ldconfig 778 run_ldconfig() { 779 _lib_path="$INST/$1/lib" 780 _ldconf_path="/etc/ld.so.conf.d/$1.conf" 781 INFO "" 782 INFO "Running ldconfig for $1..." 783 sudo sh -c "echo \"$_lib_path\" > $_ldconf_path" 784 sudo /sbin/ldconfig # XXX OpenSuse does not include sbin in command path with sudo!!! 785 INFO "" 786 } 787 788 #### Build Python #### 789 _init_python() { 790 _src=$SRC/Python-$PYTHON_VERSION 791 _inst=$INST/python-$PYTHON_VERSION Page 18

jack_xv.txt 792 _inst_shortcut=$INST/python-3.3 793 } 794 795 clean_Python() { 796 clean_Numpy 797 _init_python 798 _clean 799 } 800 801 compile_Python() { 802 # To be changed each time we make edits that would modify the compiled result! 803 py_magic=1 804 _init_python 805 806 # Clean install if needed! 807 magic_compile_check python-$PYTHON_VERSION $py_magic 808 if [ $? -eq 1 -o $PYTHON_FORCE_REBUILD == true ]; then 809 clean_Python 810 fi 811 812 if [ ! -d $_inst ]; then 813 INFO "Building Python-$PYTHON_VERSION" 814 815 prepare_opt 816 817 if [ ! -d $_src ]; then 818 mkdir -p $SRC 819 wget -c $PYTHON_SOURCE -O $_src.tar.bz2 820 821 INFO "Unpacking Python-$PYTHON_VERSION" 822 tar -C $SRC -xf $_src.tar.bz2 823 fi 824 825 cd $_src 826 827 ./configure --prefix=$_inst --libdir=$_inst/lib --enable-ipv6 \ 828 --enable-loadable-sqlite-extensions --with-dbmliborder=bdb \ 829 --with-computed-gotos --with-pymalloc 830 831 make -j$THREADS && make install 832 make clean 833 834 if [ -d $_inst ]; then 835 _create_inst_shortcut 836 else 837 ERROR "Python--$PYTHON_VERSION failed to compile, exiting" 838 exit 1 Page 19

jack_xv.txt 839 840 841 842 843 844 845 846 847 fi magic_compile_set python-$PYTHON_VERSION $py_magic

cd $CWD INFO "Done compiling Python-$PYTHON_VERSION!" else INFO "Own Python-$PYTHON_VERSION is up to date, nothing to do!" INFO "If you want to force rebuild of this lib, use the --force-python option." 848 fi 849 } 850 851 ##### Build Numpy ##### 852 _init_numpy() { 853 _src=$SRC/numpy-$NUMPY_VERSION 854 _inst=$INST/numpy-$NUMPY_VERSION 855 _python=$INST/python-$PYTHON_VERSION 856 _site=lib/python3.3/site-packages 857 _inst_shortcut=$_python/$_site/numpy 858 } 859 860 clean_Numpy() { 861 _init_numpy 862 _clean 863 } 864 865 compile_Numpy() { 866 # To be changed each time we make edits that would modify the compiled result! 867 numpy_magic=0 868 _init_numpy 869 870 # Clean install if needed! 871 magic_compile_check numpy-$NUMPY_VERSION $numpy_magic 872 if [ $? -eq 1 -o $NUMPY_FORCE_REBUILD == true ]; then 873 clean_Numpy 874 fi 875 876 if [ ! -d $_inst ]; then 877 INFO "Building Numpy-$NUMPY_VERSION" 878 879 prepare_opt 880 881 if [ ! -d $_src ]; then 882 mkdir -p $SRC 883 wget -c $NUMPY_SOURCE -O $_src.tar.gz 884 Page 20

jack_xv.txt 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 INFO "Unpacking Numpy-$NUMPY_VERSION" tar -C $SRC -xf $_src.tar.gz fi cd $_src $_python/bin/python3 setup.py install --prefix=$_inst if [ -d $_inst ]; then # Can't use _create_inst_shortcut here... rm -f $_inst_shortcut ln -s $_inst/$_site/numpy $_inst_shortcut else ERROR "Numpy-$NUMPY_VERSION failed to compile, exiting" exit 1 fi magic_compile_set numpy-$NUMPY_VERSION $numpy_magic

cd $CWD INFO "Done compiling Numpy-$NUMPY_VERSION!" else INFO "Own Numpy-$NUMPY_VERSION is up to date, nothing to do!" INFO "If you want to force rebuild of this lib, use the --force-numpy option." 909 fi 910 } 911 912 #### Build Boost #### 913 _init_boost() { 914 _src=$SRC/boost-$BOOST_VERSION 915 _inst=$INST/boost-$BOOST_VERSION 916 _inst_shortcut=$INST/boost 917 } 918 919 clean_Boost() { 920 _init_boost 921 _clean 922 } 923 924 compile_Boost() { 925 # To be changed each time we make edits that would modify the compiled result! 926 boost_magic=7 927 928 _init_boost 929 930 # Clean install if needed! Page 21

jack_xv.txt 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 magic_compile_check boost-$BOOST_VERSION $boost_magic if [ $? -eq 1 -o $BOOST_FORCE_REBUILD == true ]; then clean_Boost fi if [ ! -d $_inst ]; then INFO "Building Boost-$BOOST_VERSION" # Rebuild dependecies as well! OIIO_FORCE_REBUILD=true OSL_FORCE_REBUILD=true prepare_opt

if [ ! -d $_src ]; then INFO "Downloading Boost-$BOOST_VERSION" mkdir -p $SRC wget -c $BOOST_SOURCE -O $_src.tar.bz2 tar -C $SRC --transform "s,(.*/?)boost_1_[^/]+(.*),\1boost$BOOST_VERSION\2,x" -xf $_src.tar.bz2 950 fi 951 952 cd $_src 953 if [ ! -f $_src/b2 ]; then 954 ./bootstrap.sh 955 fi 956 ./b2 -j$THREADS -a --with-system --with-filesystem --with-thread --withregex --with-locale --with-date_time \ 957 --prefix=$_inst --disable-icu boost.locale.icu=off install 958 ./b2 --clean 959 960 if [ -d $_inst ]; then 961 _create_inst_shortcut 962 else 963 ERROR "Boost-$BOOST_VERSION failed to compile, exiting" 964 exit 1 965 fi 966 967 magic_compile_set boost-$BOOST_VERSION $boost_magic 968 969 cd $CWD 970 INFO "Done compiling Boost-$BOOST_VERSION!" 971 else 972 INFO "Own Boost-$BOOST_VERSION is up to date, nothing to do!" 973 INFO "If you want to force rebuild of this lib, use the --force-boost option." 974 fi 975 Page 22

jack_xv.txt 976 # Just always run it, much simpler this way! 977 run_ldconfig "boost" 978 } 979 980 #### Build OCIO #### 981 _init_ocio() { 982 _src=$SRC/OpenColorIO-$OCIO_VERSION 983 _inst=$INST/ocio-$OCIO_VERSION 984 _inst_shortcut=$INST/ocio 985 } 986 987 clean_OCIO() { 988 _init_ocio 989 _clean 990 } 991 992 compile_OCIO() { 993 # To be changed each time we make edits that would modify the compiled result! 994 ocio_magic=1 995 _init_ocio 996 997 # Clean install if needed! 998 magic_compile_check ocio-$OCIO_VERSION $ocio_magic 999 if [ $? -eq 1 -o $OCIO_FORCE_REBUILD == true ]; then 1000 clean_OCIO 1001 fi 1002 1003 if [ ! -d $_inst ]; then 1004 INFO "Building OpenColorIO-$OCIO_VERSION" 1005 1006 prepare_opt 1007 1008 if [ ! -d $_src ]; then 1009 INFO "Downloading OpenColorIO-$OCIO_VERSION" 1010 mkdir -p $SRC 1011 wget -c $OCIO_SOURCE -O $_src.tar.gz 1012 1013 INFO "Unpacking OpenColorIO-$OCIO_VERSION" 1014 tar -C $SRC --transform "s,(.*/?)imageworks-OpenColorIO[^/]*(.*), \1OpenColorIO-$OCIO_VERSION\2,x" \ 1015 -xf $_src.tar.gz 1016 fi 1017 1018 cd $_src 1019 # Always refresh the whole build! 1020 if [ -d build ]; then 1021 rm -rf build Page 23

jack_xv.txt 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 fi mkdir build cd build if file /bin/cp | grep -q '32-bit'; then cflags="-fPIC -m32 -march=i686" else cflags="-fPIC" fi cmake -D -D -D -D -D -D -D .. CMAKE_BUILD_TYPE=Release \ CMAKE_PREFIX_PATH=$_inst \ CMAKE_INSTALL_PREFIX=$_inst \ CMAKE_CXX_FLAGS="$cflags" \ CMAKE_EXE_LINKER_FLAGS="-lgcc_s -lgcc" \ OCIO_BUILD_APPS=OFF \ OCIO_BUILD_PYGLUE=OFF \

make -j$THREADS && make install # Force linking against static libs rm -f $_inst/lib/*.so* # Additional depencencies cp ext/dist/lib/libtinyxml.a $_inst/lib cp ext/dist/lib/libyaml-cpp.a $_inst/lib make clean if [ -d $_inst ]; then _create_inst_shortcut else ERROR "OpenColorIO-$OCIO_VERSION failed to compile, exiting" exit 1 fi magic_compile_set ocio-$OCIO_VERSION $ocio_magic

cd $CWD INFO "Done compiling OpenColorIO-$OCIO_VERSION!" else INFO "Own OpenColorIO-$OCIO_VERSION is up to date, nothing to do!" INFO "If you want to force rebuild of this lib, use the --force-ocio option." 1066 fi 1067 } 1068 Page 24

jack_xv.txt 1069 #### Build ILMBase #### 1070 _init_ilmbase() { 1071 _src=$SRC/ILMBase-$ILMBASE_VERSION 1072 _inst=$TMP/ilmbase-$ILMBASE_VERSION 1073 _inst_shortcut=$TMP/ilmbase 1074 } 1075 1076 clean_ILMBASE() { 1077 _init_ilmbase 1078 _clean 1079 } 1080 1081 compile_ILMBASE() { 1082 # To be changed each time we make edits that would modify the compiled result! 1083 ilmbase_magic=5 1084 _init_ilmbase 1085 1086 # Clean install if needed! 1087 magic_compile_check ilmbase-$ILMBASE_VERSION $ilmbase_magic 1088 1089 if [ $? -eq 1 -o $OPENEXR_FORCE_REBUILD == true ]; then 1090 clean_ILMBASE 1091 rm -rf $_openexr_inst 1092 fi 1093 1094 if [ ! -d $_openexr_inst ]; then 1095 INFO "Building ILMBase-$ILMBASE_VERSION" 1096 1097 # Rebuild dependecies as well! 1098 OPENEXR_FORCE_REBUILD=true 1099 1100 prepare_opt 1101 1102 if [ ! -d $_src ]; then 1103 INFO "Downloading ILMBase-$ILMBASE_VERSION" 1104 mkdir -p $SRC 1105 wget -c $ILMBASE_SOURCE -O $_src.tar.gz 1106 1107 INFO "Unpacking ILMBase-$ILMBASE_VERSION" 1108 tar -C $SRC --transform "s,(.*/?)ilmbase-[^/]*(.*),\1ILMBase$ILMBASE_VERSION\2,x" \ 1109 -xf $_src.tar.gz 1110 1111 cd $_src 1112 1113 # XXX Ugly patching hack! 1114 cat << EOF | patch -p1 Page 25

jack_xv.txt 1115 --- a/Half/CMakeLists.txt 1116 +++ b/Half/CMakeLists.txt 1117 @@ -47,6 +47,7 @@ 1118 1119 INSTALL ( FILES 1120 half.h 1121 + halfExport.h 1122 halfFunction.h 1123 halfLimits.h 1124 DESTINATION 1125 EOF 1126 1127 cd $CWD 1128 1129 fi 1130 1131 cd $_src 1132 # Always refresh the whole build! 1133 if [ -d build ]; then 1134 rm -rf build 1135 fi 1136 mkdir build 1137 cd build 1138 1139 cmake_d="-D CMAKE_BUILD_TYPE=Release" 1140 cmake_d="$cmake_d -D CMAKE_PREFIX_PATH=$_inst" 1141 cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst" 1142 1143 if file /bin/cp | grep -q '32-bit'; then 1144 cflags="-fPIC -m32 -march=i686" 1145 else 1146 cflags="-fPIC" 1147 fi 1148 1149 cmake $cmake_d -D CMAKE_CXX_FLAGS="$cflags" -D CMAKE_EXE_LINKER_FLAGS="lgcc_s -lgcc" .. 1150 1151 make -j$THREADS && make install 1152 1153 make clean 1154 1155 if [ -d $_inst ]; then 1156 _create_inst_shortcut 1157 else 1158 ERROR "ILMBase-$ILMBASE_VERSION failed to compile, exiting" 1159 exit 1 1160 fi 1161 cd $CWD Page 26

jack_xv.txt 1162 1163 1164 1165 INFO "Done compiling ILMBase-$ILMBASE_VERSION!" else INFO "Own ILMBase-$ILMBASE_VERSION is up to date, nothing to do!" INFO "If you want to force rebuild of this lib (and openexr), use the -force-openexr option." 1166 fi 1167 1168 magic_compile_set ilmbase-$ILMBASE_VERSION $ilmbase_magic 1169 } 1170 1171 #### Build OpenEXR #### 1172 _init_openexr() { 1173 _src=$SRC/OpenEXR-$OPENEXR_VERSION 1174 _inst=$_openexr_inst 1175 _inst_shortcut=$INST/openexr 1176 } 1177 1178 clean_OPENEXR() { 1179 clean_ILMBASE 1180 _init_openexr 1181 _clean 1182 } 1183 1184 compile_OPENEXR() { 1185 # To be changed each time we make edits that would modify the compiled result! 1186 openexr_magic=10 1187 1188 # Clean install if needed! 1189 magic_compile_check openexr-$OPENEXR_VERSION $openexr_magic 1190 if [ $? -eq 1 -o $OPENEXR_FORCE_REBUILD == true ]; then 1191 clean_OPENEXR 1192 fi 1193 1194 _openexr_inst=$INST/openexr-$OPENEXR_VERSION 1195 compile_ILMBASE 1196 _ilmbase_inst=$_inst_shortcut 1197 _init_openexr 1198 1199 if [ ! -d $_inst ]; then 1200 INFO "Building OpenEXR-$OPENEXR_VERSION" 1201 1202 # Rebuild dependecies as well! 1203 OIIO_FORCE_REBUILD=true 1204 OSL_FORCE_REBUILD=true 1205 1206 prepare_opt 1207 Page 27

jack_xv.txt 1208 1209 1210 1211 1212 1213 1214 if [ ! -d $_src ]; then INFO "Downloading OpenEXR-$OPENEXR_VERSION" mkdir -p $SRC wget -c $OPENEXR_SOURCE -O $_src.tar.gz

INFO "Unpacking OpenEXR-$OPENEXR_VERSION" tar -C $SRC --transform "s,(.*/?)openexr[^/]*(.*),\1OpenEXR$OPENEXR_VERSION\2,x" \ 1215 -xf $_src.tar.gz 1216 1217 cd $_src 1218 1219 # XXX Ugly patching hack! 1220 cat << EOF | patch -p1 1221 --- a/CMakeLists.txt 1222 +++ b/CMakeLists.txt 1223 @@ -42,7 +42,7 @@ 1224 ADD_SUBDIRECTORY ( exrmakepreview ) 1225 ADD_SUBDIRECTORY ( exrenvmap ) 1226 ADD_SUBDIRECTORY ( exrmultiview ) 1227 -ADD_SUBDIRECTORY ( exr2aces ) 1228 +#ADD_SUBDIRECTORY ( exr2aces ) 1229 ADD_SUBDIRECTORY ( exrmultipart ) 1230 1231 ########################## 1232 @@ -52,11 +52,11 @@ 1233 # Documentation 1234 INSTALL ( FILES 1235 doc/TechnicalIntroduction.pdf 1236 - doc/TechnicalIntroduction_2.0.pdf 1237 +# doc/TechnicalIntroduction_2.0.pdf 1238 doc/ReadingAndWritingImageFiles.pdf 1239 doc/OpenEXRFileLayout.pdf 1240 - doc/OpenEXRFileLayout_2.0.pdf 1241 - doc/ReadingAndWritingImageFiles_2.0.pdf 1242 +# doc/OpenEXRFileLayout_2.0.pdf 1243 +# doc/ReadingAndWritingImageFiles_2.0.pdf 1244 doc/MultiViewOpenEXR.pdf 1245 DESTINATION 1246 ${CMAKE_INSTALL_PREFIX}/share/doc/OpenEXR-2.0.0 1247 --- a/IlmImfFuzzTest/CMakeLists.txt 1248 +++ b/IlmImfFuzzTest/CMakeLists.txt 1249 @@ -4,7 +4,9 @@ 1250 fuzzFile.cpp 1251 main.cpp 1252 testFuzzScanLines.cpp 1253 + testFuzzDeepScanLines.cpp 1254 testFuzzTiles.cpp Page 28

jack_xv.txt 1255 + testFuzzDeepTiles.cpp 1256 ) 1257 1258 TARGET_LINK_LIBRARIES ( IlmImfFuzzTest IlmImf Iex Imath Half IlmThread ${PTHREAD_LIB} ${Z_LIB}) 1259 --- a/IlmImfTest/CMakeLists.txt 1260 +++ b/IlmImfTest/CMakeLists.txt 1261 @@ -19,22 +19,26 @@ 1262 testCustomAttributes.cpp 1263 testDeepScanLineBasic.cpp 1264 testDeepScanLineHuge.cpp 1265 + testDeepScanLineMultipleRead.cpp 1266 testDeepTiledBasic.cpp 1267 testExistingStreams.cpp 1268 + testFutureProofing.cpp 1269 testHuf.cpp 1270 testInputPart.cpp 1271 testIsComplete.cpp 1272 testLineOrder.cpp 1273 testLut.cpp 1274 testMagic.cpp 1275 testMultiPartApi.cpp 1276 testMultiPartFileMixingBasic.cpp 1277 testMultiPartSharedAttributes.cpp 1278 testMultiPartThreading.cpp 1279 testMultiScanlinePartThreading.cpp 1280 testMultiTiledPartThreading.cpp 1281 testMultiView.cpp 1282 testNativeFormat.cpp 1283 + testOptimized.cpp 1284 + testPartHelper.cpp 1285 testPreviewImage.cpp 1286 testRgba.cpp 1287 testRgbaThreading.cpp 1288 --- a/IlmImf/CMakeLists.txt 1289 +++ b/IlmImf/CMakeLists.txt 1290 @@ -153,18 +153,18 @@ 1291 ImfCompositeDeepScanLine.cpp 1292 ) 1293 1294 -ADD_LIBRARY ( IlmImf STATIC 1295 - \${ILMIMF_SRCS} 1296 -) 1297 1298 -# TARGET_LINK_LIBRARIES ( IlmImf) 1299 1300 -ADD_DEPENDENCIES ( IlmImf b44ExpLogTable ) 1301 +ADD_LIBRARY ( IlmImf STATIC \${ILMIMF_SRCS} ) Page 29

jack_xv.txt 1302 +ADD_DEPENDENCIES ( IlmImf b44ExpLogTable ) 1303 + 1304 +ADD_LIBRARY ( IlmImf_dyn SHARED \${ILMIMF_SRCS} ) 1305 +SET_TARGET_PROPERTIES ( IlmImf_dyn PROPERTIES OUTPUT_NAME IlmImf) 1306 +ADD_DEPENDENCIES ( IlmImf_dyn b44ExpLogTable ) 1307 +TARGET_LINK_LIBRARIES ( IlmImf_dyn Iex Imath Half IlmThread \${Z_LIB} \ ${PTHREAD_LIB} ) 1308 1309 # Libraries 1310 1311 INSTALL ( TARGETS 1312 - IlmImf 1313 + IlmImf IlmImf_dyn 1314 DESTINATION 1315 \${CMAKE_INSTALL_PREFIX}/lib 1316 ) 1317 @@ -168,6 +167,7 @@ 1318 INSTALL ( FILES 1319 ${CMAKE_SOURCE_DIR}/config/OpenEXRConfig.h 1320 ImfForward.h 1321 + ImfNamespace.h 1322 ImfExport.h 1323 ImfAttribute.h 1324 ImfBoxAttribute.h 1325 EOF 1326 1327 cd $CWD 1328 1329 fi 1330 1331 cd $_src 1332 # Always refresh the whole build! 1333 if [ -d build ]; then 1334 rm -rf build 1335 fi 1336 mkdir build 1337 cd build 1338 1339 cmake_d="-D CMAKE_BUILD_TYPE=Release" 1340 cmake_d="$cmake_d -D CMAKE_PREFIX_PATH=$_inst" 1341 cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst" 1342 cmake_d="$cmake_d -D ILMBASE_PACKAGE_PREFIX=$_ilmbase_inst" 1343 1344 if file /bin/cp | grep -q '32-bit'; then 1345 cflags="-fPIC -m32 -march=i686" 1346 else 1347 cflags="-fPIC" 1348 fi Page 30

jack_xv.txt 1349 1350 cmake $cmake_d -D CMAKE_CXX_FLAGS="$cflags" -D CMAKE_EXE_LINKER_FLAGS="lgcc_s -lgcc" ..

1351 1352 make -j$THREADS && make install 1353 1354 # Force linking against static libs 1355 # rm -f $_inst/lib/*.so* 1356 1357 make clean 1358 1359 if [ -d $_inst ]; then 1360 _create_inst_shortcut 1361 # Copy ilmbase files here (blender expects same dir for ilmbase and openexr :/). 1362 cp -Lrn $_ilmbase_inst/* $_inst_shortcut 1363 else 1364 ERROR "OpenEXR-$OPENEXR_VERSION failed to compile, exiting" 1365 exit 1 1366 fi 1367 1368 magic_compile_set openexr-$OPENEXR_VERSION $openexr_magic 1369 1370 cd $CWD 1371 INFO "Done compiling OpenEXR-$OPENEXR_VERSION!" 1372 else 1373 INFO "Own OpenEXR-$OPENEXR_VERSION is up to date, nothing to do!" 1374 INFO "If you want to force rebuild of this lib, use the --force-openexr option." 1375 fi 1376 1377 _with_built_openexr=true 1378 1379 # Just always run it, much simpler this way! 1380 run_ldconfig "openexr" 1381 } 1382 1383 #### Build OIIO #### 1384 _init_oiio() { 1385 _src=$SRC/OpenImageIO-$OIIO_VERSION 1386 _inst=$INST/oiio-$OIIO_VERSION 1387 _inst_shortcut=$INST/oiio 1388 } 1389 1390 clean_OIIO() { 1391 _init_oiio 1392 _clean 1393 } Page 31

jack_xv.txt 1394 1395 compile_OIIO() { 1396 # To be changed each time we make edits that would modify the compiled result! 1397 oiio_magic=12 1398 _init_oiio 1399 1400 # Clean install if needed! 1401 magic_compile_check oiio-$OIIO_VERSION $oiio_magic 1402 if [ $? -eq 1 -o $OIIO_FORCE_REBUILD == true ]; then 1403 clean_OIIO 1404 fi 1405 1406 if [ ! -d $_inst ]; then 1407 INFO "Building OpenImageIO-$OIIO_VERSION" 1408 1409 # Rebuild dependecies as well! 1410 OSL_FORCE_REBUILD=true 1411 1412 prepare_opt 1413 1414 if [ ! -d $_src ]; then 1415 mkdir -p $SRC 1416 wget -c $OIIO_SOURCE -O "$_src.tar.gz" 1417 1418 INFO "Unpacking OpenImageIO-$OIIO_VERSION" 1419 tar -C $SRC --transform "s,(.*/?)oiio-Release-[^/]*(.*),\1OpenImageIO$OIIO_VERSION\2,x" \ 1420 -xf $_src.tar.gz 1421 1422 cd $_src 1423 1424 # XXX Ugly patching hack! 1425 cat << EOF | patch -p1 1426 --- a/src/libOpenImageIO/CMakeLists.txt 1427 +++ b/src/libOpenImageIO/CMakeLists.txt 1428 @@ -289,12 +289,12 @@ 1429 1430 add_executable (imagebuf_test imagebuf_test.cpp) 1431 -link_ilmbase (imagebuf_test) 1432 target_link_libraries (imagebuf_test OpenImageIO \${Boost_LIBRARIES} \ ${CMAKE_DL_LIBS}) 1433 +link_ilmbase (imagebuf_test) 1434 add_test (unit_imagebuf imagebuf_test) 1435 1436 add_executable (imagebufalgo_test imagebufalgo_test.cpp) 1437 -link_ilmbase (imagebufalgo_test) 1438 target_link_libraries (imagebufalgo_test OpenImageIO \${Boost_LIBRARIES} \ Page 32

jack_xv.txt target_link_libraries (imagebufalgo_test OpenImageIO \${Boost_LIBRARIES} \ ${CMAKE_DL_LIBS}) 1439 +link_ilmbase (imagebufalgo_test) 1440 add_test (unit_imagebufalgo imagebufalgo_test) 1441 1442 1443 @@ -340,5 +340,6 @@ 1444 1445 add_executable (imagespeed_test imagespeed_test.cpp) 1446 target_link_libraries (imagespeed_test OpenImageIO \${Boost_LIBRARIES} \ ${CMAKE_DL_LIBS}) 1447 +link_ilmbase (imagespeed_test) 1448 #add_test (unit_hash hash_test) 1449 1450 --- a/src/iconvert/CMakeLists.txt 1451 +++ b/src/iconvert/CMakeLists.txt 1452 @@ -1,6 +1,6 @@ 1453 set (iconvert_srcs iconvert.cpp) 1454 add_executable (iconvert \${iconvert_srcs}) 1455 -link_ilmbase (iconvert) 1456 target_link_libraries (iconvert OpenImageIO \${Boost_LIBRARIES} \ ${CMAKE_DL_LIBS}) 1457 +link_ilmbase (iconvert) 1458 oiio_install_targets (iconvert) 1459 1460 --- a/src/idiff/CMakeLists.txt 1461 +++ b/src/idiff/CMakeLists.txt 1462 @@ -1,6 +1,6 @@ 1463 set (idiff_srcs idiff.cpp) 1464 add_executable (idiff \${idiff_srcs}) 1465 -link_ilmbase (idiff) 1466 target_link_libraries (idiff OpenImageIO \${Boost_LIBRARIES} \ ${CMAKE_DL_LIBS}) 1467 +link_ilmbase (idiff) 1468 oiio_install_targets (idiff) 1469 1470 --- a/src/igrep/CMakeLists.txt 1471 +++ b/src/igrep/CMakeLists.txt 1472 @@ -1,6 +1,6 @@ 1473 set (igrep_srcs igrep.cpp) 1474 add_executable (igrep \${igrep_srcs}) 1475 -link_ilmbase (igrep) 1476 target_link_libraries (igrep OpenImageIO \${Boost_LIBRARIES} \ ${CMAKE_DL_LIBS}) 1477 +link_ilmbase (igrep) 1478 oiio_install_targets (igrep) 1479 1480 --- a/src/iinfo/CMakeLists.txt 1481 +++ b/src/iinfo/CMakeLists.txt Page 33

jack_xv.txt 1482 @@ -3,7 +3,7 @@ 1483 if (MSVC) 1484 set_target_properties (OpenImageIO PROPERTIES LINK_FLAGS psapi.lib) 1485 endif (MSVC) 1486 -link_ilmbase (iinfo) 1487 target_link_libraries (iinfo OpenImageIO \${Boost_LIBRARIES} \ ${CMAKE_DL_LIBS}) 1488 +link_ilmbase (iinfo) 1489 oiio_install_targets (iinfo) 1490 1491 --- a/src/maketx/CMakeLists.txt 1492 +++ b/src/maketx/CMakeLists.txt 1493 @@ -1,6 +1,6 @@ 1494 set (maketx_srcs maketx.cpp) 1495 add_executable (maketx \${maketx_srcs}) 1496 -link_ilmbase (maketx) 1497 target_link_libraries (maketx OpenImageIO \${Boost_LIBRARIES} \ ${CMAKE_DL_LIBS}) 1498 +link_ilmbase (maketx) 1499 oiio_install_targets (maketx) 1500 1501 --- a/src/oiiotool/CMakeLists.txt 1502 +++ b/src/oiiotool/CMakeLists.txt 1503 @@ -1,6 +1,6 @@ 1504 set (oiiotool_srcs oiiotool.cpp diff.cpp imagerec.cpp printinfo.cpp) 1505 add_executable (oiiotool \${oiiotool_srcs}) 1506 -link_ilmbase (oiiotool) 1507 target_link_libraries (oiiotool OpenImageIO \${Boost_LIBRARIES} \ ${CMAKE_DL_LIBS}) 1508 +link_ilmbase (oiiotool) 1509 oiio_install_targets (oiiotool) 1510 1511 --- a/src/testtex/CMakeLists.txt 1512 +++ b/src/testtex/CMakeLists.txt 1513 @@ -1,5 +1,5 @@ 1514 set (testtex_srcs testtex.cpp) 1515 add_executable (testtex \${testtex_srcs}) 1516 -link_ilmbase (testtex) 1517 target_link_libraries (testtex OpenImageIO \${Boost_LIBRARIES} \ ${CMAKE_DL_LIBS}) 1518 +link_ilmbase (testtex) 1519 1520 --- a/src/cmake/modules/FindIlmBase.cmake 1521 +++ b/src/cmake/modules/FindIlmBase.cmake 1522 @@ -109,11 +109,13 @@ 1523 # Generic search paths 1524 set (IlmBase_generic_include_paths 1525 /usr/include Page 34

jack_xv.txt 1526 + /usr/include/\${CMAKE_LIBRARY_ARCHITECTURE} 1527 /usr/local/include 1528 /sw/include 1529 /opt/local/include) 1530 set (IlmBase_generic_library_paths 1531 /usr/lib 1532 + /usr/lib/\${CMAKE_LIBRARY_ARCHITECTURE} 1533 /usr/local/lib 1534 /sw/lib 1535 /opt/local/lib) 1536 --- a/src/cmake/modules/FindOpenEXR.cmake 1537 +++ b/src/cmake/modules/FindOpenEXR.cmake 1538 @@ -105,11 +105,13 @@ 1539 # Generic search paths 1540 set (OpenEXR_generic_include_paths 1541 /usr/include 1542 + /usr/include/\${CMAKE_LIBRARY_ARCHITECTURE} 1543 /usr/local/include 1544 /sw/include 1545 /opt/local/include) 1546 set (OpenEXR_generic_library_paths 1547 /usr/lib 1548 + /usr/lib/\${CMAKE_LIBRARY_ARCHITECTURE} 1549 /usr/local/lib 1550 /sw/lib 1551 /opt/local/lib) 1552 --- a/src/libutil/tbb_misc.cpp 1553 +++ b/src/libutil/tbb_misc.cpp 1554 @@ -44,7 +44,8 @@ 1555 1556 using namespace std; 1557 1558 -#include "tbb/tbb_machine.h" 1559 +//#include "tbb/tbb_machine.h" 1560 +#include "tbb/tbb_assert_impl.h" 1561 1562 namespace tbb { 1563 1564 EOF 1565 1566 cd $CWD 1567 1568 fi 1569 1570 cd $_src 1571 # Always refresh the whole build! 1572 if [ -d build ]; then 1573 rm -rf build Page 35

jack_xv.txt 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 fi mkdir build cd build cmake_d="-D CMAKE_BUILD_TYPE=Release" cmake_d="$cmake_d -D CMAKE_PREFIX_PATH=$_inst" cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst" cmake_d="$cmake_d -D BUILDSTATIC=OFF" if [ $_with_built_openexr == true ]; then cmake_d="$cmake_d -D ILMBASE_HOME=$INST/openexr" cmake_d="$cmake_d -D ILMBASE_VERSION=$ILMBASE_VERSION" cmake_d="$cmake_d -D OPENEXR_HOME=$INST/openexr" fi # Optional tests and cmd tools cmake_d="$cmake_d -D USE_QT=OFF" cmake_d="$cmake_d -D USE_PYTHON=OFF" cmake_d="$cmake_d -D BUILD_TESTING=OFF" #cmake_d="$cmake_d -D CMAKE_EXPORT_COMPILE_COMMANDS=ON" #cmake_d="$cmake_d -D CMAKE_VERBOSE_MAKEFILE=ON"

# linking statically could give issues on Debian/Ubuntu (and probably other distros 1597 # which doesn't like static linking) when linking shared oiio library due to missing 1598 # text symbols (static libs should be compiled with -fPIC) 1599 # cmake_d="$cmake_d -D LINKSTATIC=ON" 1600 1601 if [ -d $INST/boost ]; then 1602 cmake_d="$cmake_d -D BOOST_ROOT=$INST/boost -D Boost_NO_SYSTEM_PATHS=ON" 1603 # XXX Does not work (looks like static boost are built without fPIC :/ ). 1604 #if $ALL_STATIC; then 1605 #cmake_d="$cmake_d -D Boost_USE_STATIC_LIBS=ON" 1606 #fi 1607 fi 1608 1609 # Looks like we do not need ocio in oiio for now... 1610 # if [ -d $INST/ocio ]; then 1611 # cmake_d="$cmake_d -D OCIO_PATH=$INST/ocio" 1612 # fi 1613 cmake_d="$cmake_d -D USE_OCIO=OFF" 1614 1615 if file /bin/cp | grep -q '32-bit'; then 1616 cflags="-fPIC -m32 -march=i686" 1617 else Page 36

jack_xv.txt 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 cflags="-fPIC" fi cmake $cmake_d -D CMAKE_CXX_FLAGS="$cflags" -D CMAKE_EXE_LINKER_FLAGS="lgcc_s -lgcc" ../src make -j$THREADS && make install make clean if [ -d $_inst ]; then _create_inst_shortcut else ERROR "OpenImageIO-$OIIO_VERSION failed to compile, exiting" exit 1 fi magic_compile_set oiio-$OIIO_VERSION $oiio_magic

cd $CWD INFO "Done compiling OpenImageIO-$OIIO_VERSION!" else INFO "Own OpenImageIO-$OIIO_VERSION is up to date, nothing to do!" INFO "If you want to force rebuild of this lib, use the --force-oiio option." 1640 fi 1641 1642 # Just always run it, much simpler this way! 1643 run_ldconfig "oiio" 1644 } 1645 1646 #### Build LLVM #### 1647 _init_llvm() { 1648 _src=$SRC/LLVM-$LLVM_VERSION 1649 _src_clang=$SRC/CLANG-$LLVM_VERSION 1650 _inst=$INST/llvm-$LLVM_VERSION 1651 _inst_shortcut=$INST/llvm 1652 } 1653 1654 clean_LLVM() { 1655 _init_llvm 1656 _clean 1657 } 1658 1659 compile_LLVM() { 1660 # To be changed each time we make edits that would modify the compiled result! 1661 llvm_magic=2 1662 _init_llvm Page 37

jack_xv.txt 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 # Clean install if needed! magic_compile_check llvm-$LLVM_VERSION $llvm_magic if [ $? -eq 1 -o $LLVM_FORCE_REBUILD == true ]; then clean_LLVM fi if [ ! -d $_inst ]; then INFO "Building LLVM-$LLVM_VERSION (CLANG included!)" prepare_opt if [ ! -d $_src -o true ]; then mkdir -p $SRC wget -c $LLVM_SOURCE -O "$_src.tar.gz" wget -c $LLVM_CLANG_SOURCE -O "$_src_clang.tar.gz"

INFO "Unpacking LLVM-$LLVM_VERSION" tar -C $SRC --transform "s,([^/]*/?)llvm-[^/]*(.*),\1LLVM$LLVM_VERSION\2,x" \ 1682 -xf $_src.tar.gz 1683 INFO "Unpacking CLANG-$LLVM_VERSION to $_src/tools/clang" 1684 tar -C $_src/tools \ 1685 --transform "s,([^/]*/?)clang-[^/]*(.*),\1clang\2,x" \ 1686 -xf $_src_clang.tar.gz 1687 1688 cd $_src 1689 1690 # XXX Ugly patching hack! 1691 cat << EOF | patch -p1 1692 --- a/CMakeLists.txt 1693 +++ b/CMakeLists.txt 1694 @@ -13,7 +13,7 @@ 1695 set(LLVM_VERSION_MAJOR 3) 1696 set(LLVM_VERSION_MINOR 1) 1697 1698 -set(PACKAGE_VERSION "\${LLVM_VERSION_MAJOR}.\${LLVM_VERSION_MINOR}svn") 1699 +set(PACKAGE_VERSION "\${LLVM_VERSION_MAJOR}.\${LLVM_VERSION_MINOR}") 1700 1701 set_property(GLOBAL PROPERTY USE_FOLDERS ON) 1702 1703 EOF 1704 1705 cd $CWD 1706 1707 fi 1708 1709 cd $_src Page 38

jack_xv.txt 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 # Always refresh the whole build! if [ -d build ]; then rm -rf build fi mkdir build cd build cmake_d="-D CMAKE_BUILD_TYPE=Release" cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst" cmake_d="$cmake_d -D LLVM_ENABLE_FFI=ON" cmake_d="$cmake_d -D LLVM_TARGETS_TO_BUILD=X86" if [ -d $_FFI_INCLUDE_DIR ]; then cmake_d="$cmake_d -D FFI_INCLUDE_DIR=$_FFI_INCLUDE_DIR" fi cmake $cmake_d .. make -j$THREADS && make install make clean if [ -d $_inst ]; then _create_inst_shortcut else ERROR "LLVM-$LLVM_VERSION failed to compile, exiting" exit 1 fi magic_compile_set llvm-$LLVM_VERSION $llvm_magic # Rebuild dependecies as well! OSL_FORCE_REBUILD=true

cd $CWD INFO "Done compiling LLVM-$LLVM_VERSION (CLANG included)!" else INFO "Own LLVM-$LLVM_VERSION (CLANG included) is up to date, nothing to do!" 1748 INFO "If you want to force rebuild of this lib, use the --force-llvm option." 1749 fi 1750 } 1751 1752 #### Build OSL #### 1753 _init_osl() { 1754 _src=$SRC/OpenShadingLanguage-$OSL_VERSION 1755 _inst=$INST/osl-$OSL_VERSION Page 39

jack_xv.txt 1756 _inst_shortcut=$INST/osl 1757 } 1758 1759 clean_OSL() { 1760 _init_osl 1761 _clean 1762 } 1763 1764 compile_OSL() { 1765 # To be changed each time we make edits that would modify the compiled result! 1766 osl_magic=11 1767 _init_osl 1768 1769 # Clean install if needed! 1770 magic_compile_check osl-$OSL_VERSION $osl_magic 1771 if [ $? -eq 1 -o $OSL_FORCE_REBUILD == true ]; then 1772 clean_OSL 1773 fi 1774 1775 if [ ! -d $_inst ]; then 1776 INFO "Building OpenShadingLanguage-$OSL_VERSION" 1777 1778 prepare_opt 1779 1780 if [ ! -d $_src ]; then 1781 mkdir -p $SRC 1782 1783 wget -c $OSL_SOURCE -O "$_src.tar.gz" 1784 1785 INFO "Unpacking OpenShadingLanguage-$OSL_VERSION" 1786 tar -C $SRC --transform "s,(.*/?)OpenShadingLanguage-[^/]*(.*), \1OpenShadingLanguage-$OSL_VERSION\2,x" \ 1787 -xf $_src.tar.gz 1788 cd $_src 1789 #git checkout blender-fixes 1790 cd $CWD 1791 fi 1792 1793 cd $_src 1794 1795 # Always refresh the whole build! 1796 if [ -d build ]; then 1797 rm -rf build 1798 fi 1799 mkdir build 1800 cd build 1801 Page 40

jack_xv.txt 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 cmake_d="-D CMAKE_BUILD_TYPE=Release" cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst" cmake_d="$cmake_d -D BUILDSTATIC=ON" cmake_d="$cmake_d -D BUILD_TESTING=OFF" cmake_d="$cmake_d -D STOP_ON_WARNING=OFF" if [ $_with_built_openexr == true ]; then #cmake_d="$cmake_d -D OPENEXR_HOME=$INST/openexr" # XXX Not used! cmake_d="$cmake_d -D ILMBASE_HOME=$INST/openexr" fi

if [ -d $INST/boost ]; then cmake_d="$cmake_d -D BOOST_ROOT=$INST/boost -D Boost_NO_SYSTEM_PATHS=ON" 1815 if $ALL_STATIC; then 1816 cmake_d="$cmake_d -D Boost_USE_STATIC_LIBS=ON" 1817 fi 1818 fi 1819 1820 if [ -d $INST/oiio ]; then 1821 cmake_d="$cmake_d -D OPENIMAGEIOHOME=$INST/oiio" 1822 fi 1823 1824 INFO "$LLVM_VERSION_FOUND" 1825 if [ ! -z $LLVM_VERSION_FOUND ]; then 1826 cmake_d="$cmake_d -D LLVM_VERSION=$LLVM_VERSION_FOUND" 1827 if [ -d $INST/llvm ]; then 1828 cmake_d="$cmake_d -D LLVM_DIRECTORY=$INST/llvm" 1829 cmake_d="$cmake_d -D LLVM_STATIC=ON" 1830 fi 1831 fi 1832 1833 cmake $cmake_d ../src 1834 1835 make -j$THREADS && make install 1836 make clean 1837 1838 if [ -d $_inst ]; then 1839 _create_inst_shortcut 1840 else 1841 ERROR "OpenShadingLanguage-$OSL_VERSION failed to compile, exiting" 1842 exit 1 1843 fi 1844 1845 magic_compile_set osl-$OSL_VERSION $osl_magic 1846 1847 cd $CWD 1848 INFO "Done compiling OpenShadingLanguage-$OSL_VERSION!" Page 41

jack_xv.txt 1849 1850 else INFO "Own OpenShadingLanguage-$OSL_VERSION is up to date, nothing to do!" 1851 INFO "If you want to force rebuild of this lib, use the --force-osl option." 1852 fi 1853 } 1854 1855 #### Build OpenCOLLADA #### 1856 _init_opencollada() { 1857 _src=$SRC/OpenCOLLADA-$OPENCOLLADA_VERSION 1858 _inst=$INST/opencollada-$OPENCOLLADA_VERSION 1859 _inst_shortcut=$INST/opencollada 1860 } 1861 1862 clean_OpenCOLLADA() { 1863 _init_opencollada 1864 _clean 1865 } 1866 1867 compile_OpenCOLLADA() { 1868 # To be changed each time we make edits that would modify the compiled results! 1869 opencollada_magic=8 1870 _init_opencollada 1871 1872 # Clean install if needed! 1873 magic_compile_check opencollada-$OPENCOLLADA_VERSION $opencollada_magic 1874 if [ $? -eq 1 -o $OPENCOLLADA_FORCE_REBUILD == true ]; then 1875 clean_OpenCOLLADA 1876 fi 1877 1878 if [ ! -d $_inst ]; then 1879 INFO "Building OpenCOLLADA-$OPENCOLLADA_VERSION" 1880 1881 prepare_opt 1882 1883 if [ ! -d $_src ]; then 1884 mkdir -p $SRC 1885 git clone $OPENCOLLADA_SOURCE $_src 1886 fi 1887 1888 cd $_src 1889 1890 # XXX For now, always update from latest repo... 1891 git pull origin master 1892 1893 # Stick to same rev as windows' libs... Page 42

jack_xv.txt 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 git checkout $OPENCOLLADA_REPO_UID git reset --hard # Always refresh the whole build! if [ -d build ]; then rm -rf build fi mkdir build cd build cmake_d="-D CMAKE_BUILD_TYPE=Release" cmake_d="$cmake_d -D CMAKE_INSTALL_PREFIX=$_inst" cmake_d="$cmake_d -D USE_EXPAT=OFF" cmake_d="$cmake_d -D USE_LIBXML=ON" cmake_d="$cmake_d -D USE_STATIC=ON" cmake $cmake_d ../ make -j$THREADS && make install make clean if [ -d $_inst ]; then _create_inst_shortcut else ERROR "OpenCOLLADA-$OPENCOLLADA_VERSION failed to compile, exiting" exit 1 fi magic_compile_set opencollada-$OPENCOLLADA_VERSION $opencollada_magic

cd $CWD INFO "Done compiling OpenCOLLADA-$OPENCOLLADA_VERSION!" else INFO "Own OpenCOLLADA-$OPENCOLLADA_VERSION is up to date, nothing to do!" 1928 INFO "If you want to force rebuild of this lib, use the --forceopencollada option." 1929 fi 1930 } 1931 1932 #### Build FFMPEG #### 1933 _init_ffmpeg() { 1934 _src=$SRC/ffmpeg-$FFMPEG_VERSION 1935 _inst=$INST/ffmpeg-$FFMPEG_VERSION 1936 _inst_shortcut=$INST/ffmpeg 1937 } 1938 1939 clean_FFmpeg() { Page 43

jack_xv.txt 1940 _init_ffmpeg 1941 _clean 1942 } 1943 1944 compile_FFmpeg() { 1945 # To be changed each time we make edits that would modify the compiled result! 1946 ffmpeg_magic=3 1947 _init_ffmpeg 1948 1949 # Clean install if needed! 1950 magic_compile_check ffmpeg-$FFMPEG_VERSION $ffmpeg_magic 1951 if [ $? -eq 1 -o $FFMPEG_FORCE_REBUILD == true ]; then 1952 clean_FFmpeg 1953 fi 1954 1955 if [ ! -d $_inst ]; then 1956 INFO "Building ffmpeg-$FFMPEG_VERSION" 1957 1958 prepare_opt 1959 1960 if [ ! -d $_src ]; then 1961 INFO "Downloading ffmpeg-$FFMPEG_VERSION" 1962 mkdir -p $SRC 1963 wget -c $FFMPEG_SOURCE -O "$_src.tar.bz2" 1964 1965 INFO "Unpacking ffmpeg-$FFMPEG_VERSION" 1966 tar -C $SRC -xf $_src.tar.bz2 1967 fi 1968 1969 cd $_src 1970 1971 extra="" 1972 1973 if $VORBIS_USE; then 1974 extra="$extra --enable-libvorbis" 1975 fi 1976 1977 if $THEORA_USE; then 1978 extra="$extra --enable-libtheora" 1979 fi 1980 1981 if $XVID_USE; then 1982 extra="$extra --enable-libxvid" 1983 fi 1984 1985 if $X264_USE; then 1986 extra="$extra --enable-libx264" Page 44

jack_xv.txt 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 fi if $VPX_USE; then extra="$extra --enable-libvpx" fi if $MP3LAME_USE; then extra="$extra --enable-libmp3lame" fi if $OPENJPEG_USE; then extra="$extra --enable-libopenjpeg" fi

./configure --cc="gcc -Wl,--as-needed" \ --extra-ldflags="-pthread -static-libgcc" \ --prefix=$_inst --enable-static \ --disable-ffplay --disable-ffserver --disable-doc \ --enable-gray \ --enable-avfilter --disable-vdpau \ --disable-bzlib --disable-libgsm --disable-libspeex \ --enable-pthreads --enable-zlib --enable-stripping --enable-runtimecpudetect \ 2009 --disable-vaapi --disable-libfaac --disable-nonfree --enable-gpl \ 2010 --disable-postproc --disable-x11grab --disable-librtmp --disablelibopencore-amrnb \ 2011 --disable-libopencore-amrwb --disable-libdc1394 --disable-version3 --disable-outdev=sdl \ 2012 --disable-outdev=alsa --disable-indev=sdl --disable-indev=alsa -disable-indev=jack \ 2013 --disable-indev=lavfi $extra 2014 2015 make -j$THREADS && make install 2016 make clean 2017 2018 if [ -d $_inst ]; then 2019 _create_inst_shortcut 2020 else 2021 ERROR "FFmpeg-$FFMPEG_VERSION failed to compile, exiting" 2022 exit 1 2023 fi 2024 2025 magic_compile_set ffmpeg-$FFMPEG_VERSION $ffmpeg_magic 2026 2027 cd $CWD 2028 INFO "Done compiling ffmpeg-$FFMPEG_VERSION!" 2029 else 2030 INFO "Own ffmpeg-$FFMPEG_VERSION is up to date, nothing to do!" Page 45

jack_xv.txt 2031 INFO "If you want to force rebuild of this lib, use the --force-ffmpeg option." 2032 fi 2033 } 2034 2035 2036 #### Install on DEB-like #### 2037 get_package_version_DEB() { 2038 dpkg-query -W -f '${Version}' $1 | sed -r 's/.*:\s*([0-9]+:)(([0-9]+\.?) +).*/\2/' 2039 } 2040 2041 check_package_DEB() { 2042 r=`apt-cache show $1 | grep -c 'Package:'` 2043 2044 if [ $r -ge 1 ]; then 2045 return 0 2046 else 2047 return 1 2048 fi 2049 } 2050 2051 check_package_version_match_DEB() { 2052 v=`apt-cache policy $1 | grep 'Candidate:' | sed -r 's/.*:\s*([0-9]+:) (([0-9]+\.?)+).*/\2/'` 2053 2054 if [ -z "$v" ]; then 2055 return 1 2056 fi 2057 2058 version_match $v $2 2059 return $? 2060 } 2061 2062 check_package_version_ge_DEB() { 2063 v=`apt-cache policy $1 | grep 'Candidate:' | sed -r 's/.*:\s*([0-9]+:)? (([0-9]+\.?)+).*/\2/'` 2064 2065 if [ -z "$v" ]; then 2066 return 1 2067 fi 2068 2069 version_ge $v $2 2070 return $? 2071 } 2072 2073 install_packages_DEB() { 2074 sudo apt-get install -y --force-yes $@ Page 46

jack_xv.txt 2075 if [ $? -ge 1 ]; then 2076 ERROR "apt-get failed to install requested packages, exiting." 2077 exit 1 2078 fi 2079 } 2080 2081 install_DEB() { 2082 INFO "" 2083 INFO "Installing dependencies for DEB-based distribution" 2084 INFO "" 2085 INFO "`eval _echo "$COMMON_INFO"`" 2086 INFO "" 2087 2088 read -p "Do you want to continue (Y/n)?" 2089 [ "$(echo ${REPLY:=Y} | tr [:upper:] [:lower:])" != "y" ] && exit 2090 2091 if [ ! -z "`cat /etc/debian_version | grep ^6`" ]; then 2092 if [ -z "`cat /etc/apt/sources.list | grep backports.debian.org`" ]; then 2093 INFO "Looks like you're using Debian Squeeze which does have broken CMake" 2094 INFO "It is highly recommended to install cmake from backports, otherwise" 2095 INFO "compilation of some libraries could fail" 2096 INFO "" 2097 INFO "You could install newer CMake from debian-backports repository" 2098 INFO "Add this this line to your /etc/apt/sources.lixt:" 2099 INFO "" 2100 INFO "deb http://backports.debian.org/debian-backports squeezebackports main" 2101 INFO "" 2102 INFO "and then run:" 2103 INFO "" 2104 INFO "sudo apt-get update && sudo apt-get install cmake=2.8.7-4~bpo60 +1 sudo apt-get install cmake=2.8.7-4~bpo60+1" 2105 INFO "" 2106 INFO "(you could also add this reporisotry using GUI like synaptic)" 2107 INFO "" 2108 INFO "Hit Enter to continue running the script, or hit Ctrl-C to abort the script" 2109 2110 read 2111 INFO "" 2112 fi 2113 fi 2114 2115 sudo apt-get update 2116 Page 47

jack_xv.txt 2117 # These libs should always be available in debian/ubuntu official repository... 2118 OPENJPEG_DEV="libopenjpeg-dev" 2119 VORBIS_DEV="libvorbis-dev" 2120 OGG_DEV="libogg-dev" 2121 THEORA_DEV="libtheora-dev" 2122 2123 _packages="gawk cmake cmake-curses-gui scons build-essential libjpeg-dev libpng-dev \ 2124 libfreetype6-dev libx11-dev libxi-dev wget libsqlite3-dev libbz2-dev \ 2125 libncurses5-dev libssl-dev liblzma-dev libreadline-dev $OPENJPEG_DEV \ 2126 libopenal-dev libglew-dev yasm $THEORA_DEV $VORBIS_DEV $OGG_DEV \ 2127 libsdl1.2-dev libfftw3-dev patch bzip2" 2128 2129 OPENJPEG_USE=true 2130 VORBIS_USE=true 2131 OGG_USE=true 2132 THEORA_USE=true 2133 2134 # Install newest libtiff-dev in debian/ubuntu. 2135 TIFF="libtiff" 2136 check_package_DEB $TIFF 2137 if [ $? -eq 0 ]; then 2138 _packages="$_packages $TIFF-dev" 2139 else 2140 TIFF="libtiff5" 2141 check_package_DEB $TIFF 2142 if [ $? -eq 0 ]; then 2143 _packages="$_packages $TIFF-dev" 2144 else 2145 TIFF="libtiff4" # Some old distro, like e.g. ubuntu 10.04 :/ 2146 check_package_DEB $TIFF 2147 if [ $? -eq 0 ]; then 2148 _packages="$_packages $TIFF-dev" 2149 fi 2150 fi 2151 fi 2152 2153 GIT="git" 2154 check_package_DEB $GIT 2155 if [ $? -eq 0 ]; then 2156 INFO $GIT 2157 _packages="$_packages $GIT" 2158 else 2159 GIT="git-core" # Some old distro, like e.g. ubuntu 10.04 :/ Page 48

jack_xv.txt 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 check_package_DEB $GIT if [ $? -eq 0 ]; then INFO $GIT _packages="$_packages $GIT" fi fi if $WITH_ALL; then _packages="$_packages libspnav-dev libjack-dev" fi INFO "" install_packages_DEB $_packages INFO "" X264_DEV="libx264-dev" check_package_version_ge_DEB $X264_DEV $X264_VERSION_MIN if [ $? -eq 0 ]; then install_packages_DEB $X264_DEV X264_USE=true fi if $WITH_ALL; then INFO "" # Grmpf, debian is libxvidcore-dev and ubuntu libxvidcore4-dev! # Note: not since ubuntu 10.04 XVID_DEV="libxvidcore-dev" check_package_DEB $XVID_DEV if [ $? -eq 0 ]; then install_packages_DEB $XVID_DEV XVID_USE=true else XVID_DEV="libxvidcore4-dev" check_package_DEB $XVID_DEV if [ $? -eq 0 ]; then install_packages_DEB $XVID_DEV XVID_USE=true fi fi INFO "" MP3LAME_DEV="libmp3lame-dev" check_package_DEB $MP3LAME_DEV if [ $? -eq 0 ]; then install_packages_DEB $MP3LAME_DEV MP3LAME_USE=true fi

Page 49

jack_xv.txt 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 INFO "" VPX_DEV="libvpx-dev" check_package_version_ge_DEB $VPX_DEV $VPX_VERSION_MIN if [ $? -eq 0 ]; then install_packages_DEB $VPX_DEV VPX_USE=true fi fi

INFO "" if $PYTHON_SKIP; then INFO "WARNING! Skipping Python installation, as requested..." else _do_compile=false check_package_DEB python$PYTHON_VERSION_MIN-dev if [ $? -eq 0 ]; then install_packages_DEB python$PYTHON_VERSION_MIN-dev INFO "" if $NUMPY_SKIP; then INFO "WARNING! Skipping NumPy installation, as requested..." else check_package_DEB python$PYTHON_VERSION_MIN-numpy if [ $? -eq 0 ]; then install_packages_DEB python$PYTHON_VERSION_MIN-numpy elif $NUMPY_REQUIRED; then INFO "WARNING! Valid python package but no valid numpy package!" INFO " Building both Python and Numpy from sources!" _do_compile=true else INFO "WARNING! Sorry, using python package but no valid numpy package available!" 2238 INFO " Use --required-numpy to force building of both Python and numpy." 2239 fi 2240 fi 2241 else 2242 _do_compile=true 2243 fi 2244 2245 if $_do_compile; then 2246 compile_Python 2247 INFO "" 2248 if $NUMPY_SKIP; then 2249 INFO "WARNING! Skipping NumPy installation, as requested..." 2250 else 2251 compile_Numpy 2252 fi 2253 else Page 50

jack_xv.txt 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 clean_Python fi fi INFO "" if $BOOST_SKIP; then INFO "WARNING! Skipping Boost installation, as requested..." else check_package_version_ge_DEB libboost-dev $BOOST_VERSION_MIN if [ $? -eq 0 ]; then install_packages_DEB libboost-dev boost_version=$(echo `get_package_version_DEB libboost-dev` | sed -r 's/^([0-9]+\.[0-9]+).*/\1/')

check_package_DEB libboost-locale$boost_version-dev if [ $? -eq 0 ]; then install_packages_DEB libboost-locale$boost_version-dev libboostfilesystem$boost_version-dev \ 2271 libboost-regex$boost_version-dev libboostsystem$boost_version-dev \ 2272 libboost-thread$boost_version-dev 2273 clean_Boost 2274 else 2275 compile_Boost 2276 fi 2277 else 2278 compile_Boost 2279 fi 2280 fi 2281 2282 INFO "" 2283 if $OCIO_SKIP; then 2284 INFO "WARNING! Skipping OpenColorIO installation, as requested..." 2285 else 2286 check_package_version_ge_DEB libopencolorio-dev $OCIO_VERSION_MIN 2287 if [ $? -eq 0 ]; then 2288 install_packages_DEB libopencolorio-dev 2289 clean_OCIO 2290 else 2291 compile_OCIO 2292 fi 2293 fi 2294 2295 INFO "" 2296 if $OPENEXR_SKIP; then 2297 INFO "WARNING! Skipping OpenEXR installation, as requested..." 2298 else Page 51

jack_xv.txt 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 check_package_version_ge_DEB libopenexr-dev $OPENEXR_VERSION_MIN if [ $? -eq 0 ]; then install_packages_DEB libopenexr-dev clean_OPENEXR else compile_OPENEXR fi fi INFO "" if $OIIO_SKIP; then INFO "WARNING! Skipping OpenImageIO installation, as requested..." else check_package_version_ge_DEB libopenimageio-dev $OIIO_VERSION_MIN if [ $? -eq 0 -a $_with_built_openexr == false ]; then install_packages_DEB libopenimageio-dev clean_OIIO else compile_OIIO fi fi have_llvm=false

if $LLVM_SKIP; then INFO "WARNING! Skipping LLVM installation, as requested (this also implies skipping OSL!)..." 2325 else 2326 INFO "" 2327 check_package_version_ge_DEB llvm-dev $LLVM_VERSION_MIN 2328 if [ $? -eq 0 ]; then 2329 install_packages_DEB llvm-dev clang 2330 have_llvm=true 2331 LLVM_VERSION_FOUND="" # Using default one, no need to specify it! 2332 clean_LLVM 2333 else 2334 install_packages_DEB libffi-dev 2335 # LLVM can't find the debian ffi header dir 2336 _FFI_INCLUDE_DIR=`dpkg -L libffi-dev | grep -e ".*/ffi.h" | sed -r 's/ (.*)\/ffi.h/\1/'` 2337 INFO "" 2338 compile_LLVM 2339 have_llvm=true 2340 LLVM_VERSION_FOUND=$LLVM_VERSION 2341 fi 2342 fi 2343 2344 if $OSL_SKIP; then Page 52

jack_xv.txt 2345 INFO "WARNING! Skipping OpenShadingLanguage installation, as requested..." 2346 else 2347 if $have_llvm; then 2348 INFO "" 2349 install_packages_DEB flex bison libtbb-dev 2350 # No package currently! 2351 INFO "" 2352 compile_OSL 2353 fi 2354 fi 2355 2356 if $WITH_OPENCOLLADA; then 2357 if $OPENCOLLADA_SKIP; then 2358 INFO "WARNING! Skipping OpenCOLLADA installation, as requested..." 2359 else 2360 INFO "" 2361 install_packages_DEB libpcre3-dev libxml2-dev 2362 # Find path to libxml shared lib... 2363 _XML2_LIB=`dpkg -L libxml2-dev | grep -e ".*/libxml2.so"` 2364 # No package 2365 INFO "" 2366 compile_OpenCOLLADA 2367 fi 2368 fi 2369 2370 INFO "" 2371 if $FFMPEG_SKIP; then 2372 INFO "WARNING! Skipping FFMpeg installation, as requested..." 2373 else 2374 # XXX Debian features libav packages as ffmpeg, those are not really compatible with blender code currently :/ 2375 # So for now, always build our own ffmpeg. 2376 # check_package_DEB ffmpeg 2377 # if [ $? -eq 0 ]; then 2378 # install_packages_DEB ffmpeg 2379 # ffmpeg_version=`get_package_version_DEB ffmpeg` 2380 # INFO "ffmpeg version: $ffmpeg_version" 2381 # if [ ! -z "$ffmpeg_version" ]; then 2382 # if dpkg --compare-versions $ffmpeg_version gt 0.7.2; then 2383 # install_packages_DEB libavfilter-dev libavcodec-dev libavdevicedev libavformat-dev libavutil-dev libswscale-dev 2384 # clean_FFmpeg 2385 # else 2386 # compile_FFmpeg 2387 # fi 2388 # fi 2389 # fi Page 53

jack_xv.txt 2390 compile_FFmpeg 2391 fi 2392 } 2393 2394 2395 #### Install on RPM-like #### 2396 rpm_flavour() { 2397 if [ -f /etc/redhat-release ]; then 2398 if [ "`grep '6\.' /etc/redhat-release`" ]; then 2399 RPM="RHEL" 2400 else 2401 RPM="FEDORA" 2402 fi 2403 elif [ -f /etc/SuSE-release ]; then 2404 RPM="SUSE" 2405 fi 2406 } 2407 2408 get_package_version_RPM() { 2409 rpm_flavour 2410 if [ $RPM = "FEDORA" -o $RPM = "RHEL" ]; then 2411 yum info $1 | grep Version | tail -n 1 | sed -r 's/.*:\s+(([0-9]+\.?) +).*/\1/' 2412 elif [ $RPM = "SUSE" ]; then 2413 zypper info $1 | grep Version | tail -n 1 | sed -r 's/.*:\s+(([0-9]+\.?) +).*/\1/' 2414 fi 2415 } 2416 2417 check_package_RPM() { 2418 rpm_flavour 2419 if [ $RPM = "FEDORA" -o $RPM = "RHEL" ]; then 2420 r=`yum info $1 | grep -c 'Summary'` 2421 elif [ $RPM = "SUSE" ]; then 2422 r=`zypper info $1 | grep -c 'Summary'` 2423 fi 2424 2425 if [ $r -ge 1 ]; then 2426 return 0 2427 else 2428 return 1 2429 fi 2430 } 2431 2432 check_package_version_match_RPM() { 2433 v=`get_package_version_RPM $1` 2434 2435 if [ -z "$v" ]; then Page 54

jack_xv.txt 2436 return 1 2437 fi 2438 2439 version_match $v $2 2440 return $? 2441 } 2442 2443 check_package_version_ge_RPM() { 2444 v=`get_package_version_RPM $1` 2445 2446 if [ -z "$v" ]; then 2447 return 1 2448 fi 2449 2450 version_ge $v $2 2451 return $? 2452 } 2453 2454 install_packages_RPM() { 2455 rpm_flavour 2456 if [ $RPM = "FEDORA" -o $RPM = "RHEL" ]; then 2457 sudo yum install -y $@ 2458 if [ $? -ge 1 ]; then 2459 ERROR "yum failed to install requested packages, exiting." 2460 exit 1 2461 fi 2462 2463 elif [ $RPM = "SUSE" ]; then 2464 sudo zypper --non-interactive install --auto-agree-with-licenses $@ 2465 if [ $? -ge 1 ]; then 2466 ERROR "zypper failed to install requested packages, exiting." 2467 exit 1 2468 fi 2469 fi 2470 } 2471 2472 install_RPM() { 2473 INFO "" 2474 INFO "Installing dependencies for RPM-based distribution" 2475 INFO "" 2476 INFO "`eval _echo "$COMMON_INFO"`" 2477 INFO "" 2478 2479 read -p "Do you want to continue (Y/n)?" 2480 [ "$(echo ${REPLY:=Y} | tr [:upper:] [:lower:])" != "y" ] && exit 2481 2482 # Enable non-free repositories for all flavours 2483 rpm_flavour Page 55

jack_xv.txt 2484 2485 2486 2487 if [ $RPM = "FEDORA" ]; then _fedora_rel="`egrep "[0-9]{1,}" /etc/fedora-release -o`" sudo yum -y localinstall --nogpgcheck \ http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release$_fedora_rel.noarch.rpm \ 2488 http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release$_fedora_rel.noarch.rpm 2489 2490 sudo yum -y update 2491 2492 # Install cmake now because of difference with RHEL 2493 sudo yum -y install cmake 2494 2495 elif [ $RPM = "RHEL" ]; then 2496 sudo yum -y localinstall --nogpgcheck \ 2497 http://download.fedoraproject.org/pub/epel/6/$(uname -i)/epelrelease-6-8.noarch.rpm \ 2498 http://download1.rpmfusion.org/free/el/updates/6/$(uname -i)/rpmfusionfree-release-6-1.noarch.rpm \ 2499 http://download1.rpmfusion.org/nonfree/el/updates/6/$(uname -i)/ rpmfusion-nonfree-release-6-1.noarch.rpm 2500 2501 sudo yum -y update 2502 2503 # Install cmake 2.8 from other repo 2504 mkdir -p $SRC 2505 if [ -f $SRC/cmake-2.8.8-4.el6.$(uname -m).rpm ]; then 2506 INFO "" 2507 INFO "Special cmake already installed" 2508 else 2509 curl -O ftp://ftp.pbone.net/mirror/atrpms.net/el6-$(uname -i)/atrpms/ testing/cmake-2.8.8-4.el6.$(uname -m).rpm 2510 mv cmake-2.8.8-4.el6.$(uname -m).rpm $SRC/ 2511 sudo rpm -ihv $SRC/cmake-2.8.8-4.el6.$(uname -m).rpm 2512 fi 2513 2514 elif [ $RPM = "SUSE" ]; then 2515 # Install this now to avoid using the version from packman repository... 2516 if $WITH_ALL; then 2517 install_packages_RPM libjack-devel 2518 fi 2519 2520 _suse_rel="`grep VERSION /etc/SuSE-release | gawk '{print $3}'`" 2521 2522 INFO "" 2523 INFO "About to add 'packman' repository from http://packman.inode.at/ suse/openSUSE_$_suse_rel/" 2524 INFO "This is only needed if you do not already have a packman Page 56

jack_xv.txt INFO "This is only needed if you do not already have a packman repository enabled..." 2525 read -p "Do you want to add this repo (Y/n)?" 2526 if [ "$(echo ${REPLY:=Y} | tr [:upper:] [:lower:])" == "y" ]; then 2527 INFO " Installing packman..." 2528 sudo zypper ar --refresh --name 'Packman Repository' http:// ftp.gwdg.de/pub/linux/packman/suse/openSUSE_$_suse_rel/ ftp.gwdg.de-suse 2529 INFO " Done." 2530 else 2531 INFO " Skipping packman installation." 2532 fi 2533 sudo zypper --non-interactive --gpg-auto-import-keys update --autoagree-with-licenses 2534 fi 2535 2536 # These libs should always be available in fedora/suse official repository... 2537 OPENJPEG_DEV="openjpeg-devel" 2538 VORBIS_DEV="libvorbis-devel" 2539 OGG_DEV="libogg-devel" 2540 THEORA_DEV="libtheora-devel" 2541 2542 _packages="gcc gcc-c++ make scons libtiff-devel freetype-devel libjpegdevel\ 2543 libpng-devel libX11-devel libXi-devel wget ncurses-devel \ 2544 readline-devel $OPENJPEG_DEV openal-soft-devel \ 2545 glew-devel yasm $THEORA_DEV $VORBIS_DEV $OGG_DEV patch" 2546 2547 OPENJPEG_USE=true 2548 VORBIS_USE=true 2549 OGG_USE=true 2550 THEORA_USE=true 2551 2552 if [ $RPM = "FEDORA" -o $RPM = "RHEL" ]; then 2553 OPENEXR_DEV="openexr-devel" 2554 2555 _packages="$_packages libsqlite3x-devel fftw-devel SDL-devel" 2556 2557 if $WITH_ALL; then 2558 _packages="$_packages jack-audio-connection-kit-devel" 2559 fi 2560 2561 INFO "" 2562 install_packages_RPM $_packages 2563 2564 INFO "" 2565 X264_DEV="x264-devel" 2566 check_package_version_ge_RPM $X264_DEV $X264_VERSION_MIN 2567 if [ $? -eq 0 ]; then Page 57

jack_xv.txt 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 install_packages_RPM $X264_DEV X264_USE=true fi if $WITH_ALL; then INFO "" XVID_DEV="xvidcore-devel" check_package_RPM $XVID_DEV if [ $? -eq 0 ]; then install_packages_RPM $XVID_DEV XVID_USE=true fi INFO "" MP3LAME_DEV="lame-devel" check_package_RPM $MP3LAME_DEV if [ $? -eq 0 ]; then install_packages_RPM $MP3LAME_DEV MP3LAME_USE=true fi fi elif [ $RPM = "SUSE" ]; then OPENEXR_DEV="libopenexr-devel" _packages="$_packages cmake sqlite3-devel fftw3-devel libSDL-devel" INFO "" install_packages_RPM $_packages INFO "" X264_DEV="libx264-devel" check_package_version_ge_RPM $X264_DEV $X264_VERSION_MIN if [ $? -eq 0 ]; then install_packages_RPM $X264_DEV X264_USE=true fi if $WITH_ALL; then INFO "" XVID_DEV="libxvidcore-devel" check_package_RPM $XVID_DEV if [ $? -eq 0 ]; then install_packages_RPM $XVID_DEV XVID_USE=true fi INFO "" Page 58

jack_xv.txt 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 MP3LAME_DEV="libmp3lame-devel" check_package_RPM $MP3LAME_DEV if [ $? -eq 0 ]; then install_packages_RPM $MP3LAME_DEV MP3LAME_USE=true fi fi fi if $WITH_ALL; then INFO "" VPX_DEV="libvpx-devel" check_package_version_ge_RPM $VPX_DEV $VPX_VERSION_MIN if [ $? -eq 0 ]; then install_packages_RPM $VPX_DEV VPX_USE=true fi INFO "" install_packages_RPM libspnav-devel fi

INFO "" if $PYTHON_SKIP; then INFO "WARNING! Skipping Python installation, as requested..." else _do_compile=false check_package_version_match_RPM python3-devel $PYTHON_VERSION_MIN if [ $? -eq 0 ]; then install_packages_RPM python3-devel INFO "" if $NUMPY_SKIP; then INFO "WARNING! Skipping NumPy installation, as requested..." else check_package_version_match_RPM python3-numpy $NUMPY_VERSION_MIN if [ $? -eq 0 ]; then install_packages_RPM python3-numpy elif $NUMPY_REQUIRED; then INFO "WARNING! Valid python package but no valid numpy package!" INFO " Building both Python and Numpy from sources!" _do_compile=true else INFO "WARNING! Sorry, using python package but no valid numpy package available!" 2658 INFO " Use --required-numpy to force building of both Python and numpy." 2659 fi 2660 fi 2661 else Page 59

jack_xv.txt 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 _do_compile=true fi if $_do_compile; then compile_Python INFO "" if $NUMPY_SKIP; then INFO "WARNING! Skipping NumPy installation, as requested..." else compile_Numpy fi else clean_Python fi fi INFO "" if $BOOST_SKIP; then INFO "WARNING! Skipping Boost installation, as requested..." else check_package_version_ge_RPM boost-devel $BOOST_VERSION if [ $? -eq 0 ]; then install_packages_RPM boost-devel clean_Boost else compile_Boost fi fi INFO "" if $OCIO_SKIP; then INFO "WARNING! Skipping OpenColorIO installation, as requested..." else check_package_version_ge_RPM OpenColorIO-devel $OCIO_VERSION_MIN if [ $? -eq 0 ]; then install_packages_RPM OpenColorIO-devel clean_OCIO else compile_OCIO fi fi INFO "" if $OPENEXR_SKIP; then INFO "WARNING! Skipping OpenEXR installation, as requested..." else check_package_version_ge_RPM $OPENEXR_DEV $OPENEXR_VERSION_MIN if [ $? -eq 0 ]; then Page 60

jack_xv.txt 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 install_packages_RPM $OPENEXR_DEV clean_OPENEXR else compile_OPENEXR fi fi INFO "" if $OIIO_SKIP; then INFO "WARNING! Skipping OpenImageIO installation, as requested..." else check_package_version_ge_RPM OpenImageIO-devel $OIIO_VERSION_MIN if [ $? -eq 0 -a $_with_built_openexr == false ]; then install_packages_RPM OpenImageIO-devel clean_OIIO else compile_OIIO fi fi have_llvm=false

INFO "" if $LLVM_SKIP; then INFO "WARNING! Skipping LLVM installation, as requested (this also implies skipping OSL!)..." 2735 else 2736 # Problem compiling with LLVM 3.2 so match version 3.1 ... 2737 check_package_version_match_RPM llvm $LLVM_VERSION 2738 if [ $? -eq 0 ]; then 2739 if [ $RPM = "SUSE" ]; then 2740 install_packages_RPM llvm-devel llvm-clang-devel 2741 else 2742 install_packages_RPM llvm-devel clang-devel 2743 fi 2744 have_llvm=true 2745 LLVM_VERSION_FOUND=$LLVM_VERSION 2746 clean_LLVM 2747 else 2748 # 2749 # Better to compile it than use minimum version from repo... 2750 # 2751 install_packages_RPM libffi-devel 2752 # LLVM can't find the fedora ffi header dir... 2753 _FFI_INCLUDE_DIR=`rpm -ql libffi-devel | grep -e ".*/ffi.h" | sed -r 's/(.*)\/ffi.h/\1/'` 2754 INFO "" 2755 compile_LLVM Page 61

jack_xv.txt 2756 2757 2758 2759 2760 2761 2762 2763 have_llvm=true LLVM_VERSION_FOUND=$LLVM_VERSION fi fi

if $OSL_SKIP; then INFO "" INFO "WARNING! Skipping OpenShadingLanguage installation, as requested..." 2764 else 2765 if $have_llvm; then 2766 # No package currently! 2767 INFO "" 2768 install_packages_RPM flex bison git 2769 if [ $RPM = "FEDORA" -o $RPM = "RHEL" ]; then 2770 install_packages_RPM tbb-devel 2771 fi 2772 INFO "" 2773 compile_OSL 2774 fi 2775 fi 2776 2777 if $WITH_OPENCOLLADA; then 2778 if $OPENCOLLADA_SKIP; then 2779 INFO "WARNING! Skipping OpenCOLLADA installation, as requested..." 2780 else 2781 INFO "" 2782 install_packages_RPM pcre-devel libxml2-devel git 2783 # Find path to libxml shared lib... 2784 _XML2_LIB=`rpm -ql libxml2-devel | grep -e ".*/libxml2.so"` 2785 # No package... 2786 INFO "" 2787 compile_OpenCOLLADA 2788 fi 2789 fi 2790 2791 if $FFMPEG_SKIP; then 2792 INFO "WARNING! Skipping FFMpeg installation, as requested..." 2793 else 2794 check_package_version_ge_RPM ffmpeg $FFMPEG_VERSION_MIN 2795 if [ $? -eq 0 ]; then 2796 install_packages_RPM ffmpeg ffmpeg-devel 2797 clean_FFmpeg 2798 else 2799 INFO "" 2800 compile_FFmpeg 2801 fi 2802 fi Page 62

jack_xv.txt 2803 } 2804 2805 2806 #### Install on ARCH-like #### 2807 get_package_version_ARCH() { 2808 pacman -Si $1 | grep Version | tail -n 1 | sed -r 's/.*:\s+(([0-9]+\.?) +).*/\1/' 2809 } 2810 2811 check_package_ARCH() { 2812 r=`pacman -Si $1 | grep -c 'Description'` 2813 2814 if [ $r -ge 1 ]; then 2815 return 0 2816 else 2817 return 1 2818 fi 2819 } 2820 2821 check_package_version_match_ARCH() { 2822 v=`get_package_version_ARCH $1` 2823 2824 if [ -z "$v" ]; then 2825 return 1 2826 fi 2827 2828 version_match $v $2 2829 return $? 2830 } 2831 2832 check_package_version_ge_ARCH() { 2833 v=`get_package_version_ARCH $1` 2834 2835 if [ -z "$v" ]; then 2836 return 1 2837 fi 2838 2839 version_ge $v $2 2840 return $? 2841 } 2842 2843 install_packages_ARCH() { 2844 sudo pacman -S --needed --noconfirm $@ 2845 if [ $? -ge 1 ]; then 2846 ERROR "pacman failed to install requested packages, exiting." 2847 exit 1 2848 fi 2849 } Page 63

jack_xv.txt 2850 2851 install_ARCH() { 2852 INFO "" 2853 INFO "Installing dependencies for ARCH-based distribution" 2854 INFO "" 2855 INFO "`eval _echo "$COMMON_INFO"`" 2856 INFO "" 2857 2858 read -p "Do you want to continue (Y/n)?" 2859 [ "$(echo ${REPLY:=Y} | tr [:upper:] [:lower:])" != "y" ] && exit 2860 2861 # Check for sudo... 2862 if [ ! -x "/usr/bin/sudo" ]; then 2863 INFO "" 2864 INFO "This script requires sudo but it is not installed." 2865 INFO "Please setup sudo according to:" 2866 INFO "https://wiki.archlinux.org/index.php/Sudo" 2867 INFO "and try again." 2868 INFO "" 2869 exit 2870 fi 2871 2872 sudo pacman -Sy 2873 2874 # These libs should always be available in arch official repository... 2875 OPENJPEG_DEV="openjpeg" 2876 VORBIS_DEV="libvorbis" 2877 OGG_DEV="libogg" 2878 THEORA_DEV="libtheora" 2879 2880 _packages="base-devel scons cmake libxi glew libpng libtiff wget openal \ 2881 $OPENJPEG_DEV $VORBIS_DEV $OGG_DEV $THEORA_DEV yasm sdl fftw" 2882 2883 OPENJPEG_USE=true 2884 VORBIS_USE=true 2885 OGG_USE=true 2886 THEORA_USE=true 2887 2888 if $WITH_ALL; then 2889 # No libspacenav in official arch repos... 2890 _packages="$_packages jack" 2891 fi 2892 2893 INFO "" 2894 install_packages_ARCH $_packages 2895 2896 INFO "" 2897 X264_DEV="x264" Page 64

jack_xv.txt 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 check_package_version_ge_ARCH $X264_DEV $X264_VERSION_MIN if [ $? -eq 0 ]; then install_packages_ARCH $X264_DEV X264_USE=true fi if $WITH_ALL; then INFO "" XVID_DEV="xvidcore" check_package_ARCH $XVID_DEV if [ $? -eq 0 ]; then install_packages_ARCH $XVID_DEV XVID_USE=true fi INFO "" MP3LAME_DEV="lame" check_package_ARCH $MP3LAME_DEV if [ $? -eq 0 ]; then install_packages_ARCH $MP3LAME_DEV MP3LAME_USE=true fi INFO "" VPX_DEV="libvpx" check_package_version_ge_ARCH $VPX_DEV $VPX_VERSION_MIN if [ $? -eq 0 ]; then install_packages_ARCH $VPX_DEV VPX_USE=true fi fi INFO "" if $PYTHON_SKIP; then INFO "WARNING! Skipping Python installation, as requested..." else _do_compile=false check_package_version_ge_ARCH python $PYTHON_VERSION_MIN if [ $? -eq 0 ]; then install_packages_ARCH python INFO "" if $WITH_NUMPY; then if $NUMPY_SKIP; then INFO "WARNING! Skipping NumPy installation, as requested..." else check_package_version_ge_ARCH python-numpy $NUMPY_VERSION_MIN if [ $? -eq 0 ]; then install_packages_ARCH python-numpy Page 65

jack_xv.txt 2946 2947 2948 2949 2950 2951 elif $NUMPY_REQUIRED; then INFO "WARNING! Valid python package but no valid numpy package!" INFO " Building both Python and Numpy from sources!" _do_compile=true else INFO "WARNING! Sorry, using python package but no valid numpy package available!" 2952 INFO " Use --required-numpy to force building of both Python and numpy." 2953 fi 2954 fi 2955 fi 2956 else 2957 _do_compile=true 2958 fi 2959 2960 if $_do_compile; then 2961 compile_Python 2962 INFO "" 2963 if $NUMPY_SKIP; then 2964 INFO "WARNING! Skipping NumPy installation, as requested..." 2965 else 2966 compile_Numpy 2967 fi 2968 else 2969 clean_Python 2970 fi 2971 fi 2972 2973 INFO "" 2974 if $BOOST_SKIP; then 2975 INFO "WARNING! Skipping Boost installation, as requested..." 2976 else 2977 check_package_version_ge_ARCH boost $BOOST_VERSION_MIN 2978 if [ $? -eq 0 ]; then 2979 install_packages_ARCH boost 2980 clean_Boost 2981 else 2982 compile_Boost 2983 fi 2984 fi 2985 2986 INFO "" 2987 if $OCIO_SKIP; then 2988 INFO "WARNING! Skipping OpenColorIO installation, as requested..." 2989 else 2990 check_package_version_ge_ARCH opencolorio $OCIO_VERSION_MIN 2991 if [ $? -eq 0 ]; then Page 66

jack_xv.txt 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 install_packages_ARCH opencolorio yaml-cpp tinyxml clean_OCIO else install_packages_ARCH yaml-cpp tinyxml compile_OCIO fi fi INFO "" if $OPENEXR_SKIP; then INFO "WARNING! Skipping OpenEXR installation, as requested..." else check_package_version_ge_ARCH openexr $OPENEXR_VERSION_MIN if [ $? -eq 0 ]; then install_packages_ARCH openexr clean_OPENEXR else compile_OPENEXR fi fi INFO "" if $OIIO_SKIP; then INFO "WARNING! Skipping OpenImageIO installation, as requested..." else check_package_version_ge_ARCH openimageio $OIIO_VERSION_MIN if [ $? -eq 0 ]; then install_packages_ARCH openimageio clean_OIIO else compile_OIIO fi fi have_llvm=false

INFO "" if $LLVM_SKIP; then INFO "WARNING! Skipping LLVM installation, as requested (this also implies skipping OSL!)..." 3031 else 3032 check_package_version_ge_ARCH llvm $LLVM_VERSION_MIN 3033 if [ $? -eq 0 ]; then 3034 install_packages_ARCH llvm clang 3035 have_llvm=true 3036 LLVM_VERSION=`check_package_version_ge_ARCH llvm $LLVM_VERSION_MIN` 3037 LLVM_VERSION_FOUND=$LLVM_VERSION 3038 clean_LLVM Page 67

jack_xv.txt 3039 3040 3041 3042 else install_packages_ARCH libffi # LLVM can't find the arch ffi header dir... _FFI_INCLUDE_DIR=`pacman -Ql libffi | grep -e ".*/ffi.h" | awk '{print $2}' | sed -r 's/(.*)\/ffi.h/\1/'` 3043 # LLVM 3.1 needs python2 to build and arch defaults to python3 3044 _PYTHON2_BIN="/usr/bin/python2" 3045 INFO "" 3046 compile_LLVM 3047 have_llvm=true 3048 LLVM_VERSION_FOUND=$LLVM_VERSION 3049 fi 3050 fi 3051 3052 if $OSL_SKIP; then 3053 INFO "" 3054 INFO "WARNING! Skipping OpenShadingLanguage installation, as requested..." 3055 else 3056 if $have_llvm; then 3057 check_package_version_ge_ARCH openshadinglanguage $OSL_VERSION_MIN 3058 if [ $? -eq 0 ]; then 3059 install_packages_ARCH openshadinglanguage 3060 clean_OSL 3061 else 3062 #XXX Note: will fail to build with LLVM 3.2! 3063 INFO "" 3064 install_packages_ARCH git intel-tbb 3065 INFO "" 3066 compile_OSL 3067 fi 3068 fi 3069 fi 3070 3071 INFO "" 3072 if $WITH_OPENCOLLADA; then 3073 if $OPENCOLLADA_SKIP; then 3074 INFO "WARNING! Skipping OpenCOLLADA installation, as requested..." 3075 else 3076 INFO "" 3077 check_package_ARCH opencollada 3078 if [ $? -eq 0 ]; then 3079 install_packages_ARCH opencollada 3080 clean_OpenCOLLADA 3081 else 3082 install_packages_ARCH pcre git 3083 INFO "" 3084 compile_OpenCOLLADA Page 68

jack_xv.txt 3085 3086 3087 fi # Find path to libxml shared lib... _XML2_LIB=`pacman -Ql libxml2 | grep -e ".*/libxml2.so$" | gawk '{print $2}'` 3088 fi 3089 fi 3090 3091 INFO "" 3092 if $FFMPEG_SKIP; then 3093 INFO "WARNING! Skipping FFMpeg installation, as requested..." 3094 else 3095 check_package_version_ge_ARCH ffmpeg $FFMPEG_VERSION_MIN 3096 if [ $? -eq 0 ]; then 3097 install_packages_ARCH ffmpeg 3098 clean_FFmpeg 3099 else 3100 compile_FFmpeg 3101 fi 3102 fi 3103 } 3104 3105 3106 #### Printing User Info #### 3107 3108 print_info_ffmpeglink_DEB() { 3109 if $ALL_STATIC; then 3110 dpkg -L $_packages | grep -e ".*\/lib[^\/]\+\.a" | gawk '{ printf (nlines ? "'"$_ffmpeg_list_sep"'%s" : "%s", $0); nlines++ }' 3111 else 3112 dpkg -L $_packages | grep -e ".*\/lib[^\/]\+\.so" | gawk '{ printf (nlines ? "'"$_ffmpeg_list_sep"'%s" : "%s", gensub(/.*lib([^\/]+)\.so/, "\ \1", "g", $0)); nlines++ }' 3113 fi 3114 } 3115 3116 print_info_ffmpeglink_RPM() { 3117 # # XXX No static libs... 3118 # if $ALL_STATIC; then 3119 # rpm -ql $_packages | grep -e ".*\/lib[^\/]\+\.a" | gawk '{ printf (nlines ? "'"$_ffmpeg_list_sep"'%s" : "%s", $0); nlines++ }' 3120 # else 3121 rpm -ql $_packages | grep -e ".*\/lib[^\/]\+\.so" | gawk '{ printf (nlines ? "'"$_ffmpeg_list_sep"'%s" : "%s", gensub(/.*lib([^\/]+)\.so/, "\ \1", "g", $0)); nlines++ }' 3122 # fi 3123 } 3124 3125 print_info_ffmpeglink_ARCH() { Page 69

jack_xv.txt 3126 # No static libs... 3127 pacman -Ql $_packages | grep -e ".*\/lib[^\/]\+\.so$" | gawk '{ printf (nlines ? "'"$_ffmpeg_list_sep"'%s" : "%s", gensub(/.*lib([^\/]+)\.so/, "\ \1", $0)); nlines++ }' 3128 } 3129 3130 print_info_ffmpeglink() { 3131 # This func must only print a ';'-separated list of libs... 3132 if [ -z "$DISTRO" ]; then 3133 ERROR "Failed to detect distribution type" 3134 exit 1 3135 fi 3136 3137 # Create list of packages from which to get libs names... 3138 _packages="" 3139 3140 if $THEORA_USE; then 3141 _packages="$_packages $THEORA_DEV" 3142 fi 3143 3144 if $VORBIS_USE; then 3145 _packages="$_packages $VORBIS_DEV" 3146 fi 3147 3148 if $OGG_USE; then 3149 _packages="$_packages $OGG_DEV" 3150 fi 3151 3152 if $XVID_USE; then 3153 _packages="$_packages $XVID_DEV" 3154 fi 3155 3156 if $VPX_USE; then 3157 _packages="$_packages $VPX_DEV" 3158 fi 3159 3160 if $MP3LAME_USE; then 3161 _packages="$_packages $MP3LAME_DEV" 3162 fi 3163 3164 if $X264_USE; then 3165 _packages="$_packages $X264_DEV" 3166 fi 3167 3168 if $OPENJPEG_USE; then 3169 _packages="$_packages $OPENJPEG_DEV" 3170 fi 3171 Page 70

jack_xv.txt 3172 3173 3174 3175 3176 3177 3178 3179 if [ "$DISTRO" = "DEB" ]; then print_info_ffmpeglink_DEB elif [ "$DISTRO" = "RPM" ]; then print_info_ffmpeglink_RPM elif [ "$DISTRO" = "ARCH" ]; then print_info_ffmpeglink_ARCH # XXX TODO! else INFO "<Could not determine additional link libraries needed for ffmpeg, replace this by valid list of libs...>" 3180 fi 3181 } 3182 3183 print_info() { 3184 INFO "" 3185 INFO "" 3186 INFO "****WARNING****" 3187 INFO "If you are experiencing issues building Blender, _*TRY A FRESH, CLEAN BUILD FIRST*_!" 3188 INFO "The same goes for install_deps itself, if you encounter issues, please first erase everything in $SRC and $INST" 3189 INFO "(provided obviously you did not add anything yourself in those dirs! ), and run install_deps.sh again!" 3190 INFO "Often, changes in the libs built by this script, or in your distro package, cannot be handled simply, so..." 3191 INFO "" 3192 INFO "" 3193 INFO "If you're using CMake add this to your configuration flags:" 3194 3195 _buildargs="" 3196 3197 if $ALL_STATIC; then 3198 _1="-D WITH_STATIC_LIBS=ON" 3199 # XXX Force linking with shared SDL lib! 3200 _2="-D SDL_LIBRARY='libSDL.so;-lpthread'" 3201 INFO " $_1" 3202 INFO " $_2" 3203 _buildargs="$_buildargs $_1 $_2" 3204 # XXX Arch linux needs to link freetype dynamically... 3205 if [ "$DISTRO" = "ARCH" ]; then 3206 _1="-D FREETYPE_LIBRARY=/usr/lib/libfreetype.so" 3207 INFO " $_1" 3208 _buildargs="$_buildargs $_1" 3209 fi 3210 fi 3211 3212 if [ -d $INST/python-$PYTHON_VERSION_MIN ]; then 3213 _1="-D PYTHON_ROOT_DIR=$INST/python-$PYTHON_VERSION_MIN" 3214 INFO " $_1" Page 71

jack_xv.txt 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 _buildargs="$_buildargs $_1" fi if [ -d $INST/boost ]; then _1="-D BOOST_ROOT=$INST/boost" _2="-D Boost_NO_SYSTEM_PATHS=ON" INFO " $_1" INFO " $_2" _buildargs="$_buildargs $_1 $_2" elif $ALL_STATIC; then _1="-D WITH_BOOST_ICU=ON" INFO " $_1" _buildargs="$_buildargs $_1" # XXX Arch linux fails static linking without these... if [ "$DISTRO" = "ARCH" ]; then _1="-D ICU_LIBRARY_DATA=/usr/lib/libicudata.so" _2="-D ICU_LIBRARY_I18N=/usr/lib/libicui18n.so" _3="-D ICU_LIBRARY_IO=/usr/lib/libicuio.so" _4="-D ICU_LIBRARY_LE=/usr/lib/libicule.so" _5="-D ICU_LIBRARY_LX=/usr/lib/libiculx.so" _6="-D ICU_LIBRARY_TU=/usr/lib/libicutu.so" _7="-D ICU_LIBRARY_UC=/usr/lib/libicuuc.so" INFO " $_1" INFO " $_2" INFO " $_3" INFO " $_4" INFO " $_5" INFO " $_6" INFO " $_7" _buildargs="$_buildargs $_1 $_2 $_3 $_4 $_5 $_6 $_7" fi fi if [ -d $INST/openexr ]; then _1="-D OPENEXR_ROOT_DIR=$INST/openexr" INFO " $_1" _buildargs="$_buildargs $_1" fi _1="-D WITH_CYCLES_OSL=ON" _2="-D WITH_LLVM=ON" _3="-D LLVM_VERSION=$LLVM_VERSION_FOUND" INFO " $_1" INFO " $_2" INFO " $_3" _buildargs="$_buildargs $_1 $_2 $_3" if [ -d $INST/osl ]; then _1="-D CYCLES_OSL=$INST/osl" Page 72

jack_xv.txt 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 INFO " $_1" _buildargs="$_buildargs $_1" fi if [ -d $INST/llvm ]; then _1="-D LLVM_DIRECTORY=$INST/llvm" _2="-D LLVM_STATIC=ON" INFO " $_1" INFO " $_2" _buildargs="$_buildargs $_1 $_2" fi if $WITH_OPENCOLLADA; then _1="-D WITH_OPENCOLLADA=ON" INFO " $_1" _buildargs="$_buildargs $_1" if $ALL_STATIC; then _1="-D XML2_LIBRARY=$_XML2_LIB" INFO " $_1" _buildargs="$_buildargs $_1" fi fi

_1="-D WITH_CODEC_FFMPEG=ON" _2="-D FFMPEG_LIBRARIES='avformat;avcodec;avutil;avdevice;swscale;rt;`print_info_ff mpeglink`'" 3287 INFO " $_1" 3288 INFO " $_2" 3289 _buildargs="$_buildargs $_1 $_2" 3290 if [ -d $INST/ffmpeg ]; then 3291 _1="-D FFMPEG=$INST/ffmpeg" 3292 INFO " $_1" 3293 _buildargs="$_buildargs $_1" 3294 fi 3295 3296 INFO "" 3297 INFO "Or even simpler, just run (in your blender-source dir):" 3298 INFO " make -j$THREADS BUILD_CMAKE_ARGS=\"$_buildargs\"" 3299 3300 INFO "" 3301 INFO "If you're using SCons add this to your user-config:" 3302 3303 if [ -d $INST/python-$PYTHON_VERSION_MIN ]; then 3304 INFO "BF_PYTHON = '$INST/python-$PYTHON_VERSION_MIN'" 3305 INFO "BF_PYTHON_ABI_FLAGS = 'm'" 3306 fi 3307 if $ALL_STATIC; then 3308 INFO "WITH_BF_STATICPYTHON = True" Page 73

jack_xv.txt 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 fi INFO "WITH_BF_OCIO = True" if [ -d $INST/ocio ]; then INFO "BF_OCIO = '$INST/ocio'" fi # XXX Always static for now :/ INFO "WITH_BF_STATICOCIO = True" if [ -d $INST/openexr ]; then INFO "BF_OPENEXR = '$INST/openexr'" fi # XXX Always static for now :/ INFO "WITH_BF_STATICOPENEXR = True" INFO "WITH_BF_OIIO = True" if [ -d $INST/oiio ]; then INFO "BF_OIIO = '$INST/oiio'" fi # XXX No more static oiio for now :/ #if $ALL_STATIC; then #INFO "WITH_BF_STATICOIIO = True" #fi INFO "WITH_BF_CYCLES = True" if [ -d $INST/osl ]; then INFO "BF_OSL = '$INST/osl'" fi INFO "WITH_BF_BOOST = True" if [ -d $INST/boost ]; then INFO "BF_BOOST = '$INST/boost'" fi # XXX Broken in scons... #if $ALL_STATIC; then #INFO "WITH_BF_STATICBOOST = True" #fi if $WITH_OPENCOLLADA; then INFO "WITH_BF_COLLADA = True" if [ -d $INST/opencollada ]; then INFO "BF_OPENCOLLADA = '$INST/opencollada'" fi fi _ffmpeg_list_sep=" " if [ -d $INST/ffmpeg ]; then INFO "BF_FFMPEG = '$INST/ffmpeg'" Page 74

jack_xv.txt 3357 3358 3359 3360 fi if $ALL_STATIC; then INFO "WITH_BF_STATICFFMPEG = True" INFO "BF_FFMPEG_LIB_STATIC = '\${BF_FFMPEG_LIBPATH}/libavformat.a \ ${BF_FFMPEG_LIBPATH}/libavcodec.a \${BF_FFMPEG_LIBPATH}/libswscale.a \ ${BF_FFMPEG_LIBPATH}/libavutil.a \${BF_FFMPEG_LIBPATH}/libavdevice.a `print_info_ffmpeglink`'" 3361 else 3362 INFO "BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice `print_info_ffmpeglink`'" 3363 fi 3364 3365 if ! $WITH_ALL; then 3366 INFO "WITH_BF_3DMOUSE = False" 3367 # No libspacenav in official arch repos... 3368 elif [ "$DISTRO" = "ARCH" ]; then 3369 INFO "WITH_BF_3DMOUSE = False" 3370 fi 3371 3372 if $ALL_STATIC; then 3373 INFO "LLIBS = [\""xml2"\", \""expat"\"] + LLIBS" 3374 fi 3375 3376 INFO "" 3377 INFO "NOTE: static build with scons are very tricky to set-up, if you choose that option" 3378 INFO " you will likely have to edit these settings manually!" 3379 INFO "" 3380 } 3381 3382 #### "Main" #### 3383 # Detect distribution type used on this machine 3384 if [ -f /etc/debian_version ]; then 3385 DISTRO="DEB" 3386 install_DEB 3387 elif [ -f /etc/arch-release ]; then 3388 DISTRO="ARCH" 3389 install_ARCH 3390 elif [ -f /etc/redhat-release -o /etc/SuSE-release ]; then 3391 DISTRO="RPM" 3392 install_RPM 3393 else 3394 ERROR "Failed to detect distribution type" 3395 exit 1 3396 fi 3397 + '[' -f /etc/debian_version ']' 3398 + DISTRO=DEB 3399 + install_DEB Page 75

jack_xv.txt 3400 + INFO '' 3401 + _echo '' 3402 + '[' X = X-n ']' 3403 + printf '%s\n' '' 3404 3405 + INFO 'Installing dependencies for DEB-based distribution' 3406 + _echo 'Installing dependencies for DEB-based distribution' 3407 + '[' 'XInstalling dependencies for DEB-based distribution' = X-n ']' 3408 + printf '%s\n' 'Installing dependencies for DEB-based distribution' 3409 Installing dependencies for DEB-based distribution 3410 + INFO '' 3411 + _echo '' 3412 + '[' X = X-n ']' 3413 + printf '%s\n' '' 3414 3415 eval _echo "$COMMON_INFO" 3416 ++ eval _echo '"Source code of dependencies needed to be compiled will be downloaded and extracted into '\''$SRC'\''. 3417 Built libs of dependencies needed to be compiled will be installed into '\''$INST'\''. 3418 Please edit \$SRC and/or \$INST variables at the beginning of this script, 3419 or use --source/--install options, if you want to use other paths! 3420 3421 Number of threads for building: $THREADS (automatically detected, use -threads=<nbr> to override it). 3422 Full install: $WITH_ALL (use --with-all option to enable it). 3423 Building OpenCOLLADA: $WITH_OPENCOLLADA (use --with-opencollada option to enable it). 3424 All static linking: $ALL_STATIC (use --all-static option to enable it). 3425 3426 WARNING: Static build works fine with CMake, but with scons it may be tricky to get a valid Blender build! 3427 3428 Example: 3429 Full install without OpenCOLLADA: --with-all --skip-opencollada 3430 3431 Use --help to show all available options!"' 3432 _echo "Source code of dependencies needed to be compiled will be downloaded and extracted into '$SRC'. 3433 Built libs of dependencies needed to be compiled will be installed into '$INST'. 3434 Please edit \$SRC and/or \$INST variables at the beginning of this script, 3435 or use --source/--install options, if you want to use other paths! 3436 3437 Number of threads for building: $THREADS (automatically detected, use -threads=<nbr> to override it). 3438 Full install: $WITH_ALL (use --with-all option to enable it). 3439 Building OpenCOLLADA: $WITH_OPENCOLLADA (use --with-opencollada option to Page 76

jack_xv.txt Building OpenCOLLADA: $WITH_OPENCOLLADA (use --with-opencollada option to enable it). 3440 All static linking: $ALL_STATIC (use --all-static option to enable it). 3441 3442 WARNING: Static build works fine with CMake, but with scons it may be tricky to get a valid Blender build! 3443 3444 Example: 3445 Full install without OpenCOLLADA: --with-all --skip-opencollada 3446 3447 Use --help to show all available options!" 3448 +++ _echo 'Source code of dependencies needed to be compiled will be downloaded and extracted into '\''/home/kwadwobro/src/blender-deps'\''. 3449 Built libs of dependencies needed to be compiled will be installed into '\''/opt/lib'\''. 3450 Please edit $SRC and/or $INST variables at the beginning of this script, 3451 or use --source/--install options, if you want to use other paths! 3452 3453 Number of threads for building: 2 (automatically detected, use -threads=<nbr> to override it). 3454 Full install: false (use --with-all option to enable it). 3455 Building OpenCOLLADA: false (use --with-opencollada option to enable it). 3456 All static linking: false (use --all-static option to enable it). 3457 3458 WARNING: Static build works fine with CMake, but with scons it may be tricky to get a valid Blender build! 3459 3460 Example: 3461 Full install without OpenCOLLADA: --with-all --skip-opencollada 3462 3463 Use --help to show all available options!' 3464 +++ '[' 'XSource code of dependencies needed to be compiled will be downloaded and extracted into '\''/home/kwadwobro/src/blender-deps'\''. 3465 Built libs of dependencies needed to be compiled will be installed into '\''/opt/lib'\''. 3466 Please edit $SRC and/or $INST variables at the beginning of this script, 3467 or use --source/--install options, if you want to use other paths! 3468 3469 Number of threads for building: 2 (automatically detected, use -threads=<nbr> to override it). 3470 Full install: false (use --with-all option to enable it). 3471 Building OpenCOLLADA: false (use --with-opencollada option to enable it). 3472 All static linking: false (use --all-static option to enable it). 3473 3474 WARNING: Static build works fine with CMake, but with scons it may be tricky to get a valid Blender build! 3475 3476 Example: 3477 Full install without OpenCOLLADA: --with-all --skip-opencollada Page 77

jack_xv.txt 3478 3479 Use --help to show all available options!' = X-n ']' 3480 +++ printf '%s\n' 'Source code of dependencies needed to be compiled will be downloaded and extracted into '\''/home/kwadwobro/src/blender-deps'\''. 3481 Built libs of dependencies needed to be compiled will be installed into '\''/opt/lib'\''. 3482 Please edit $SRC and/or $INST variables at the beginning of this script, 3483 or use --source/--install options, if you want to use other paths! 3484 3485 Number of threads for building: 2 (automatically detected, use -threads=<nbr> to override it). 3486 Full install: false (use --with-all option to enable it). 3487 Building OpenCOLLADA: false (use --with-opencollada option to enable it). 3488 All static linking: false (use --all-static option to enable it). 3489 3490 WARNING: Static build works fine with CMake, but with scons it may be tricky to get a valid Blender build! 3491 3492 Example: 3493 Full install without OpenCOLLADA: --with-all --skip-opencollada 3494 3495 Use --help to show all available options!' 3496 + INFO 'Source code of dependencies needed to be compiled will be downloaded and extracted into '\''/home/kwadwobro/src/blender-deps'\''. 3497 Built libs of dependencies needed to be compiled will be installed into '\''/opt/lib'\''. 3498 Please edit $SRC and/or $INST variables at the beginning of this script, 3499 or use --source/--install options, if you want to use other paths! 3500 3501 Number of threads for building: 2 (automatically detected, use -threads=<nbr> to override it). 3502 Full install: false (use --with-all option to enable it). 3503 Building OpenCOLLADA: false (use --with-opencollada option to enable it). 3504 All static linking: false (use --all-static option to enable it). 3505 3506 WARNING: Static build works fine with CMake, but with scons it may be tricky to get a valid Blender build! 3507 3508 Example: 3509 Full install without OpenCOLLADA: --with-all --skip-opencollada 3510 3511 Use --help to show all available options!' 3512 + _echo 'Source code of dependencies needed to be compiled will be downloaded and extracted into '\''/home/kwadwobro/src/blender-deps'\''. 3513 Built libs of dependencies needed to be compiled will be installed into '\''/opt/lib'\''. 3514 Please edit $SRC and/or $INST variables at the beginning of this script, 3515 or use --source/--install options, if you want to use other paths! Page 78

jack_xv.txt 3516 3517 Number of threads for building: 2 (automatically detected, use -threads=<nbr> to override it). 3518 Full install: false (use --with-all option to enable it). 3519 Building OpenCOLLADA: false (use --with-opencollada option to enable it). 3520 All static linking: false (use --all-static option to enable it). 3521 3522 WARNING: Static build works fine with CMake, but with scons it may be tricky to get a valid Blender build! 3523 3524 Example: 3525 Full install without OpenCOLLADA: --with-all --skip-opencollada 3526 3527 Use --help to show all available options!' 3528 + '[' 'XSource code of dependencies needed to be compiled will be downloaded and extracted into '\''/home/kwadwobro/src/blender-deps'\''. 3529 Built libs of dependencies needed to be compiled will be installed into '\''/opt/lib'\''. 3530 Please edit $SRC and/or $INST variables at the beginning of this script, 3531 or use --source/--install options, if you want to use other paths! 3532 3533 Number of threads for building: 2 (automatically detected, use -threads=<nbr> to override it). 3534 Full install: false (use --with-all option to enable it). 3535 Building OpenCOLLADA: false (use --with-opencollada option to enable it). 3536 All static linking: false (use --all-static option to enable it). 3537 3538 WARNING: Static build works fine with CMake, but with scons it may be tricky to get a valid Blender build! 3539 3540 Example: 3541 Full install without OpenCOLLADA: --with-all --skip-opencollada 3542 3543 Use --help to show all available options!' = X-n ']' 3544 + printf '%s\n' 'Source code of dependencies needed to be compiled will be downloaded and extracted into '\''/home/kwadwobro/src/blender-deps'\''. 3545 Built libs of dependencies needed to be compiled will be installed into '\''/opt/lib'\''. 3546 Please edit $SRC and/or $INST variables at the beginning of this script, 3547 or use --source/--install options, if you want to use other paths! 3548 3549 Number of threads for building: 2 (automatically detected, use -threads=<nbr> to override it). 3550 Full install: false (use --with-all option to enable it). 3551 Building OpenCOLLADA: false (use --with-opencollada option to enable it). 3552 All static linking: false (use --all-static option to enable it). 3553 3554 WARNING: Static build works fine with CMake, but with scons it may be tricky Page 79

jack_xv.txt WARNING: Static build works fine with CMake, but with scons it may be tricky to get a valid Blender build! 3555 3556 Example: 3557 Full install without OpenCOLLADA: --with-all --skip-opencollada 3558 3559 Use --help to show all available options!' 3560 Source code of dependencies needed to be compiled will be downloaded and extracted into '/home/kwadwobro/src/blender-deps'. 3561 Built libs of dependencies needed to be compiled will be installed into '/ opt/lib'. 3562 Please edit $SRC and/or $INST variables at the beginning of this script, 3563 or use --source/--install options, if you want to use other paths! 3564 3565 Number of threads for building: 2 (automatically detected, use -threads=<nbr> to override it). 3566 Full install: false (use --with-all option to enable it). 3567 Building OpenCOLLADA: false (use --with-opencollada option to enable it). 3568 All static linking: false (use --all-static option to enable it). 3569 3570 WARNING: Static build works fine with CMake, but with scons it may be tricky to get a valid Blender build! 3571 3572 Example: 3573 Full install without OpenCOLLADA: --with-all --skip-opencollada 3574 3575 Use --help to show all available options! 3576 + INFO '' 3577 + _echo '' 3578 + '[' X = X-n ']' 3579 + printf '%s\n' '' 3580 3581 + read -p 'Do you want to continue (Y/n)?' 3582 Do you want to continue (Y/n)?echo ${REPLY:=Y} | tr [:upper:] [:lower:])" 3583 echo ${REPLY:=Y} | tr [:upper:] [:lower:]) 3584 echo ${REPLY:=Y} | tr [:upper:] [:lower:] 3585 ++ echo Y 3586 ++ tr '[:upper:]' '[:lower:]' 3587 + '[' y '!=' y ']' 3588 cat /etc/debian_version | grep ^6 3589 ++ cat /etc/debian_version 3590 ++ grep '^6' 3591 + '[' '!' -z '' ']' 3592 + sudo apt-get update 3593 Get:1 http://dl.google.com stable Release.gpg [198 B] 3594 Get:2 http://extras.ubuntu.com precise Release.gpg [72 B] 3595 Hit http://repos.codelite.org precise Release.gpg 3596 Get:3 http://dl.google.com stable Release [1,347 B] 3597 Hit http://extras.ubuntu.com precise Release Page 80

jack_xv.txt 3598 Hit http://ppa.launchpad.net maverick Release.gpg 3599 Hit http://ppa.launchpad.net precise Release.gpg 3600 Hit http://ppa.launchpad.net precise Release.gpg 3601 Hit http://ppa.launchpad.net precise Release.gpg 3602 Hit http://ppa.launchpad.net precise Release.gpg 3603 Hit http://ppa.launchpad.net precise Release.gpg 3604 Hit http://ppa.launchpad.net precise Release.gpg 3605 Hit http://ppa.launchpad.net precise Release.gpg 3606 Hit http://ci.archive.ubuntu.com precise Release.gpg 3607 Hit http://repos.codelite.org precise Release 3608 Hit http://ppa.launchpad.net maverick Release 3609 Hit http://ppa.launchpad.net precise Release 3610 Hit http://extras.ubuntu.com precise/main Sources 3611 Hit http://repos.codelite.org precise/universe Sources 3612 Hit http://repos.codelite.org precise/universe i386 Packages 3613 Ign http://repos.codelite.org precise/universe TranslationIndex 3614 Get:4 http://security.ubuntu.com precise-security Release.gpg [198 B] 3615 Hit http://extras.ubuntu.com precise/main i386 Packages 3616 Ign http://extras.ubuntu.com precise/main TranslationIndex 3617 Get:5 http://security.ubuntu.com precise-security Release [49.6 kB] 3618 Get:6 http://ci.archive.ubuntu.com precise-updates Release.gpg [198 B] 3619 Hit http://ci.archive.ubuntu.com precise-backports Release.gpg 3620 Hit http://ci.archive.ubuntu.com precise Release 3621 Get:7 http://ci.archive.ubuntu.com precise-updates Release [49.6 kB] 3622 Ign http://repos.codelite.org precise/universe Translation-en 3623 Ign http://extras.ubuntu.com precise/main Translation-en 3624 Hit http://ppa.launchpad.net precise Release 3625 Hit http://ppa.launchpad.net precise Release 3626 Hit http://ppa.launchpad.net precise Release 3627 Hit http://ppa.launchpad.net precise Release 3628 Hit http://ppa.launchpad.net precise Release 3629 Hit http://ppa.launchpad.net precise Release 3630 Hit http://ppa.launchpad.net maverick/main Sources 3631 Hit http://ppa.launchpad.net maverick/main i386 Packages 3632 Ign http://ppa.launchpad.net maverick/main TranslationIndex 3633 Hit http://ppa.launchpad.net precise/main Sources 3634 Hit http://ppa.launchpad.net precise/main i386 Packages 3635 Ign http://ppa.launchpad.net precise/main TranslationIndex 3636 Hit http://ppa.launchpad.net precise/main Sources 3637 Hit http://ppa.launchpad.net precise/main i386 Packages 3638 Ign http://ppa.launchpad.net precise/main TranslationIndex 3639 Hit http://ppa.launchpad.net precise/main Sources 3640 Hit http://ppa.launchpad.net precise/main i386 Packages 3641 Ign http://ppa.launchpad.net precise/main TranslationIndex 3642 Hit http://ppa.launchpad.net precise/main Sources 3643 Hit http://ppa.launchpad.net precise/main i386 Packages 3644 Ign http://ppa.launchpad.net precise/main TranslationIndex 3645 Hit http://ppa.launchpad.net precise/main Sources Page 81

jack_xv.txt 3646 Hit http://ppa.launchpad.net precise/main i386 Packages 3647 Ign http://ppa.launchpad.net precise/main TranslationIndex 3648 Hit http://ppa.launchpad.net precise/main Sources 3649 Hit http://ppa.launchpad.net precise/main i386 Packages 3650 Ign http://ppa.launchpad.net precise/main TranslationIndex 3651 Hit http://ppa.launchpad.net precise/main Sources 3652 Hit http://ppa.launchpad.net precise/main i386 Packages 3653 Ign http://ppa.launchpad.net precise/main TranslationIndex 3654 Get:8 http://dl.google.com stable/main i386 Packages [1,237 B] 3655 Ign http://dl.google.com stable/main TranslationIndex 3656 Ign http://ppa.launchpad.net maverick/main Translation-en 3657 Ign http://ppa.launchpad.net precise/main Translation-en 3658 Ign http://ppa.launchpad.net precise/main Translation-en 3659 Ign http://ppa.launchpad.net precise/main Translation-en 3660 Ign http://ppa.launchpad.net precise/main Translation-en 3661 Hit http://ci.archive.ubuntu.com precise-backports Release 3662 Hit http://ci.archive.ubuntu.com precise/main Sources 3663 Ign http://ppa.launchpad.net precise/main Translation-en 3664 Ign http://ppa.launchpad.net precise/main Translation-en 3665 Get:9 http://security.ubuntu.com precise-security/main Sources [102 kB] 3666 Ign http://ppa.launchpad.net precise/main Translation-en 3667 Hit http://ci.archive.ubuntu.com precise/restricted Sources 3668 Hit http://ci.archive.ubuntu.com precise/universe Sources 3669 Hit http://ci.archive.ubuntu.com precise/multiverse Sources 3670 Hit http://ci.archive.ubuntu.com precise/main i386 Packages 3671 Hit http://ci.archive.ubuntu.com precise/restricted i386 Packages 3672 Hit http://ci.archive.ubuntu.com precise/universe i386 Packages 3673 Hit http://ci.archive.ubuntu.com precise/multiverse i386 Packages 3674 Hit http://ci.archive.ubuntu.com precise/main TranslationIndex 3675 Hit http://ci.archive.ubuntu.com precise/multiverse TranslationIndex 3676 Hit http://ci.archive.ubuntu.com precise/restricted TranslationIndex 3677 Hit http://ci.archive.ubuntu.com precise/universe TranslationIndex 3678 Get:10 http://ci.archive.ubuntu.com precise-updates/main Sources [454 kB] 3679 Ign http://dl.google.com stable/main Translation-en 3680 Get:11 http://security.ubuntu.com precise-security/restricted Sources [2,494 B] 3681 Get:12 http://security.ubuntu.com precise-security/universe Sources [30.9 kB] 3682 Get:13 http://security.ubuntu.com precise-security/multiverse Sources [1,797 B] 3683 Get:14 http://security.ubuntu.com precise-security/main i386 Packages [402 kB] 3684 Get:15 http://ci.archive.ubuntu.com precise-updates/restricted Sources [8,028 B] 3685 Get:16 http://ci.archive.ubuntu.com precise-updates/universe Sources [105 kB] 3686 Get:17 http://ci.archive.ubuntu.com precise-updates/multiverse Sources [8,909 B] Page 82

jack_xv.txt 3687 Get:18 http://ci.archive.ubuntu.com precise-updates/main i386 Packages [787 kB] 3688 Get:19 http://security.ubuntu.com precise-security/restricted i386 Packages [4,620 B] 3689 Get:20 http://security.ubuntu.com precise-security/universe i386 Packages [96.5 kB] 3690 Get:21 http://security.ubuntu.com precise-security/multiverse i386 Packages [2,649 B] 3691 Get:22 http://security.ubuntu.com precise-security/main TranslationIndex [74 B] 3692 Get:23 http://security.ubuntu.com precise-security/multiverse TranslationIndex [72 B] 3693 Get:24 http://security.ubuntu.com precise-security/restricted TranslationIndex [72 B] 3694 Get:25 http://security.ubuntu.com precise-security/universe TranslationIndex [73 B] 3695 Hit http://security.ubuntu.com precise-security/main Translation-en 3696 Hit http://security.ubuntu.com precise-security/multiverse Translation-en 3697 Hit http://security.ubuntu.com precise-security/restricted Translation-en 3698 Hit http://security.ubuntu.com precise-security/universe Translation-en 3699 Get:26 http://ci.archive.ubuntu.com precise-updates/restricted i386 Packages [12.2 kB] 3700 Get:27 http://ci.archive.ubuntu.com precise-updates/universe i386 Packages [243 kB] 3701 Get:28 http://ci.archive.ubuntu.com precise-updates/multiverse i386 Packages [15.4 kB] 3702 Get:29 http://ci.archive.ubuntu.com precise-updates/main TranslationIndex [3,564 B] 3703 Get:30 http://ci.archive.ubuntu.com precise-updates/multiverse TranslationIndex [2,605 B] 3704 Get:31 http://ci.archive.ubuntu.com precise-updates/restricted TranslationIndex [2,461 B] 3705 Get:32 http://ci.archive.ubuntu.com precise-updates/universe TranslationIndex [2,850 B] 3706 Hit http://ci.archive.ubuntu.com precise-backports/main Sources 3707 Hit http://ci.archive.ubuntu.com precise-backports/restricted Sources 3708 Hit http://ci.archive.ubuntu.com precise-backports/universe Sources 3709 Hit http://ci.archive.ubuntu.com precise-backports/multiverse Sources 3710 Hit http://ci.archive.ubuntu.com precise-backports/main i386 Packages 3711 Hit http://ci.archive.ubuntu.com precise-backports/restricted i386 Packages 3712 Hit http://ci.archive.ubuntu.com precise-backports/universe i386 Packages 3713 Hit http://ci.archive.ubuntu.com precise-backports/multiverse i386 Packages 3714 Hit http://ci.archive.ubuntu.com precise-backports/main TranslationIndex 3715 Hit http://ci.archive.ubuntu.com precise-backports/multiverse TranslationIndex 3716 Hit http://ci.archive.ubuntu.com precise-backports/restricted TranslationIndex 3717 Hit http://ci.archive.ubuntu.com precise-backports/universe TranslationIndex Page 83

jack_xv.txt 3718 Hit http://ci.archive.ubuntu.com precise/main Translation-en 3719 Hit http://ci.archive.ubuntu.com precise/multiverse Translation-en 3720 Hit http://ci.archive.ubuntu.com precise/restricted Translation-en 3721 Hit http://ci.archive.ubuntu.com precise/universe Translation-en 3722 Get:33 http://ci.archive.ubuntu.com precise-updates/main Translation-en [340 kB] 3723 Hit http://ci.archive.ubuntu.com precise-updates/multiverse Translation-en 3724 Hit http://ci.archive.ubuntu.com precise-updates/restricted Translation-en 3725 Get:34 http://ci.archive.ubuntu.com precise-updates/universe Translation-en [138 kB] 3726 Hit http://ci.archive.ubuntu.com precise-backports/main Translation-en 3727 Hit http://ci.archive.ubuntu.com precise-backports/multiverse Translation-en 3728 Hit http://ci.archive.ubuntu.com precise-backports/restricted Translation-en 3729 Hit http://ci.archive.ubuntu.com precise-backports/universe Translation-en 3730 Fetched 2,869 kB in 2min 48s (17.0 kB/s) 3731 Reading package lists... 3732 + OPENJPEG_DEV=libopenjpeg-dev 3733 + VORBIS_DEV=libvorbis-dev 3734 + OGG_DEV=libogg-dev 3735 + THEORA_DEV=libtheora-dev 3736 + _packages='gawk cmake cmake-curses-gui scons build-essential libjpeg-dev libpng-dev libfreetype6-dev libx11-dev libxi-dev wget libsqlite3-dev libbz2-dev libncurses5-dev libssl-dev liblzmadev libreadline-dev libopenjpeg-dev libopenal-dev libglew-dev yasm libtheora-dev libvorbis-dev libogg-dev libsdl1.2-dev libfftw3-dev patch bzip2' 3737 + OPENJPEG_USE=true 3738 + VORBIS_USE=true 3739 + OGG_USE=true 3740 + THEORA_USE=true 3741 + TIFF=libtiff 3742 + check_package_DEB libtiff 3743 apt-cache show $1 | grep -c 'Package:' 3744 ++ grep -c Package: 3745 ++ apt-cache show libtiff 3746 + r=0 3747 + '[' 0 -ge 1 ']' 3748 + return 1 3749 + '[' 1 -eq 0 ']' 3750 + TIFF=libtiff5 3751 + check_package_DEB libtiff5 3752 apt-cache show $1 | grep -c 'Package:' 3753 ++ grep -c Package: 3754 ++ apt-cache show libtiff5 3755 E: No packages found 3756 + r=0 3757 + '[' 0 -ge 1 ']' 3758 + return 1 Page 84

jack_xv.txt 3759 + '[' 1 -eq 0 ']' 3760 + TIFF=libtiff4 3761 + check_package_DEB libtiff4 3762 apt-cache show $1 | grep -c 'Package:' 3763 ++ apt-cache show libtiff4 3764 ++ grep -c Package: 3765 + r=2 3766 + '[' 2 -ge 1 ']' 3767 + return 0 3768 + '[' 0 -eq 0 ']' 3769 + _packages='gawk cmake cmake-curses-gui scons build-essential libjpeg-dev libpng-dev libfreetype6-dev libx11-dev libxi-dev wget libsqlite3-dev libbz2-dev libncurses5-dev libssl-dev liblzmadev libreadline-dev libopenjpeg-dev libopenal-dev libglew-dev yasm libtheora-dev libvorbis-dev libogg-dev libsdl1.2-dev libfftw3-dev patch bzip2 libtiff4-dev' 3770 + GIT=git 3771 + check_package_DEB git 3772 apt-cache show $1 | grep -c 'Package:' 3773 ++ apt-cache show git 3774 ++ grep -c Package: 3775 + r=1 3776 + '[' 1 -ge 1 ']' 3777 + return 0 3778 + '[' 0 -eq 0 ']' 3779 + INFO git 3780 + _echo git 3781 + '[' Xgit = X-n ']' 3782 + printf '%s\n' git 3783 git 3784 + _packages='gawk cmake cmake-curses-gui scons build-essential libjpeg-dev libpng-dev libfreetype6-dev libx11-dev libxi-dev wget libsqlite3-dev libbz2-dev libncurses5-dev libssl-dev liblzmadev libreadline-dev libopenjpeg-dev libopenal-dev libglew-dev yasm libtheora-dev libvorbis-dev libogg-dev libsdl1.2-dev libfftw3-dev patch bzip2 libtiff4-dev git' 3785 + false 3786 + INFO '' 3787 + _echo '' 3788 + '[' X = X-n ']' 3789 + printf '%s\n' '' 3790 3791 + install_packages_DEB gawk cmake cmake-curses-gui scons build-essential libjpeg-dev libpng-dev libfreetype6-dev libx11-dev libxi-dev wget libsqlite3-dev libbz2-dev libncurses5-dev libssl-dev liblzma-dev libreadline-dev libopenjpeg-dev libopenal-dev libglew-dev yasm libtheora-dev libvorbis-dev libogg-dev libsdl1.2-dev libfftw3-dev patch bzip2 libtiff4dev git Page 85

jack_xv.txt 3792 + sudo apt-get install -y --force-yes gawk cmake cmake-curses-gui scons build-essential libjpeg-dev libpng-dev libfreetype6-dev libx11-dev libxi-dev wget libsqlite3-dev libbz2-dev libncurses5-dev libssl-dev liblzma-dev libreadline-dev libopenjpeg-dev libopenal-dev libglew-dev yasm libtheora-dev libvorbis-dev libogg-dev libsdl1.2-dev libfftw3-dev patch bzip2 libtiff4dev git 3793 Reading package lists... 3794 Building dependency tree... 3795 Reading state information... 3796 bzip2 is already the newest version. 3797 git is already the newest version. 3798 libbz2-dev is already the newest version. 3799 libfftw3-dev is already the newest version. 3800 libglew1.6-dev is already the newest version. 3801 libjpeg-dev is already the newest version. 3802 liblzma-dev is already the newest version. 3803 libncurses5-dev is already the newest version. 3804 libogg-dev is already the newest version. 3805 libopenal-dev is already the newest version. 3806 libpng12-dev is already the newest version. 3807 libreadline-dev is already the newest version. 3808 libsdl1.2-dev is already the newest version. 3809 libtheora-dev is already the newest version. 3810 libvorbis-dev is already the newest version. 3811 patch is already the newest version. 3812 scons is already the newest version. 3813 wget is already the newest version. 3814 yasm is already the newest version. 3815 build-essential is already the newest version. 3816 libfreetype6-dev is already the newest version. 3817 libsqlite3-dev is already the newest version. 3818 libssl-dev is already the newest version. 3819 libtiff4-dev is already the newest version. 3820 libx11-dev is already the newest version. 3821 libxi-dev is already the newest version. 3822 libopenjpeg-dev is already the newest version. 3823 cmake is already the newest version. 3824 cmake-curses-gui is already the newest version. 3825 gawk is already the newest version. 3826 0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded. 3827 + '[' 0 -ge 1 ']' 3828 + INFO '' 3829 + _echo '' 3830 + '[' X = X-n ']' 3831 + printf '%s\n' '' 3832 3833 + X264_DEV=libx264-dev 3834 + check_package_version_ge_DEB libx264-dev 0.118 Page 86

jack_xv.txt 3835 apt-cache policy $1 | grep 'Candidate:' | sed -r 's/.*:\s*([0-9]+:)?(([0-9]+ \.?)+).*/\2/' 3836 ++ sed -r 's/.*:\s*([0-9]+:)?(([0-9]+\.?)+).*/\2/' 3837 ++ grep Candidate: 3838 ++ apt-cache policy libx264-dev 3839 + v=0.120.2151 3840 + '[' -z 0.120.2151 ']' 3841 + version_ge 0.120.2151 0.118 3842 + version_eq 0.120.2151 0.118 3843 + backIFS=' 3844 ' 3845 + IFS=. 3846 + arr1=($1) 3847 + arr2=($2) 3848 + ret=1 3849 + count1=3 3850 + count2=2 3851 + '[' 2 -ge 3 ']' 3852 + ret=0 3853 + (( i=0 )) 3854 + (( 0 < 2 )) 3855 + '[' 0 -ne 0 ']' 3856 + (( i++ )) 3857 + (( 1 < 2 )) 3858 + '[' 120 -ne 118 ']' 3859 + ret=1 3860 + break 3861 + (( i=2 )) 3862 + (( 2 < 3 )) 3863 + '[' 2151 -ne 0 ']' 3864 + ret=1 3865 + break 3866 + IFS=' 3867 ' 3868 + return 1 3869 _echo "$1" "$2" | sort --version-sort | head --lines=1) 3870 _echo "$1" "$2" | sort --version-sort | head --lines=1 3871 ++ head --lines=1 3872 ++ sort --version-sort 3873 ++ _echo 0.120.2151 0.118 3874 ++ '[' X0.120.2151 = X-n ']' 3875 ++ printf '%s\n' 0.120.2151 0.118 3876 + '[' 1 -eq 1 -a 0.118 = 0.120.2151 ']' 3877 + return 0 3878 + return 0 3879 + '[' 0 -eq 0 ']' 3880 + install_packages_DEB libx264-dev 3881 + sudo apt-get install -y --force-yes libx264-dev Page 87

jack_xv.txt 3882 Reading package lists... 3883 Building dependency tree... 3884 Reading state information... 3885 libx264-dev is already the newest version. 3886 0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded. 3887 + '[' 0 -ge 1 ']' 3888 + X264_USE=true 3889 + false 3890 + INFO '' 3891 + _echo '' 3892 + '[' X = X-n ']' 3893 + printf '%s\n' '' 3894 3895 + false 3896 + _do_compile=false 3897 + check_package_DEB python3.3-dev 3898 apt-cache show $1 | grep -c 'Package:' 3899 ++ grep -c Package: 3900 ++ apt-cache show python3.3-dev 3901 + r=1 3902 + '[' 1 -ge 1 ']' 3903 + return 0 3904 + '[' 0 -eq 0 ']' 3905 + install_packages_DEB python3.3-dev 3906 + sudo apt-get install -y --force-yes python3.3-dev 3907 Reading package lists... 3908 Building dependency tree... 3909 Reading state information... 3910 python3.3-dev is already the newest version. 3911 0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded. 3912 + '[' 0 -ge 1 ']' 3913 + INFO '' 3914 + _echo '' 3915 + '[' X = X-n ']' 3916 + printf '%s\n' '' 3917 3918 + false 3919 + check_package_DEB python3.3-numpy 3920 apt-cache show $1 | grep -c 'Package:' 3921 ++ grep -c Package: 3922 ++ apt-cache show python3.3-numpy 3923 E: No packages found 3924 + r=0 3925 + '[' 0 -ge 1 ']' 3926 + return 1 3927 + '[' 1 -eq 0 ']' 3928 + false 3929 + INFO 'WARNING! Sorry, using python package but no valid numpy package Page 88

jack_xv.txt + INFO 'WARNING! Sorry, using python package but no valid numpy package available!' 3930 + _echo 'WARNING! Sorry, using python package but no valid numpy package available!' 3931 + '[' 'XWARNING! Sorry, using python package but no valid numpy package available!' = X-n ']' 3932 + printf '%s\n' 'WARNING! Sorry, using python package but no valid numpy package available!' 3933 WARNING! Sorry, using python package but no valid numpy package available! 3934 + INFO ' Use --required-numpy to force building of both Python and numpy.' 3935 + _echo ' Use --required-numpy to force building of both Python and numpy.' 3936 + '[' 'X Use --required-numpy to force building of both Python and numpy.' = X-n ']' 3937 + printf '%s\n' ' Use --required-numpy to force building of both Python and numpy.' 3938 Use --required-numpy to force building of both Python and numpy. 3939 + false 3940 + clean_Python 3941 + clean_Numpy 3942 + _init_numpy 3943 + _src=/home/kwadwobro/src/blender-deps/numpy-1.7.0 3944 + _inst=/opt/lib/numpy-1.7.0 3945 + _python=/opt/lib/python-3.3.2 3946 + _site=lib/python3.3/site-packages 3947 + _inst_shortcut=/opt/lib/python-3.3.2/lib/python3.3/site-packages/numpy 3948 + _clean 3949 readlink -f $_inst_shortcut 3950 ++ readlink -f /opt/lib/python-3.3.2/lib/python3.3/site-packages/numpy 3951 + rm -rf 3952 + rm -rf /home/kwadwobro/src/blender-deps/numpy-1.7.0 3953 + rm -rf /opt/lib/numpy-1.7.0 3954 + rm -rf /opt/lib/python-3.3.2/lib/python3.3/site-packages/numpy 3955 + _init_python 3956 + _src=/home/kwadwobro/src/blender-deps/Python-3.3.2 3957 + _inst=/opt/lib/python-3.3.2 3958 + _inst_shortcut=/opt/lib/python-3.3 3959 + _clean 3960 readlink -f $_inst_shortcut 3961 ++ readlink -f /opt/lib/python-3.3 3962 + rm -rf /opt/lib/python-3.3 3963 + rm -rf /home/kwadwobro/src/blender-deps/Python-3.3.2 3964 + rm -rf /opt/lib/python-3.3.2 3965 + rm -rf /opt/lib/python-3.3 3966 + INFO '' 3967 + _echo '' 3968 + '[' X = X-n ']' 3969 + printf '%s\n' '' Page 89

jack_xv.txt 3970 3971 + false 3972 + check_package_version_ge_DEB libboost-dev 1.49 3973 apt-cache policy $1 | grep 'Candidate:' | sed -r 's/.*:\s*([0-9]+:)?(([0-9]+ \.?)+).*/\2/' 3974 ++ sed -r 's/.*:\s*([0-9]+:)?(([0-9]+\.?)+).*/\2/' 3975 ++ grep Candidate: 3976 ++ apt-cache policy libboost-dev 3977 + v=1.48.0.2 3978 + '[' -z 1.48.0.2 ']' 3979 + version_ge 1.48.0.2 1.49 3980 + version_eq 1.48.0.2 1.49 3981 + backIFS=' 3982 ' 3983 + IFS=. 3984 + arr1=($1) 3985 + arr2=($2) 3986 + ret=1 3987 + count1=4 3988 + count2=2 3989 + '[' 2 -ge 4 ']' 3990 + ret=0 3991 + (( i=0 )) 3992 + (( 0 < 2 )) 3993 + '[' 1 -ne 1 ']' 3994 + (( i++ )) 3995 + (( 1 < 2 )) 3996 + '[' 48 -ne 49 ']' 3997 + ret=1 3998 + break 3999 + (( i=2 )) 4000 + (( 2 < 4 )) 4001 + '[' 0 -ne 0 ']' 4002 + (( i++ )) 4003 + (( 3 < 4 )) 4004 + '[' 2 -ne 0 ']' 4005 + ret=1 4006 + break 4007 + IFS=' 4008 ' 4009 + return 1 4010 _echo "$1" "$2" | sort --version-sort | head --lines=1) 4011 _echo "$1" "$2" | sort --version-sort | head --lines=1 4012 ++ head --lines=1 4013 ++ sort --version-sort 4014 ++ _echo 1.48.0.2 1.49 4015 ++ '[' X1.48.0.2 = X-n ']' 4016 ++ printf '%s\n' 1.48.0.2 1.49 Page 90

jack_xv.txt 4017 + '[' 1 -eq 1 -a 1.48.0.2 = 1.48.0.2 ']' 4018 + return 1 4019 + return 1 4020 + '[' 1 -eq 0 ']' 4021 + compile_Boost 4022 + boost_magic=7 4023 + _init_boost 4024 + _src=/home/kwadwobro/src/blender-deps/boost-1.51.0 4025 + _inst=/opt/lib/boost-1.51.0 4026 + _inst_shortcut=/opt/lib/boost 4027 + magic_compile_check boost-1.51.0 7 4028 + '[' -f /opt/lib/.boost-1.51.0-magiccheck-7 ']' 4029 + return 0 4030 + '[' 0 -eq 1 -o false == true ']' 4031 + '[' '!' -d /opt/lib/boost-1.51.0 ']' 4032 + INFO 'Own Boost-1.51.0 is up to date, nothing to do!' 4033 + _echo 'Own Boost-1.51.0 is up to date, nothing to do!' 4034 + '[' 'XOwn Boost-1.51.0 is up to date, nothing to do!' = X-n ']' 4035 + printf '%s\n' 'Own Boost-1.51.0 is up to date, nothing to do!' 4036 Own Boost-1.51.0 is up to date, nothing to do! 4037 + INFO 'If you want to force rebuild of this lib, use the --force-boost option.' 4038 + _echo 'If you want to force rebuild of this lib, use the --force-boost option.' 4039 + '[' 'XIf you want to force rebuild of this lib, use the --force-boost option.' = X-n ']' 4040 + printf '%s\n' 'If you want to force rebuild of this lib, use the --forceboost option.' 4041 If you want to force rebuild of this lib, use the --force-boost option. 4042 + run_ldconfig boost 4043 + _lib_path=/opt/lib/boost/lib 4044 + _ldconf_path=/etc/ld.so.conf.d/boost.conf 4045 + INFO '' 4046 + _echo '' 4047 + '[' X = X-n ']' 4048 + printf '%s\n' '' 4049 4050 + INFO 'Running ldconfig for boost...' 4051 + _echo 'Running ldconfig for boost...' 4052 + '[' 'XRunning ldconfig for boost...' = X-n ']' 4053 + printf '%s\n' 'Running ldconfig for boost...' 4054 Running ldconfig for boost... 4055 + sudo sh -c 'echo "/opt/lib/boost/lib" > /etc/ld.so.conf.d/boost.conf' 4056 + sudo /sbin/ldconfig 4057 + INFO '' 4058 + _echo '' 4059 + '[' X = X-n ']' 4060 + printf '%s\n' '' Page 91

jack_xv.txt 4061 4062 + INFO '' 4063 + _echo '' 4064 + '[' X = X-n ']' 4065 + printf '%s\n' '' 4066 4067 + false 4068 + check_package_version_ge_DEB libopencolorio-dev 1.0 4069 apt-cache policy $1 | grep 'Candidate:' | sed -r 's/.*:\s*([0-9]+:)?(([0-9]+ \.?)+).*/\2/' 4070 ++ sed -r 's/.*:\s*([0-9]+:)?(([0-9]+\.?)+).*/\2/' 4071 ++ grep Candidate: 4072 ++ apt-cache policy libopencolorio-dev 4073 + v= 4074 + '[' -z '' ']' 4075 + return 1 4076 + '[' 1 -eq 0 ']' 4077 + compile_OCIO 4078 + ocio_magic=1 4079 + _init_ocio 4080 + _src=/home/kwadwobro/src/blender-deps/OpenColorIO-1.0.7 4081 + _inst=/opt/lib/ocio-1.0.7 4082 + _inst_shortcut=/opt/lib/ocio 4083 + magic_compile_check ocio-1.0.7 1 4084 + '[' -f /opt/lib/.ocio-1.0.7-magiccheck-1 ']' 4085 + return 0 4086 + '[' 0 -eq 1 -o false == true ']' 4087 + '[' '!' -d /opt/lib/ocio-1.0.7 ']' 4088 + INFO 'Own OpenColorIO-1.0.7 is up to date, nothing to do!' 4089 + _echo 'Own OpenColorIO-1.0.7 is up to date, nothing to do!' 4090 + '[' 'XOwn OpenColorIO-1.0.7 is up to date, nothing to do!' = X-n ']' 4091 + printf '%s\n' 'Own OpenColorIO-1.0.7 is up to date, nothing to do!' 4092 Own OpenColorIO-1.0.7 is up to date, nothing to do! 4093 + INFO 'If you want to force rebuild of this lib, use the --force-ocio option.' 4094 + _echo 'If you want to force rebuild of this lib, use the --force-ocio option.' 4095 + '[' 'XIf you want to force rebuild of this lib, use the --force-ocio option.' = X-n ']' 4096 + printf '%s\n' 'If you want to force rebuild of this lib, use the --forceocio option.' 4097 If you want to force rebuild of this lib, use the --force-ocio option. 4098 + INFO '' 4099 + _echo '' 4100 + '[' X = X-n ']' 4101 + printf '%s\n' '' 4102 4103 + false Page 92

jack_xv.txt 4104 + check_package_version_ge_DEB libopenexr-dev 2.0 4105 apt-cache policy $1 | grep 'Candidate:' | sed -r 's/.*:\s*([0-9]+:)?(([0-9]+ \.?)+).*/\2/' 4106 ++ sed -r 's/.*:\s*([0-9]+:)?(([0-9]+\.?)+).*/\2/' 4107 ++ grep Candidate: 4108 ++ apt-cache policy libopenexr-dev 4109 + v=1.6.1 4110 + '[' -z 1.6.1 ']' 4111 + version_ge 1.6.1 2.0 4112 + version_eq 1.6.1 2.0 4113 + backIFS=' 4114 ' 4115 + IFS=. 4116 + arr1=($1) 4117 + arr2=($2) 4118 + ret=1 4119 + count1=3 4120 + count2=2 4121 + '[' 2 -ge 3 ']' 4122 + ret=0 4123 + (( i=0 )) 4124 + (( 0 < 2 )) 4125 + '[' 1 -ne 2 ']' 4126 + ret=1 4127 + break 4128 + (( i=2 )) 4129 + (( 2 < 3 )) 4130 + '[' 1 -ne 0 ']' 4131 + ret=1 4132 + break 4133 + IFS=' 4134 ' 4135 + return 1 4136 _echo "$1" "$2" | sort --version-sort | head --lines=1) 4137 _echo "$1" "$2" | sort --version-sort | head --lines=1 4138 ++ head --lines=1 4139 ++ sort --version-sort 4140 ++ _echo 1.6.1 2.0 4141 ++ '[' X1.6.1 = X-n ']' 4142 ++ printf '%s\n' 1.6.1 2.0 4143 + '[' 1 -eq 1 -a 1.6.1 = 1.6.1 ']' 4144 + return 1 4145 + return 1 4146 + '[' 1 -eq 0 ']' 4147 + compile_OPENEXR 4148 + openexr_magic=10 4149 + magic_compile_check openexr-2.0.0 10 4150 + '[' -f /opt/lib/.openexr-2.0.0-magiccheck-10 ']' Page 93

jack_xv.txt 4151 + return 0 4152 + '[' 0 -eq 1 -o false == true ']' 4153 + _openexr_inst=/opt/lib/openexr-2.0.0 4154 + compile_ILMBASE 4155 + ilmbase_magic=5 4156 + _init_ilmbase 4157 + _src=/home/kwadwobro/src/blender-deps/ILMBase-2.0.0 4158 + _inst=/tmp/ilmbase-2.0.0 4159 + _inst_shortcut=/tmp/ilmbase 4160 + magic_compile_check ilmbase-2.0.0 5 4161 + '[' -f /opt/lib/.ilmbase-2.0.0-magiccheck-5 ']' 4162 + return 0 4163 + '[' 0 -eq 1 -o false == true ']' 4164 + '[' '!' -d /opt/lib/openexr-2.0.0 ']' 4165 + INFO 'Own ILMBase-2.0.0 is up to date, nothing to do!' 4166 + _echo 'Own ILMBase-2.0.0 is up to date, nothing to do!' 4167 + '[' 'XOwn ILMBase-2.0.0 is up to date, nothing to do!' = X-n ']' 4168 + printf '%s\n' 'Own ILMBase-2.0.0 is up to date, nothing to do!' 4169 Own ILMBase-2.0.0 is up to date, nothing to do! 4170 + INFO 'If you want to force rebuild of this lib (and openexr), use the -force-openexr option.' 4171 + _echo 'If you want to force rebuild of this lib (and openexr), use the -force-openexr option.' 4172 + '[' 'XIf you want to force rebuild of this lib (and openexr), use the -force-openexr option.' = X-n ']' 4173 + printf '%s\n' 'If you want to force rebuild of this lib (and openexr), use the --force-openexr option.' 4174 If you want to force rebuild of this lib (and openexr), use the --forceopenexr option. 4175 + magic_compile_set ilmbase-2.0.0 5 4176 + rm -f /opt/lib/.ilmbase-2.0.0-magiccheck-5 4177 + touch /opt/lib/.ilmbase-2.0.0-magiccheck-5 4178 + _ilmbase_inst=/tmp/ilmbase 4179 + _init_openexr 4180 + _src=/home/kwadwobro/src/blender-deps/OpenEXR-2.0.0 4181 + _inst=/opt/lib/openexr-2.0.0 4182 + _inst_shortcut=/opt/lib/openexr 4183 + '[' '!' -d /opt/lib/openexr-2.0.0 ']' 4184 + INFO 'Own OpenEXR-2.0.0 is up to date, nothing to do!' 4185 + _echo 'Own OpenEXR-2.0.0 is up to date, nothing to do!' 4186 + '[' 'XOwn OpenEXR-2.0.0 is up to date, nothing to do!' = X-n ']' 4187 + printf '%s\n' 'Own OpenEXR-2.0.0 is up to date, nothing to do!' 4188 Own OpenEXR-2.0.0 is up to date, nothing to do! 4189 + INFO 'If you want to force rebuild of this lib, use the --force-openexr option.' 4190 + _echo 'If you want to force rebuild of this lib, use the --force-openexr option.' 4191 + '[' 'XIf you want to force rebuild of this lib, use the --force-openexr Page 94

jack_xv.txt + '[' 'XIf you want to force rebuild of this lib, use the --force-openexr option.' = X-n ']' 4192 + printf '%s\n' 'If you want to force rebuild of this lib, use the --forceopenexr option.' 4193 If you want to force rebuild of this lib, use the --force-openexr option. 4194 + _with_built_openexr=true 4195 + run_ldconfig openexr 4196 + _lib_path=/opt/lib/openexr/lib 4197 + _ldconf_path=/etc/ld.so.conf.d/openexr.conf 4198 + INFO '' 4199 + _echo '' 4200 + '[' X = X-n ']' 4201 + printf '%s\n' '' 4202 4203 + INFO 'Running ldconfig for openexr...' 4204 + _echo 'Running ldconfig for openexr...' 4205 + '[' 'XRunning ldconfig for openexr...' = X-n ']' 4206 + printf '%s\n' 'Running ldconfig for openexr...' 4207 Running ldconfig for openexr... 4208 + sudo sh -c 'echo "/opt/lib/openexr/lib" > /etc/ld.so.conf.d/openexr.conf' 4209 + sudo /sbin/ldconfig 4210 + INFO '' 4211 + _echo '' 4212 + '[' X = X-n ']' 4213 + printf '%s\n' '' 4214 4215 + INFO '' 4216 + _echo '' 4217 + '[' X = X-n ']' 4218 + printf '%s\n' '' 4219 4220 + false 4221 + check_package_version_ge_DEB libopenimageio-dev 1.1 4222 apt-cache policy $1 | grep 'Candidate:' | sed -r 's/.*:\s*([0-9]+:)?(([0-9]+ \.?)+).*/\2/' 4223 ++ apt-cache policy libopenimageio-dev 4224 ++ sed -r 's/.*:\s*([0-9]+:)?(([0-9]+\.?)+).*/\2/' 4225 ++ grep Candidate: 4226 + v= 4227 + '[' -z '' ']' 4228 + return 1 4229 + '[' 1 -eq 0 -a true == false ']' 4230 + compile_OIIO 4231 + oiio_magic=12 4232 + _init_oiio 4233 + _src=/home/kwadwobro/src/blender-deps/OpenImageIO-1.1.10 4234 + _inst=/opt/lib/oiio-1.1.10 4235 + _inst_shortcut=/opt/lib/oiio 4236 + magic_compile_check oiio-1.1.10 12 Page 95

jack_xv.txt 4237 + '[' -f /opt/lib/.oiio-1.1.10-magiccheck-12 ']' 4238 + return 0 4239 + '[' 0 -eq 1 -o false == true ']' 4240 + '[' '!' -d /opt/lib/oiio-1.1.10 ']' 4241 + INFO 'Own OpenImageIO-1.1.10 is up to date, nothing to do!' 4242 + _echo 'Own OpenImageIO-1.1.10 is up to date, nothing to do!' 4243 + '[' 'XOwn OpenImageIO-1.1.10 is up to date, nothing to do!' = X-n ']' 4244 + printf '%s\n' 'Own OpenImageIO-1.1.10 is up to date, nothing to do!' 4245 Own OpenImageIO-1.1.10 is up to date, nothing to do! 4246 + INFO 'If you want to force rebuild of this lib, use the --force-oiio option.' 4247 + _echo 'If you want to force rebuild of this lib, use the --force-oiio option.' 4248 + '[' 'XIf you want to force rebuild of this lib, use the --force-oiio option.' = X-n ']' 4249 + printf '%s\n' 'If you want to force rebuild of this lib, use the --forceoiio option.' 4250 If you want to force rebuild of this lib, use the --force-oiio option. 4251 + run_ldconfig oiio 4252 + _lib_path=/opt/lib/oiio/lib 4253 + _ldconf_path=/etc/ld.so.conf.d/oiio.conf 4254 + INFO '' 4255 + _echo '' 4256 + '[' X = X-n ']' 4257 + printf '%s\n' '' 4258 4259 + INFO 'Running ldconfig for oiio...' 4260 + _echo 'Running ldconfig for oiio...' 4261 + '[' 'XRunning ldconfig for oiio...' = X-n ']' 4262 + printf '%s\n' 'Running ldconfig for oiio...' 4263 Running ldconfig for oiio... 4264 + sudo sh -c 'echo "/opt/lib/oiio/lib" > /etc/ld.so.conf.d/oiio.conf' 4265 + sudo /sbin/ldconfig 4266 + INFO '' 4267 + _echo '' 4268 + '[' X = X-n ']' 4269 + printf '%s\n' '' 4270 4271 + have_llvm=false 4272 + false 4273 + INFO '' 4274 + _echo '' 4275 + '[' X = X-n ']' 4276 + printf '%s\n' '' 4277 4278 + check_package_version_ge_DEB llvm-dev 3.0 4279 apt-cache policy $1 | grep 'Candidate:' | sed -r 's/.*:\s*([0-9]+:)?(([0-9]+ \.?)+).*/\2/' Page 96

jack_xv.txt 4280 ++ apt-cache policy llvm-dev 4281 ++ sed -r 's/.*:\s*([0-9]+:)?(([0-9]+\.?)+).*/\2/' 4282 ++ grep Candidate: 4283 + v=2.9 4284 + '[' -z 2.9 ']' 4285 + version_ge 2.9 3.0 4286 + version_eq 2.9 3.0 4287 + backIFS=' 4288 ' 4289 + IFS=. 4290 + arr1=($1) 4291 + arr2=($2) 4292 + ret=1 4293 + count1=2 4294 + count2=2 4295 + '[' 2 -ge 2 ']' 4296 + _t=2 4297 + count1=2 4298 + count2=2 4299 + arr1=($2) 4300 + arr2=($1) 4301 + ret=0 4302 + (( i=0 )) 4303 + (( 0 < 2 )) 4304 + '[' 3 -ne 2 ']' 4305 + ret=1 4306 + break 4307 + (( i=2 )) 4308 + (( 2 < 2 )) 4309 + IFS=' 4310 ' 4311 + return 1 4312 _echo "$1" "$2" | sort --version-sort | head --lines=1) 4313 _echo "$1" "$2" | sort --version-sort | head --lines=1 4314 ++ _echo 2.9 3.0 4315 ++ '[' X2.9 = X-n ']' 4316 ++ printf '%s\n' 2.9 3.0 4317 ++ head --lines=1 4318 ++ sort --version-sort 4319 + '[' 1 -eq 1 -a 2.9 = 2.9 ']' 4320 + return 1 4321 + return 1 4322 + '[' 1 -eq 0 ']' 4323 + install_packages_DEB libffi-dev 4324 + sudo apt-get install -y --force-yes libffi-dev 4325 Reading package lists... 4326 Building dependency tree... 4327 Reading state information... Page 97

jack_xv.txt 4328 libffi-dev is already the newest version. 4329 0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded. 4330 + '[' 0 -ge 1 ']' 4331 dpkg -L libffi-dev | grep -e ".*/ffi.h" | sed -r 's/(.*)\/ffi.h/\1/' 4332 ++ dpkg -L libffi-dev 4333 ++ sed -r 's/(.*)\/ffi.h/\1/' 4334 ++ grep -e '.*/ffi.h' 4335 + _FFI_INCLUDE_DIR=/usr/include/i386-linux-gnu 4336 + INFO '' 4337 + _echo '' 4338 + '[' X = X-n ']' 4339 + printf '%s\n' '' 4340 4341 + compile_LLVM 4342 + llvm_magic=2 4343 + _init_llvm 4344 + _src=/home/kwadwobro/src/blender-deps/LLVM-3.1 4345 + _src_clang=/home/kwadwobro/src/blender-deps/CLANG-3.1 4346 + _inst=/opt/lib/llvm-3.1 4347 + _inst_shortcut=/opt/lib/llvm 4348 + magic_compile_check llvm-3.1 2 4349 + '[' -f /opt/lib/.llvm-3.1-magiccheck-2 ']' 4350 + return 0 4351 + '[' 0 -eq 1 -o false == true ']' 4352 + '[' '!' -d /opt/lib/llvm-3.1 ']' 4353 + INFO 'Own LLVM-3.1 (CLANG included) is up to date, nothing to do!' 4354 + _echo 'Own LLVM-3.1 (CLANG included) is up to date, nothing to do!' 4355 + '[' 'XOwn LLVM-3.1 (CLANG included) is up to date, nothing to do!' = X-n ']' 4356 + printf '%s\n' 'Own LLVM-3.1 (CLANG included) is up to date, nothing to do!' 4357 Own LLVM-3.1 (CLANG included) is up to date, nothing to do! 4358 + INFO 'If you want to force rebuild of this lib, use the --force-llvm option.' 4359 + _echo 'If you want to force rebuild of this lib, use the --force-llvm option.' 4360 + '[' 'XIf you want to force rebuild of this lib, use the --force-llvm option.' = X-n ']' 4361 + printf '%s\n' 'If you want to force rebuild of this lib, use the --forcellvm option.' 4362 If you want to force rebuild of this lib, use the --force-llvm option. 4363 + have_llvm=true 4364 + LLVM_VERSION_FOUND=3.1 4365 + false 4366 + true 4367 + INFO '' 4368 + _echo '' 4369 + '[' X = X-n ']' Page 98

jack_xv.txt 4370 + printf '%s\n' '' 4371 4372 + install_packages_DEB flex bison libtbb-dev 4373 + sudo apt-get install -y --force-yes flex bison libtbb-dev 4374 Reading package lists... 4375 Building dependency tree... 4376 Reading state information... 4377 bison is already the newest version. 4378 flex is already the newest version. 4379 libtbb-dev is already the newest version. 4380 0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded. 4381 + '[' 0 -ge 1 ']' 4382 + INFO '' 4383 + _echo '' 4384 + '[' X = X-n ']' 4385 + printf '%s\n' '' 4386 4387 + compile_OSL 4388 + osl_magic=11 4389 + _init_osl 4390 + _src=/home/kwadwobro/src/blender-deps/OpenShadingLanguage-1.3.2 4391 + _inst=/opt/lib/osl-1.3.2 4392 + _inst_shortcut=/opt/lib/osl 4393 + magic_compile_check osl-1.3.2 11 4394 + '[' -f /opt/lib/.osl-1.3.2-magiccheck-11 ']' 4395 + return 0 4396 + '[' 0 -eq 1 -o false == true ']' 4397 + '[' '!' -d /opt/lib/osl-1.3.2 ']' 4398 + INFO 'Own OpenShadingLanguage-1.3.2 is up to date, nothing to do!' 4399 + _echo 'Own OpenShadingLanguage-1.3.2 is up to date, nothing to do!' 4400 + '[' 'XOwn OpenShadingLanguage-1.3.2 is up to date, nothing to do!' = X-n ']' 4401 + printf '%s\n' 'Own OpenShadingLanguage-1.3.2 is up to date, nothing to do!' 4402 Own OpenShadingLanguage-1.3.2 is up to date, nothing to do! 4403 + INFO 'If you want to force rebuild of this lib, use the --force-osl option.' 4404 + _echo 'If you want to force rebuild of this lib, use the --force-osl option.' 4405 + '[' 'XIf you want to force rebuild of this lib, use the --force-osl option.' = X-n ']' 4406 + printf '%s\n' 'If you want to force rebuild of this lib, use the --forceosl option.' 4407 If you want to force rebuild of this lib, use the --force-osl option. 4408 + false 4409 + INFO '' 4410 + _echo '' 4411 + '[' X = X-n ']' Page 99

jack_xv.txt 4412 + printf '%s\n' '' 4413 4414 + false 4415 + compile_FFmpeg 4416 + ffmpeg_magic=3 4417 + _init_ffmpeg 4418 + _src=/home/kwadwobro/src/blender-deps/ffmpeg-1.0 4419 + _inst=/opt/lib/ffmpeg-1.0 4420 + _inst_shortcut=/opt/lib/ffmpeg 4421 + magic_compile_check ffmpeg-1.0 3 4422 + '[' -f /opt/lib/.ffmpeg-1.0-magiccheck-3 ']' 4423 + return 0 4424 + '[' 0 -eq 1 -o false == true ']' 4425 + '[' '!' -d /opt/lib/ffmpeg-1.0 ']' 4426 + INFO 'Own ffmpeg-1.0 is up to date, nothing to do!' 4427 + _echo 'Own ffmpeg-1.0 is up to date, nothing to do!' 4428 + '[' 'XOwn ffmpeg-1.0 is up to date, nothing to do!' = X-n ']' 4429 + printf '%s\n' 'Own ffmpeg-1.0 is up to date, nothing to do!' 4430 Own ffmpeg-1.0 is up to date, nothing to do! 4431 + INFO 'If you want to force rebuild of this lib, use the --force-ffmpeg option.' 4432 + _echo 'If you want to force rebuild of this lib, use the --force-ffmpeg option.' 4433 + '[' 'XIf you want to force rebuild of this lib, use the --force-ffmpeg option.' = X-n ']' 4434 + printf '%s\n' 'If you want to force rebuild of this lib, use the --forceffmpeg option.' 4435 If you want to force rebuild of this lib, use the --force-ffmpeg option. 4436 4437 print_info | tee BUILD_NOTES.txt 4438 + tee BUILD_NOTES.txt 4439 + print_info 4440 + INFO '' 4441 + _echo '' 4442 + '[' X = X-n ']' 4443 + printf '%s\n' '' 4444 + INFO '' 4445 + _echo '' 4446 + '[' X = X-n ']' 4447 + printf '%s\n' '' 4448 + INFO '****WARNING****' 4449 + _echo '****WARNING****' 4450 + '[' 'X****WARNING****' = X-n ']' 4451 + printf '%s\n' '****WARNING****' 4452 + INFO 'If you are experiencing issues building Blender, _*TRY A FRESH, CLEAN BUILD FIRST*_!' 4453 + _echo 'If you are experiencing issues building Blender, _*TRY A FRESH, CLEAN BUILD FIRST*_!' Page 100

jack_xv.txt 4454 + '[' 'XIf you are experiencing issues building Blender, _*TRY A FRESH, CLEAN BUILD FIRST*_!' = X-n ']' 4455 + printf '%s\n' 'If you are experiencing issues building Blender, _*TRY A FRESH, CLEAN BUILD FIRST*_!' 4456 + INFO 'The same goes for install_deps itself, if you encounter issues, please first erase everything in /home/kwadwobro/src/blender-deps and /opt/ lib' 4457 + _echo 'The same goes for install_deps itself, if you encounter issues, please first erase everything in /home/kwadwobro/src/blender-deps and /opt/ lib' 4458 + '[' 'XThe same goes for install_deps itself, if you encounter issues, please first erase everything in /home/kwadwobro/src/blender-deps and /opt/ lib' = X-n ']' 4459 + printf '%s\n' 'The same goes for install_deps itself, if you encounter issues, please first erase everything in /home/kwadwobro/src/blender-deps and /opt/lib' 4460 + INFO '(provided obviously you did not add anything yourself in those dirs! ), and run install_deps.sh again!' 4461 + _echo '(provided obviously you did not add anything yourself in those dirs!), and run install_deps.sh again!' 4462 + '[' 'X(provided obviously you did not add anything yourself in those dirs! ), and run install_deps.sh again!' = X-n ']' 4463 + printf '%s\n' '(provided obviously you did not add anything yourself in those dirs!), and run install_deps.sh again!' 4464 + INFO 'Often, changes in the libs built by this script, or in your distro package, cannot be handled simply, so...' 4465 + _echo 'Often, changes in the libs built by this script, or in your distro package, cannot be handled simply, so...' 4466 + '[' 'XOften, changes in the libs built by this script, or in your distro package, cannot be handled simply, so...' = X-n ']' 4467 + printf '%s\n' 'Often, changes in the libs built by this script, or in your distro package, cannot be handled simply, so...' 4468 + INFO '' 4469 + _echo '' 4470 + '[' X = X-n ']' 4471 + printf '%s\n' '' 4472 + INFO '' 4473 + _echo '' 4474 + '[' X = X-n ']' 4475 + printf '%s\n' '' 4476 + INFO 'If you'\''re using CMake add this to your configuration flags:' 4477 + _echo 'If you'\''re using CMake add this to your configuration flags:' 4478 + '[' 'XIf you'\''re using CMake add this to your configuration flags:' = Xn ']' 4479 + printf '%s\n' 'If you'\''re using CMake add this to your configuration flags:' 4480 + _buildargs= 4481 + false Page 101

jack_xv.txt 4482 + '[' -d /opt/lib/python-3.3 ']' 4483 + '[' -d /opt/lib/boost ']' 4484 + _1='-D BOOST_ROOT=/opt/lib/boost' 4485 + _2='-D Boost_NO_SYSTEM_PATHS=ON' 4486 + INFO ' -D BOOST_ROOT=/opt/lib/boost' 4487 + _echo ' -D BOOST_ROOT=/opt/lib/boost' 4488 + '[' 'X -D BOOST_ROOT=/opt/lib/boost' = X-n ']' 4489 + printf '%s\n' ' -D BOOST_ROOT=/opt/lib/boost' 4490 + INFO ' -D Boost_NO_SYSTEM_PATHS=ON' 4491 + _echo ' -D Boost_NO_SYSTEM_PATHS=ON' 4492 + '[' 'X -D Boost_NO_SYSTEM_PATHS=ON' = X-n ']' 4493 + printf '%s\n' ' -D Boost_NO_SYSTEM_PATHS=ON' 4494 + _buildargs=' -D BOOST_ROOT=/opt/lib/boost -D Boost_NO_SYSTEM_PATHS=ON' 4495 + '[' -d /opt/lib/openexr ']' 4496 + _1='-D OPENEXR_ROOT_DIR=/opt/lib/openexr' 4497 + INFO ' -D OPENEXR_ROOT_DIR=/opt/lib/openexr' 4498 + _echo ' -D OPENEXR_ROOT_DIR=/opt/lib/openexr' 4499 + '[' 'X -D OPENEXR_ROOT_DIR=/opt/lib/openexr' = X-n ']' 4500 + printf '%s\n' ' -D OPENEXR_ROOT_DIR=/opt/lib/openexr' 4501 + _buildargs=' -D BOOST_ROOT=/opt/lib/boost -D Boost_NO_SYSTEM_PATHS=ON -D OPENEXR_ROOT_DIR=/opt/lib/openexr' 4502 + _1='-D WITH_CYCLES_OSL=ON' 4503 + _2='-D WITH_LLVM=ON' 4504 + _3='-D LLVM_VERSION=3.1' 4505 + INFO ' -D WITH_CYCLES_OSL=ON' 4506 + _echo ' -D WITH_CYCLES_OSL=ON' 4507 + '[' 'X -D WITH_CYCLES_OSL=ON' = X-n ']' 4508 + printf '%s\n' ' -D WITH_CYCLES_OSL=ON' 4509 + INFO ' -D WITH_LLVM=ON' 4510 + _echo ' -D WITH_LLVM=ON' 4511 + '[' 'X -D WITH_LLVM=ON' = X-n ']' 4512 + printf '%s\n' ' -D WITH_LLVM=ON' 4513 + INFO ' -D LLVM_VERSION=3.1' 4514 + _echo ' -D LLVM_VERSION=3.1' 4515 + '[' 'X -D LLVM_VERSION=3.1' = X-n ']' 4516 + printf '%s\n' ' -D LLVM_VERSION=3.1' 4517 + _buildargs=' -D BOOST_ROOT=/opt/lib/boost -D Boost_NO_SYSTEM_PATHS=ON -D OPENEXR_ROOT_DIR=/opt/lib/openexr -D WITH_CYCLES_OSL=ON -D WITH_LLVM=ON -D LLVM_VERSION=3.1' 4518 + '[' -d /opt/lib/osl ']' 4519 + _1='-D CYCLES_OSL=/opt/lib/osl' 4520 + INFO ' -D CYCLES_OSL=/opt/lib/osl' 4521 + _echo ' -D CYCLES_OSL=/opt/lib/osl' 4522 + '[' 'X -D CYCLES_OSL=/opt/lib/osl' = X-n ']' 4523 + printf '%s\n' ' -D CYCLES_OSL=/opt/lib/osl' 4524 + _buildargs=' -D BOOST_ROOT=/opt/lib/boost -D Boost_NO_SYSTEM_PATHS=ON -D OPENEXR_ROOT_DIR=/opt/lib/openexr -D WITH_CYCLES_OSL=ON -D WITH_LLVM=ON -D LLVM_VERSION=3.1 -D CYCLES_OSL=/opt/lib/osl' Page 102

jack_xv.txt 4525 + '[' -d /opt/lib/llvm ']' 4526 + _1='-D LLVM_DIRECTORY=/opt/lib/llvm' 4527 + _2='-D LLVM_STATIC=ON' 4528 + INFO ' -D LLVM_DIRECTORY=/opt/lib/llvm' 4529 + _echo ' -D LLVM_DIRECTORY=/opt/lib/llvm' 4530 + '[' 'X -D LLVM_DIRECTORY=/opt/lib/llvm' = X-n ']' 4531 + printf '%s\n' ' -D LLVM_DIRECTORY=/opt/lib/llvm' 4532 + INFO ' -D LLVM_STATIC=ON' 4533 + _echo ' -D LLVM_STATIC=ON' 4534 + '[' 'X -D LLVM_STATIC=ON' = X-n ']' 4535 + printf '%s\n' ' -D LLVM_STATIC=ON' 4536 + _buildargs=' -D BOOST_ROOT=/opt/lib/boost -D Boost_NO_SYSTEM_PATHS=ON -D OPENEXR_ROOT_DIR=/opt/lib/openexr -D WITH_CYCLES_OSL=ON -D WITH_LLVM=ON -D LLVM_VERSION=3.1 -D CYCLES_OSL=/opt/lib/osl -D LLVM_DIRECTORY=/opt/lib/llvm -D LLVM_STATIC=ON' 4537 + false 4538 + _1='-D WITH_CODEC_FFMPEG=ON' 4539 4540 4541 ****WARNING**** 4542 If you are experiencing issues building Blender, _*TRY A FRESH, CLEAN BUILD FIRST*_! 4543 The same goes for install_deps itself, if you encounter issues, please first erase everything in /home/kwadwobro/src/blender-deps and /opt/lib 4544 (provided obviously you did not add anything yourself in those dirs!), and run install_deps.sh again! 4545 Often, changes in the libs built by this script, or in your distro package, cannot be handled simply, so... 4546 4547 4548 If you're using CMake add this to your configuration flags: 4549 -D BOOST_ROOT=/opt/lib/boost 4550 -D Boost_NO_SYSTEM_PATHS=ON 4551 -D OPENEXR_ROOT_DIR=/opt/lib/openexr 4552 -D WITH_CYCLES_OSL=ON 4553 -D WITH_LLVM=ON 4554 -D LLVM_VERSION=3.1 4555 -D CYCLES_OSL=/opt/lib/osl 4556 -D LLVM_DIRECTORY=/opt/lib/llvm 4557 -D LLVM_STATIC=ON 4558 print_info_ffmpeglink 4559 ++ print_info_ffmpeglink 4560 ++ '[' -z DEB ']' 4561 ++ _packages= 4562 ++ true 4563 ++ _packages=' libtheora-dev' 4564 ++ true 4565 ++ _packages=' libtheora-dev libvorbis-dev' Page 103

jack_xv.txt 4566 ++ true 4567 ++ _packages=' libtheora-dev libvorbis-dev libogg-dev' 4568 ++ false 4569 ++ false 4570 ++ false 4571 ++ true 4572 ++ _packages=' libtheora-dev libvorbis-dev libogg-dev libx264-dev' 4573 ++ true 4574 ++ _packages=' libtheora-dev libvorbis-dev libogg-dev libx264-dev libopenjpeg-dev' 4575 ++ '[' DEB = DEB ']' 4576 ++ print_info_ffmpeglink_DEB 4577 ++ false 4578 ++ gawk '{ printf(nlines ? ";%s" : "%s", gensub(/.*lib([^\/]+)\.so/, "\\1", "g", $0)); nlines++ }' 4579 ++ grep -e '.*\/lib[^\/]\+\.so' 4580 ++ dpkg -L libtheora-dev libvorbis-dev libogg-dev libx264-dev libopenjpegdev 4581 + _2='-D FFMPEG_LIBRARIES='\''avformat;avcodec;avutil;avdevice;swscale;rt;theoraenc;t heora;theoradec;vorbis;vorbisenc;vorbisfile;ogg;x264;openjpeg'\''' 4582 + INFO ' -D WITH_CODEC_FFMPEG=ON' 4583 + _echo ' -D WITH_CODEC_FFMPEG=ON' 4584 + '[' 'X -D WITH_CODEC_FFMPEG=ON' = X-n ']' 4585 + printf '%s\n' ' -D WITH_CODEC_FFMPEG=ON' 4586 + INFO ' -D FFMPEG_LIBRARIES='\''avformat;avcodec;avutil;avdevice;swscale;rt;theoraenc;t heora;theoradec;vorbis;vorbisenc;vorbisfile;ogg;x264;openjpeg'\''' 4587 + _echo ' -D FFMPEG_LIBRARIES='\''avformat;avcodec;avutil;avdevice;swscale;rt;theoraenc;t heora;theoradec;vorbis;vorbisenc;vorbisfile;ogg;x264;openjpeg'\''' 4588 + '[' 'X -D FFMPEG_LIBRARIES='\''avformat;avcodec;avutil;avdevice;swscale;rt;theoraenc;t heora;theoradec;vorbis;vorbisenc;vorbisfile;ogg;x264;openjpeg'\''' = X-n ']' 4589 + printf '%s\n' ' -D FFMPEG_LIBRARIES='\''avformat;avcodec;avutil;avdevice;swscale;rt;theoraenc;t heora;theoradec;vorbis;vorbisenc;vorbisfile;ogg;x264;openjpeg'\''' 4590 + _buildargs=' -D BOOST_ROOT=/opt/lib/boost -D Boost_NO_SYSTEM_PATHS=ON -D OPENEXR_ROOT_DIR=/opt/lib/openexr -D WITH_CYCLES_OSL=ON -D WITH_LLVM=ON -D LLVM_VERSION=3.1 -D CYCLES_OSL=/opt/lib/osl -D LLVM_DIRECTORY=/opt/lib/llvm -D LLVM_STATIC=ON -D WITH_CODEC_FFMPEG=ON -D FFMPEG_LIBRARIES='\''avformat;avcodec;avutil;avdevice;swscale;rt;theoraenc;t heora;theoradec;vorbis;vorbisenc;vorbisfile;ogg;x264;openjpeg'\''' 4591 + '[' -d /opt/lib/ffmpeg ']' 4592 + _1='-D FFMPEG=/opt/lib/ffmpeg' 4593 + INFO ' -D FFMPEG=/opt/lib/ffmpeg' 4594 + _echo ' -D FFMPEG=/opt/lib/ffmpeg' 4595 + '[' 'X -D FFMPEG=/opt/lib/ffmpeg' = X-n ']' Page 104

jack_xv.txt 4596 + printf '%s\n' ' -D FFMPEG=/opt/lib/ffmpeg' 4597 + _buildargs=' -D BOOST_ROOT=/opt/lib/boost -D Boost_NO_SYSTEM_PATHS=ON -D OPENEXR_ROOT_DIR=/opt/lib/openexr -D WITH_CYCLES_OSL=ON -D WITH_LLVM=ON -D LLVM_VERSION=3.1 -D CYCLES_OSL=/opt/lib/osl -D LLVM_DIRECTORY=/opt/lib/llvm -D LLVM_STATIC=ON -D WITH_CODEC_FFMPEG=ON -D FFMPEG_LIBRARIES='\''avformat;avcodec;avutil;avdevice;swscale;rt;theoraenc;t heora;theoradec;vorbis;vorbisenc;vorbisfile;ogg;x264;openjpeg'\'' -D FFMPEG=/opt/lib/ffmpeg' 4598 + INFO '' 4599 + _echo '' 4600 + '[' X = X-n ']' 4601 + printf '%s\n' '' 4602 + INFO 'Or even simpler, just run (in your blender-source dir):' 4603 + _echo 'Or even simpler, just run (in your blender-source dir):' 4604 + '[' 'XOr even simpler, just run (in your blender-source dir):' = X-n ']' 4605 + printf '%s\n' 'Or even simpler, just run (in your blender-source dir):' 4606 + INFO ' make -j2 BUILD_CMAKE_ARGS=" -D BOOST_ROOT=/opt/lib/boost -D Boost_NO_SYSTEM_PATHS=ON -D OPENEXR_ROOT_DIR=/opt/lib/openexr -D WITH_CYCLES_OSL=ON -D WITH_LLVM=ON -D LLVM_VERSION=3.1 -D CYCLES_OSL=/opt/ lib/osl -D LLVM_DIRECTORY=/opt/lib/llvm -D LLVM_STATIC=ON -D WITH_CODEC_FFMPEG=ON -D FFMPEG_LIBRARIES='\''avformat;avcodec;avutil;avdevice;swscale;rt;theoraenc;t heora;theoradec;vorbis;vorbisenc;vorbisfile;ogg;x264;openjpeg'\'' -D FFMPEG=/opt/lib/ffmpeg"' 4607 + _echo ' make -j2 BUILD_CMAKE_ARGS=" -D BOOST_ROOT=/opt/lib/boost -D Boost_NO_SYSTEM_PATHS=ON -D OPENEXR_ROOT_DIR=/opt/lib/openexr -D WITH_CYCLES_OSL=ON -D WITH_LLVM=ON -D LLVM_VERSION=3.1 -D CYCLES_OSL=/opt/ lib/osl -D LLVM_DIRECTORY=/opt/lib/llvm -D LLVM_STATIC=ON -D WITH_CODEC_FFMPEG=ON -D FFMPEG_LIBRARIES='\''avformat;avcodec;avutil;avdevice;swscale;rt;theoraenc;t heora;theoradec;vorbis;vorbisenc;vorbisfile;ogg;x264;openjpeg'\'' -D FFMPEG=/opt/lib/ffmpeg"' 4608 + '[' 'X make -j2 BUILD_CMAKE_ARGS=" -D BOOST_ROOT=/opt/lib/boost -D Boost_NO_SYSTEM_PATHS=ON -D OPENEXR_ROOT_DIR=/opt/lib/openexr -D WITH_CYCLES_OSL=ON -D WITH_LLVM=ON -D LLVM_VERSION=3.1 -D CYCLES_OSL=/opt/ lib/osl -D LLVM_DIRECTORY=/opt/lib/llvm -D LLVM_STATIC=ON -D WITH_CODEC_FFMPEG=ON -D FFMPEG_LIBRARIES='\''avformat;avcodec;avutil;avdevice;swscale;rt;theoraenc;t heora;theoradec;vorbis;vorbisenc;vorbisfile;ogg;x264;openjpeg'\'' -D FFMPEG=/opt/lib/ffmpeg"' = X-n ']' 4609 + printf '%s\n' ' make -j2 BUILD_CMAKE_ARGS=" -D BOOST_ROOT=/opt/lib/boost -D Boost_NO_SYSTEM_PATHS=ON -D OPENEXR_ROOT_DIR=/opt/lib/openexr -D WITH_CYCLES_OSL=ON -D WITH_LLVM=ON -D LLVM_VERSION=3.1 -D CYCLES_OSL=/opt/ lib/osl -D LLVM_DIRECTORY=/opt/lib/llvm -D LLVM_STATIC=ON -D WITH_CODEC_FFMPEG=ON -D FFMPEG_LIBRARIES='\''avformat;avcodec;avutil;avdevice;swscale;rt;theoraenc;t heora;theoradec;vorbis;vorbisenc;vorbisfile;ogg;x264;openjpeg'\'' -D FFMPEG=/opt/lib/ffmpeg"' Page 105

jack_xv.txt 4610 + 4611 + 4612 + 4613 + 4614 + 4615 + 4616 + 4617 + 4618 + 4619 + 4620 + 4621 + 4622 + 4623 + 4624 + 4625 + 4626 + 4627 + 4628 + 4629 + 4630 + 4631 + 4632 + 4633 + 4634 + 4635 + 4636 + 4637 + 4638 + 4639 + 4640 + 4641 + 4642 + 4643 + 4644 + 4645 + 4646 + 4647 + 4648 + 4649 + 4650 + 4651 + 4652 + 4653 + 4654 + 4655 + 4656 + 4657 + INFO '' _echo '' '[' X = X-n ']' printf '%s\n' '' INFO 'If you'\''re using SCons add this to your user-config:' _echo 'If you'\''re using SCons add this to your user-config:' '[' 'XIf you'\''re using SCons add this to your user-config:' = X-n ']' printf '%s\n' 'If you'\''re using SCons add this to your user-config:' '[' -d /opt/lib/python-3.3 ']' false INFO 'WITH_BF_OCIO = True' _echo 'WITH_BF_OCIO = True' '[' 'XWITH_BF_OCIO = True' = X-n ']' printf '%s\n' 'WITH_BF_OCIO = True' '[' -d /opt/lib/ocio ']' INFO 'BF_OCIO = '\''/opt/lib/ocio'\''' _echo 'BF_OCIO = '\''/opt/lib/ocio'\''' '[' 'XBF_OCIO = '\''/opt/lib/ocio'\''' = X-n ']' printf '%s\n' 'BF_OCIO = '\''/opt/lib/ocio'\''' INFO 'WITH_BF_STATICOCIO = True' _echo 'WITH_BF_STATICOCIO = True' '[' 'XWITH_BF_STATICOCIO = True' = X-n ']' printf '%s\n' 'WITH_BF_STATICOCIO = True' '[' -d /opt/lib/openexr ']' INFO 'BF_OPENEXR = '\''/opt/lib/openexr'\''' _echo 'BF_OPENEXR = '\''/opt/lib/openexr'\''' '[' 'XBF_OPENEXR = '\''/opt/lib/openexr'\''' = X-n ']' printf '%s\n' 'BF_OPENEXR = '\''/opt/lib/openexr'\''' INFO 'WITH_BF_STATICOPENEXR = True' _echo 'WITH_BF_STATICOPENEXR = True' '[' 'XWITH_BF_STATICOPENEXR = True' = X-n ']' printf '%s\n' 'WITH_BF_STATICOPENEXR = True' INFO 'WITH_BF_OIIO = True' _echo 'WITH_BF_OIIO = True' '[' 'XWITH_BF_OIIO = True' = X-n ']' printf '%s\n' 'WITH_BF_OIIO = True' '[' -d /opt/lib/oiio ']' INFO 'BF_OIIO = '\''/opt/lib/oiio'\''' _echo 'BF_OIIO = '\''/opt/lib/oiio'\''' '[' 'XBF_OIIO = '\''/opt/lib/oiio'\''' = X-n ']' printf '%s\n' 'BF_OIIO = '\''/opt/lib/oiio'\''' INFO 'WITH_BF_CYCLES = True' _echo 'WITH_BF_CYCLES = True' '[' 'XWITH_BF_CYCLES = True' = X-n ']' printf '%s\n' 'WITH_BF_CYCLES = True' '[' -d /opt/lib/osl ']' INFO 'BF_OSL = '\''/opt/lib/osl'\''' _echo 'BF_OSL = '\''/opt/lib/osl'\''' Page 106

jack_xv.txt 4658 + '[' 'XBF_OSL = '\''/opt/lib/osl'\''' = X-n ']' 4659 + printf '%s\n' 'BF_OSL = '\''/opt/lib/osl'\''' 4660 + INFO 'WITH_BF_BOOST = True' 4661 + _echo 'WITH_BF_BOOST = True' 4662 + '[' 'XWITH_BF_BOOST = True' = X-n ']' 4663 + printf '%s\n' 'WITH_BF_BOOST = True' 4664 + '[' -d /opt/lib/boost ']' 4665 + INFO 'BF_BOOST = '\''/opt/lib/boost'\''' 4666 + _echo 'BF_BOOST = '\''/opt/lib/boost'\''' 4667 + '[' 'XBF_BOOST = '\''/opt/lib/boost'\''' = X-n ']' 4668 + printf '%s\n' 'BF_BOOST = '\''/opt/lib/boost'\''' 4669 + false 4670 + _ffmpeg_list_sep=' ' 4671 + '[' -d /opt/lib/ffmpeg ']' 4672 + INFO 'BF_FFMPEG = '\''/opt/lib/ffmpeg'\''' 4673 + _echo 'BF_FFMPEG = '\''/opt/lib/ffmpeg'\''' 4674 + '[' 'XBF_FFMPEG = '\''/opt/lib/ffmpeg'\''' = X-n ']' 4675 + printf '%s\n' 'BF_FFMPEG = '\''/opt/lib/ffmpeg'\''' 4676 + false 4677 -D WITH_CODEC_FFMPEG=ON 4678 -D FFMPEG_LIBRARIES='avformat;avcodec;avutil;avdevice;swscale;rt;theoraenc;theo ra;theoradec;vorbis;vorbisenc;vorbisfile;ogg;x264;openjpeg' 4679 -D FFMPEG=/opt/lib/ffmpeg 4680 4681 Or even simpler, just run (in your blender-source dir): 4682 make -j2 BUILD_CMAKE_ARGS=" -D BOOST_ROOT=/opt/lib/boost -D Boost_NO_SYSTEM_PATHS=ON -D OPENEXR_ROOT_DIR=/opt/lib/openexr -D WITH_CYCLES_OSL=ON -D WITH_LLVM=ON -D LLVM_VERSION=3.1 -D CYCLES_OSL=/opt/ lib/osl -D LLVM_DIRECTORY=/opt/lib/llvm -D LLVM_STATIC=ON -D WITH_CODEC_FFMPEG=ON -D FFMPEG_LIBRARIES='avformat;avcodec;avutil;avdevice;swscale;rt;theoraenc;theo ra;theoradec;vorbis;vorbisenc;vorbisfile;ogg;x264;openjpeg' -D FFMPEG=/opt/ lib/ffmpeg" 4683 4684 If you're using SCons add this to your user-config: 4685 WITH_BF_OCIO = True 4686 BF_OCIO = '/opt/lib/ocio' 4687 WITH_BF_STATICOCIO = True 4688 BF_OPENEXR = '/opt/lib/openexr' 4689 WITH_BF_STATICOPENEXR = True 4690 WITH_BF_OIIO = True 4691 BF_OIIO = '/opt/lib/oiio' 4692 WITH_BF_CYCLES = True 4693 BF_OSL = '/opt/lib/osl' 4694 WITH_BF_BOOST = True 4695 BF_BOOST = '/opt/lib/boost' 4696 BF_FFMPEG = '/opt/lib/ffmpeg' Page 107

jack_xv.txt 4697 print_info_ffmpeglink 4698 ++ print_info_ffmpeglink 4699 ++ '[' -z DEB ']' 4700 ++ _packages= 4701 ++ true 4702 ++ _packages=' libtheora-dev' 4703 ++ true 4704 ++ _packages=' libtheora-dev libvorbis-dev' 4705 ++ true 4706 ++ _packages=' libtheora-dev libvorbis-dev libogg-dev' 4707 ++ false 4708 ++ false 4709 ++ false 4710 ++ true 4711 ++ _packages=' libtheora-dev libvorbis-dev libogg-dev libx264-dev' 4712 ++ true 4713 ++ _packages=' libtheora-dev libvorbis-dev libogg-dev libx264-dev libopenjpeg-dev' 4714 ++ '[' DEB = DEB ']' 4715 ++ print_info_ffmpeglink_DEB 4716 ++ false 4717 ++ gawk '{ printf(nlines ? " %s" : "%s", gensub(/.*lib([^\/]+)\.so/, "\\1", "g", $0)); nlines++ }' 4718 ++ grep -e '.*\/lib[^\/]\+\.so' 4719 ++ dpkg -L libtheora-dev libvorbis-dev libogg-dev libx264-dev libopenjpegdev 4720 + INFO 'BF_FFMPEG_LIB = '\''avformat avcodec swscale avutil avdevice theoraenc theora theoradec vorbis vorbisenc vorbisfile ogg x264 openjpeg'\''' 4721 + _echo 'BF_FFMPEG_LIB = '\''avformat avcodec swscale avutil avdevice theoraenc theora theoradec vorbis vorbisenc vorbisfile ogg x264 openjpeg'\''' 4722 + '[' 'XBF_FFMPEG_LIB = '\''avformat avcodec swscale avutil avdevice theoraenc theora theoradec vorbis vorbisenc vorbisfile ogg x264 openjpeg'\''' = X-n ']' 4723 + printf '%s\n' 'BF_FFMPEG_LIB = '\''avformat avcodec swscale avutil avdevice theoraenc theora theoradec vorbis vorbisenc vorbisfile ogg x264 openjpeg'\''' 4724 + false 4725 + INFO 'WITH_BF_3DMOUSE = False' 4726 + _echo 'WITH_BF_3DMOUSE = False' 4727 + '[' 'XWITH_BF_3DMOUSE = False' = X-n ']' 4728 + printf '%s\n' 'WITH_BF_3DMOUSE = False' 4729 + false 4730 + INFO '' 4731 + _echo '' 4732 + '[' X = X-n ']' 4733 + printf '%s\n' '' Page 108

jack_xv.txt 4734 + INFO 'NOTE: static build with scons are very tricky to set-up, if you choose that option' 4735 + _echo 'NOTE: static build with scons are very tricky to set-up, if you choose that option' 4736 + '[' 'XNOTE: static build with scons are very tricky to set-up, if you choose that option' = X-n ']' 4737 + printf '%s\n' 'NOTE: static build with scons are very tricky to set-up, if you choose that option' 4738 + INFO ' you will likely have to edit these settings manually!' 4739 + _echo ' you will likely have to edit these settings manually!' 4740 + '[' 'X you will likely have to edit these settings manually!' = X-n ']' 4741 + printf '%s\n' ' you will likely have to edit these settings manually!' 4742 + INFO '' 4743 + _echo '' 4744 + '[' X = X-n ']' 4745 + printf '%s\n' '' 4746 BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice theoraenc theora theoradec vorbis vorbisenc vorbisfile ogg x264 openjpeg' 4747 WITH_BF_3DMOUSE = False 4748 4749 NOTE: static build with scons are very tricky to set-up, if you choose that option 4750 you will likely have to edit these settings manually! 4751 4752 INFO "" 4753 + INFO '' 4754 + _echo '' 4755 + '[' X = X-n ']' 4756 + printf '%s\n' '' 4757 4758 INFO "This information has been written to BUILD_NOTES.txt" 4759 + INFO 'This information has been written to BUILD_NOTES.txt' 4760 + _echo 'This information has been written to BUILD_NOTES.txt' 4761 + '[' 'XThis information has been written to BUILD_NOTES.txt' = X-n ']' 4762 + printf '%s\n' 'This information has been written to BUILD_NOTES.txt' 4763 This information has been written to BUILD_NOTES.txt 4764 INFO "" 4765 + INFO '' 4766 + _echo '' 4767 + '[' X = X-n ']' 4768 + printf '%s\n' '' 4769 4770 4771 # Switch back to user language. 4772 LANG=LANG_BACK 4773 + LANG=LANG_BACK Page 109

jack_xv.txt 4774 export LANG 4775 + export LANG 4776

Page 110

You might also like