Installation on macOS 10.15.7 (Catalina) fails due to missing ImfIO.h
System information
- OS: macOS 10.15.7 (Catalina)
- Python: 3.9 (installed w/Homebrew)
- pip: 21.2.1
Steps to reproduce
-
pip3 install --no-cache-dir openexr
Expected
- package installs
Actual
$ pip3 install --no-cache-dir openexr
WARNING: Value for scheme.platlib does not match. Please report this to <https://github.com/pypa/pip/issues/10151>
distutils: /usr/local/lib/python3.9/site-packages
sysconfig: /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages
WARNING: Value for scheme.purelib does not match. Please report this to <https://github.com/pypa/pip/issues/10151>
distutils: /usr/local/lib/python3.9/site-packages
sysconfig: /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages
WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/10151>
distutils: /usr/local/include/python3.9/UNKNOWN
sysconfig: /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9/UNKNOWN
WARNING: Value for scheme.scripts does not match. Please report this to <https://github.com/pypa/pip/issues/10151>
distutils: /usr/local/bin
sysconfig: /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/bin
WARNING: Value for scheme.data does not match. Please report this to <https://github.com/pypa/pip/issues/10151>
distutils: /usr/local
sysconfig: /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9
WARNING: Additional context:
user = False
home = None
root = None
prefix = None
Collecting openexr
Downloading OpenEXR-1.3.2.tar.gz (10 kB)
Building wheels for collected packages: openexr
Building wheel for openexr (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/local/opt/[email protected]/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/fq/kpc5n9pn3qj506hzs3kdzg8w0000gn/T/pip-install-5urb1s5j/openexr_448b40b7d8964efa923c6e8d07e3255f/setup.py'"'"'; __file__='"'"'/private/var/folders/fq/kpc5n9pn3qj506hzs3kdzg8w0000gn/T/pip-install-5urb1s5j/openexr_448b40b7d8964efa923c6e8d07e3255f/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/fq/kpc5n9pn3qj506hzs3kdzg8w0000gn/T/pip-wheel-gj53ya6e
cwd: /private/var/folders/fq/kpc5n9pn3qj506hzs3kdzg8w0000gn/T/pip-install-5urb1s5j/openexr_448b40b7d8964efa923c6e8d07e3255f/
Complete output (222 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.macosx-10.15-x86_64-3.9
copying Imath.py -> build/lib.macosx-10.15-x86_64-3.9
running build_ext
building 'OpenEXR' extension
creating build/temp.macosx-10.15-x86_64-3.9
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/usr/local/opt/openssl/include -I/usr/local/opt/openssl/include -I/usr/local/opt/openssl/include -I/usr/local/opt/openssl/include -I/usr/local/opt/openssl/include -I/usr/include/OpenEXR -I/usr/local/include/OpenEXR -I/opt/local/include/OpenEXR -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c OpenEXR.cpp -o build/temp.macosx-10.15-x86_64-3.9/OpenEXR.o -g -DVERSION="1.3.2"
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
In file included from /usr/local/include/OpenEXR/ImathExc.h:47:
/usr/local/include/OpenEXR/IexBaseExc.h:73:33: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
IEX_EXPORT BaseExc (BaseExc &&be) throw();
^
/usr/local/include/OpenEXR/IexBaseExc.h:77:45: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
IEX_EXPORT BaseExc & operator = (BaseExc&& be) throw ();
^
/usr/local/include/OpenEXR/IexBaseExc.h:168:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, ArgExc, BaseExc) // Invalid arguments to a function call
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:168:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:170:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, LogicExc, BaseExc) // General error in a program's logic,
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:170:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:175:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, InputExc, BaseExc) // Invalid input data, e.g. from a file
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:175:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:177:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, IoExc, BaseExc) // Input or output operation failed
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:177:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:179:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, MathExc, BaseExc) // Arithmetic exception; more specific
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:179:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:183:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, ErrnoExc, BaseExc) // Base class for exceptions corresponding
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:183:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:188:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, NoImplExc, BaseExc) // Missing method exception e.g. from a
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:188:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:194:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, NullExc, BaseExc) // A pointer is inappropriately null.
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:194:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:196:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, TypeExc, BaseExc) // An object is an inappropriate type,
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:196:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:53:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IMATH_EXPORT, NullVecExc, ::IEX_NAMESPACE::MathExc)
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:53:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:56:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IMATH_EXPORT, InfPointExc, ::IEX_NAMESPACE::MathExc)
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:56:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:59:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IMATH_EXPORT, NullQuatExc, ::IEX_NAMESPACE::MathExc)
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:59:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:62:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IMATH_EXPORT, SingMatrixExc, ::IEX_NAMESPACE::MathExc)
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:62:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:65:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IMATH_EXPORT, ZeroScaleExc, ::IEX_NAMESPACE::MathExc)
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:65:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:68:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IMATH_EXPORT, IntVecNormalizeExc, ::IEX_NAMESPACE::MathExc)
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:68:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
/usr/local/include/OpenEXR/ImathVec.h:105:16: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
~Vec2 () = default;
^
/usr/local/include/OpenEXR/ImathVec.h:308:16: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
~Vec3 () = default;
^
/usr/local/include/OpenEXR/ImathVec.h:526:16: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
~Vec4 () = default;
^
OpenEXR.cpp:37:10: fatal error: 'ImfIO.h' file not found
#include <ImfIO.h>
^~~~~~~~~
35 warnings and 1 error generated.
error: command '/usr/bin/clang' failed with exit code 1
----------------------------------------
ERROR: Failed building wheel for openexr
Running setup.py clean for openexr
Failed to build openexr
Installing collected packages: openexr
WARNING: Value for scheme.headers does not match. Please report this to <https://github.com/pypa/pip/issues/10151>
distutils: /usr/local/include/python3.9/openexr
sysconfig: /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9/openexr
Running setup.py install for openexr ... error
ERROR: Command errored out with exit status 1:
command: /usr/local/opt/[email protected]/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/fq/kpc5n9pn3qj506hzs3kdzg8w0000gn/T/pip-install-5urb1s5j/openexr_448b40b7d8964efa923c6e8d07e3255f/setup.py'"'"'; __file__='"'"'/private/var/folders/fq/kpc5n9pn3qj506hzs3kdzg8w0000gn/T/pip-install-5urb1s5j/openexr_448b40b7d8964efa923c6e8d07e3255f/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/fq/kpc5n9pn3qj506hzs3kdzg8w0000gn/T/pip-record-zh8yd032/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/openexr
cwd: /private/var/folders/fq/kpc5n9pn3qj506hzs3kdzg8w0000gn/T/pip-install-5urb1s5j/openexr_448b40b7d8964efa923c6e8d07e3255f/
Complete output (222 lines):
running install
running build
running build_py
creating build
creating build/lib.macosx-10.15-x86_64-3.9
copying Imath.py -> build/lib.macosx-10.15-x86_64-3.9
running build_ext
building 'OpenEXR' extension
creating build/temp.macosx-10.15-x86_64-3.9
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/usr/local/opt/openssl/include -I/usr/local/opt/openssl/include -I/usr/local/opt/openssl/include -I/usr/local/opt/openssl/include -I/usr/local/opt/openssl/include -I/usr/include/OpenEXR -I/usr/local/include/OpenEXR -I/opt/local/include/OpenEXR -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/include/python3.9 -c OpenEXR.cpp -o build/temp.macosx-10.15-x86_64-3.9/OpenEXR.o -g -DVERSION="1.3.2"
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
In file included from /usr/local/include/OpenEXR/ImathExc.h:47:
/usr/local/include/OpenEXR/IexBaseExc.h:73:33: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
IEX_EXPORT BaseExc (BaseExc &&be) throw();
^
/usr/local/include/OpenEXR/IexBaseExc.h:77:45: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
IEX_EXPORT BaseExc & operator = (BaseExc&& be) throw ();
^
/usr/local/include/OpenEXR/IexBaseExc.h:168:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, ArgExc, BaseExc) // Invalid arguments to a function call
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:168:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:170:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, LogicExc, BaseExc) // General error in a program's logic,
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:170:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:175:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, InputExc, BaseExc) // Invalid input data, e.g. from a file
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:175:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:177:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, IoExc, BaseExc) // Input or output operation failed
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:177:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:179:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, MathExc, BaseExc) // Arithmetic exception; more specific
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:179:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:183:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, ErrnoExc, BaseExc) // Base class for exceptions corresponding
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:183:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:188:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, NoImplExc, BaseExc) // Missing method exception e.g. from a
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:188:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:194:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, NullExc, BaseExc) // A pointer is inappropriately null.
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:194:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:196:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IEX_EXPORT, TypeExc, BaseExc) // An object is an inappropriate type,
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
/usr/local/include/OpenEXR/IexBaseExc.h:196:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:53:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IMATH_EXPORT, NullVecExc, ::IEX_NAMESPACE::MathExc)
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:53:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:56:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IMATH_EXPORT, InfPointExc, ::IEX_NAMESPACE::MathExc)
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:56:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:59:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IMATH_EXPORT, NullQuatExc, ::IEX_NAMESPACE::MathExc)
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:59:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:62:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IMATH_EXPORT, SingMatrixExc, ::IEX_NAMESPACE::MathExc)
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:62:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:65:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IMATH_EXPORT, ZeroScaleExc, ::IEX_NAMESPACE::MathExc)
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:65:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:68:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
DEFINE_EXC_EXP (IMATH_EXPORT, IntVecNormalizeExc, ::IEX_NAMESPACE::MathExc)
^
/usr/local/include/OpenEXR/IexBaseExc.h:144:24: note: expanded from macro 'DEFINE_EXC_EXP'
exp name (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
In file included from /usr/local/include/OpenEXR/ImathVec.h:46:
/usr/local/include/OpenEXR/ImathExc.h:68:1: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
/usr/local/include/OpenEXR/IexBaseExc.h:146:36: note: expanded from macro 'DEFINE_EXC_EXP'
exp name& operator = (name &&other) throw(); \
^
In file included from OpenEXR.cpp:36:
In file included from /usr/local/include/OpenEXR/ImathBox.h:65:
/usr/local/include/OpenEXR/ImathVec.h:105:16: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
~Vec2 () = default;
^
/usr/local/include/OpenEXR/ImathVec.h:308:16: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
~Vec3 () = default;
^
/usr/local/include/OpenEXR/ImathVec.h:526:16: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
~Vec4 () = default;
^
OpenEXR.cpp:37:10: fatal error: 'ImfIO.h' file not found
#include <ImfIO.h>
^~~~~~~~~
35 warnings and 1 error generated.
error: command '/usr/bin/clang' failed with exit code 1
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/opt/[email protected]/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/fq/kpc5n9pn3qj506hzs3kdzg8w0000gn/T/pip-install-5urb1s5j/openexr_448b40b7d8964efa923c6e8d07e3255f/setup.py'"'"'; __file__='"'"'/private/var/folders/fq/kpc5n9pn3qj506hzs3kdzg8w0000gn/T/pip-install-5urb1s5j/openexr_448b40b7d8964efa923c6e8d07e3255f/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/fq/kpc5n9pn3qj506hzs3kdzg8w0000gn/T/pip-record-zh8yd032/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/openexr Check the logs for full command output.
I have been doing some investigation and found that doing the simple brew install openexr does not install the proper headers required to actually use OpenEXR :( ... You have to install ilmbase. However, you get a message saying it conflicts with headers found in the openexr package... ugh. So I naively just copied the headers such as ImFIO.h over to where openexr's include directory was as per https://github.com/AcademySoftwareFoundation/openexr/issues/231#issuecomment-357402189
This did not work and they are just not correctly synced or whatever. I got errors like error: virtual function 'tellg' has a different return type ('Imath_2_5::Int64' (aka 'unsigned long')) than the function it overrides (which has return type 'uint64_t' (aka 'unsigned long long')). This tells me that ilmbase is not the correct ilmbase for the openexr you can get through brew, so I am going to try to build openexr from source and post update here.
Alright! Installing openexr from their release 'cd openexr; mkdir build; cd build; cmake ..; make; sudo make install' got me halfway there. Then pip install openexr will still try to use that ilmbase but its is /wrong/ and does not match the current release of openexr. Just brew uninstall openexr and also manually install the current release of lmath just like openexr. By uninstalling ilmbase, you are forcing the command:
❯ clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/homebrew/Caskroom/miniforge/base/envs/tf/include -arch arm64 -fPIC -O2 -isystem /opt/homebrew/Caskroom/miniforge/base/envs/tf/include -arch arm64 -I/opt/homebrew/opt/ilmbase/include/OpenEXR -I/usr/include/OpenEXR -I/usr/local/include/OpenEXR -I/opt/local/include/OpenEXR -I/usr/include/Imath -I/usr/local/include/Imath -I/opt/local/include/Imath -I/opt/homebrew/Caskroom/miniforge/base/envs/tf/include/python3.10 -c OpenEXR.cpp -o build/temp.macosx-11.0-arm64-cpython-310/OpenEXR.o -g -DVERSION=\"1.3.9\" -std=c++11 -Wc++11-extensions -Wc++11-long-long
To not find your home-brewed ilmbase (see the part where it says -I/opt/homebrew/opt/ilmbase/include/OpenEXR and will now just auto find your manually install lmath. Now running pip install openexr works... this is more of a cask issue and don't know where this belongs but hope this helps someone.
Edit: Idk if it helped but I also made sure to do brew install zlib per the openexr instructions
This helped: https://github.com/AcademySoftwareFoundation/openexr/blob/main/INSTALL.md And this: https://github.com/AcademySoftwareFoundation/Imath/blob/main/INSTALL.md
I found a solution just in case anyone is having trouble installing this python binding. The root cause of this is that openexr bumped to version 3+ and refactored out Imath as a separate lib, and this binding is for version 2+.
First, install openexr@2 with home brew by:
brew install openexr@2
Then you need to clone this repo, and add the following path to setup.py:
include_dirs : '/opt/homebrew/opt/openexr@2/include/OpenEXR/', '/opt/homebrew/opt/ilmbase/include/OpenEXR'
library_dirs : '/opt/homebrew/opt/openexr@2/lib', '/opt/homebrew/opt/ilmbase/lib'
Then you should be able to install this binding by:
pip install ./openexrpython
It's because the GCC compiler couldn't find the suitable C++ heads and libraries. To solve it, here are some tips:
First, install OpenERR from brew, brew install openexr. For me, version 3+ works well. Here it's 3.1.7.
Next, open the setup.py and add those directories to the include_dirs and library_dirs.
include_dirs=['/usr/include/OpenEXR',
'/usr/local/include/OpenEXR',
'/opt/local/include/OpenEXR',
'/usr/include/Imath',
'/usr/local/include/Imath',
'/opt/local/include/Imath',
'/opt/homebrew/Cellar/openexr/3.1.7/include/OpenEXR', # specific to my system
'/opt/homebrew/Cellar/imath/3.1.7/include/Imath'], # specific to my system
library_dirs=['/usr/lib',
'/usr/local/lib',
'/opt/local/lib',
'/opt/homebrew/Cellar/openexr/3.1.7/lib', # specific to my system
'/opt/homebrew/Cellar/imath/3.1.7/lib'], # specific to my system
- Be careful you need both files from
openexrandimath.
Alternatively, you may also add those directories into system path.
brew install openexr
export CFLAGS="-I/opt/homebrew/Cellar/openexr/3.1.7/include/OpenEXR -I/opt/homebrew/Cellar/imath/3.1.7/include/Imath -std=c++11"
export LDFLAGS="-L/opt/homebrew/Cellar/openexr/3.1.7/lib -L/opt/homebrew/Cellar/imath/3.1.7/lib"
pip install OpenEXR
Enjoy🍺