Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{vis}[intel/2018b] Blender v2.79b, OpenImageIO v1.8.16, OpenEXR v2.3.0, ... #7127

Merged
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
@@ -0,0 +1,59 @@
easyblock = 'CMakeMake'

name = 'Blender'
version = '2.79b'
versionsuffix = '-Python-%(pyver)s'

homepage = 'https://www.blender.org/'
description = """Blender is the free and open source 3D creation suite. It supports
the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering,
compositing and motion tracking, even video editing and game creation."""

toolchain = {'name': 'intel', 'version': '2018b'}

source_urls = ['http://download.blender.org/source/']
sources = [SOURCELOWER_TAR_GZ]
patches = ['Blender-2.77a_fix-ARRAY_SIZE-icc.patch']
checksums = [
'4c944c304a49e68ac687ea06f5758204def049b66dc211e1cffa1857716393bc', # blender-2.79b.tar.gz
'b333219ca380b08bf167bfdea33c0d23a4ed5c2cd05c5f391ca3b529fdc72a73', # Blender-2.77a_fix-ARRAY_SIZE-icc.patch
]

# disable SSE detection to give EasyBuild full control over optimization compiler flags being used
configopts = '-DWITH_CPU_SSE=OFF -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" '

# these are needed until extra dependencies are added for them to work
configopts += '-DWITH_INSTALL_PORTABLE=OFF '
configopts += '-DWITH_BUILDINFO=OFF '
configopts += '-DWITH_GAMEENGINE=OFF '
configopts += '-DWITH_SYSTEM_GLEW=OFF '

# Python paths
configopts += '-DPYTHON_VERSION=%(pyshortver)s -DPYTHON_LIBRARY=${EBROOTPYTHON}/lib/libpython%(pyshortver)sm.so '
configopts += '-DPYTHON_INCLUDE_DIR=${EBROOTPYTHON}/include/python%(pyshortver)sm '
configopts += '-DOPENEXR_INCLUDE_DIR=$EBROOTOPENEXR/include '

dependencies = [
('Python', '3.6.6'),
('Boost', '1.67.0'),
('libjpeg-turbo', '2.0.0'),
('zlib', '1.2.11'),
('X11', '20180604'),
('Mesa', '18.1.1'),
('libGLU', '9.0.0'),
('OpenImageIO', '1.8.16'), # required for cycles render engine
]

builddependencies = [('CMake', '3.12.1')]

separate_build_dir = 'True'

# use Intel software rasterizer by default (no GPU hardware acceleration)
modextravars = {'GALLIUM_DRIVER': 'swr'}

sanity_check_paths = {
'files': ['bin/blender'],
'dirs': []
}

moduleclass = 'vis'
25 changes: 25 additions & 0 deletions easybuild/easyconfigs/l/libGLU/libGLU-9.0.0-intel-2018b.eb
@@ -0,0 +1,25 @@
easyblock = 'ConfigureMake'

name = 'libGLU'
version = '9.0.0'

homepage = 'ftp://ftp.freedesktop.org/pub/mesa/glu/'
description = """The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. """

toolchain = {'name': 'intel', 'version': '2018b'}
toolchainopts = {'pic': True}

source_urls = ['ftp://ftp.freedesktop.org/pub/mesa/glu/']
sources = ['glu-%(version)s.tar.bz2']
checksums = ['1f7ad0d379a722fcbd303aa5650c6d7d5544fde83196b42a73d1193568a4df12']

dependencies = [
('Mesa', '18.1.1'),
]

sanity_check_paths = {
'files': ['lib/libGLU.%s' % SHLIB_EXT],
'dirs': [],
}

moduleclass = 'vis'
28 changes: 28 additions & 0 deletions easybuild/easyconfigs/o/OpenEXR/OpenEXR-2.3.0-intel-2018b.eb
@@ -0,0 +1,28 @@
easyblock = 'CMakeMake'

name = 'OpenEXR'
version = '2.3.0'

homepage = 'http://www.openexr.com/'
description = """OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic
for use in computer imaging applications"""

toolchain = {'name': 'intel', 'version': '2018b'}

source_urls = ['https://github.com/openexr/openexr/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['8243b7de12b52239fe9235a6aeb4e35ead2247833e4fbc41541774b222717933']

builddependencies = [('CMake', '3.12.1')]

dependencies = [('Boost', '1.67.0')]
Copy link
Member

@ocaisa ocaisa Nov 7, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw the error that required this dep was

boost Python is a required dependency when OPENEXR_BUILD_PYTHON_LIBS is set

so perhaps we should actually be unsetting OPENEXR_BUILD_PYTHON_LIBS or you should be including Python as a dependency.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that would indeed be a better solution.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@smoors Why not leave OPENEXR_BUILD_PYTHON_LIBS enabled and include Boost.Python as a dep? Seems like minimal effort...

That would also require the customary versionsuffix of course (and including Python as a direct dep to ensure %(pyver)s template is resolved).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could try that, but Boost.Python is version 1.68.0 for 2018b (annoyingly), whereas OpenImageIO and Blender use Boost 1.67.0 (Blender recommends this version).
it works as it is now, and I prefer not to add Python as it is not needed.


sanity_check_paths = {
ocaisa marked this conversation as resolved.
Show resolved Hide resolved
'files': ['lib/lib%s-%%(version_major)s_%%(version_minor)s.%s' % (x, SHLIB_EXT) for x in
['Half', 'Iex', 'IexMath', 'IlmImf', 'IlmImfUtil', 'IlmThread', 'Imath']] +
['bin/exr%s' % x for x in
['envmap', 'header', 'makepreview', 'maketiled', 'multipart', 'multiview', 'stdattr']],
'dirs': ['include/OpenEXR', 'share'],
}

moduleclass = 'vis'
@@ -0,0 +1,34 @@
easyblock = 'CMakeMake'

name = 'OpenImageIO'
version = '1.8.16'

homepage = 'http://openimageio.org/'
description = """OpenImageIO is a library for reading and writing images, and a bunch of related classes, utilities,
and applications."""

toolchain = {'name': 'intel', 'version': '2018b'}

source_urls = ['https://github.com/OpenImageIO/oiio/archive/']
sources = ['Release-%(version)s.tar.gz']
checksums = ['a67bb2800805bce10c055bc3f5ed32ce31498381fc1cf8e42e24d4193f3f935f']

dependencies = [
('Boost', '1.67.0'),
('libjpeg-turbo', '2.0.0'),
('libpng', '1.6.34'),
('LibTIFF', '4.0.9'),
('OpenEXR', '2.3.0'),
]
builddependencies = [('CMake', '3.12.1')]

separate_build_dir = True

configopts = '-DSTOP_ON_WARNING=OFF -DUSE_PYTHON=OFF'

sanity_check_paths = {
'files': ['bin/oiiotool', 'lib/libOpenImageIO.so', 'lib/libOpenImageIO_Util.so'],
'dirs': ['include/OpenImageIO', 'share'],
}

moduleclass = 'lib'