AcademySoftwareFoundation / openexr

The OpenEXR project provides the specification and reference implementation of the EXR file format, the professional-grade image storage format of the motion picture industry.
http://www.openexr.com/
BSD 3-Clause "New" or "Revised" License
1.63k stars 619 forks source link

g++ -pthread -shared -L/opt/lib/bz2/lib -L/opt/lib/lzma/lib -L/opt/lib/ssl/lib -L/opt/lib/zlib/lib -L/opt/lib/libc6/lib -L/opt/lib/ncurses/lib -L/opt/lib/gpm/lib -L/opt/lib/sqlite/lib -L/opt/lib/readline/lib -Wl,--version-script=python.map build/temp.linux-x86_64-3.5/OpenEXR.o -L/usr/lib -L/usr/local/lib -L/opt/local/lib -L/opt/homebrew/opt/openexr/lib -L/opt/homebrew/opt/imath/lib -lIex -lHalf -lImath -lIlmImf -lz -o build/lib.linux-x86_64-3.5/OpenEXR.cpython-35m-x86_64-linux-gnu.so /usr/bin/ld: cannot open linker script file python.map: No such file or directory #1602

Closed monajalal closed 10 months ago

monajalal commented 10 months ago
root@fae597dbdb79:/home/pip-openexr# /home/blender-2.79a-linux-glibc219-x86_64/2.79/python/bin/python3.5m setup.py install
Looking for libOpenEXR...
running install
running bdist_egg
running egg_info
writing dependency_links to OpenEXR.egg-info/dependency_links.txt
writing top-level names to OpenEXR.egg-info/top_level.txt
writing OpenEXR.egg-info/PKG-INFO
writing manifest file 'OpenEXR.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
building 'OpenEXR' extension
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DPYOPENEXR_VERSION_MAJOR=1 -DPYOPENEXR_VERSION_MINOR=3 -DPYOPENEXR_VERSION_PATCH=10 -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/home/blender-2.79a-linux-glibc219-x86_64/2.79/python/include/python3.5m -c OpenEXR.cpp -o build/temp.linux-x86_64-3.5/OpenEXR.o -I/home/blender-2.79a-linux-glibc219-x86_64/2.79/python/include/python3.5m -I/usr/local/include/python3.5m/
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
In file included from /usr/include/OpenEXR/ImathBox.h:65:0,
                 from /usr/include/OpenEXR/ImfBoxAttribute.h:50,
                 from OpenEXR.cpp:40:
/usr/include/OpenEXR/ImathVec.h:228:34: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
     const Vec2 & normalizeExc () throw (IEX_NAMESPACE::MathExc);
                                  ^~~~~
/usr/include/OpenEXR/ImathVec.h:232:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
     Vec2<T>  normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                     ^~~~~
/usr/include/OpenEXR/ImathVec.h:440:34: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
     const Vec3 & normalizeExc () throw (IEX_NAMESPACE::MathExc);
                                  ^~~~~
/usr/include/OpenEXR/ImathVec.h:444:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
     Vec3<T>  normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                     ^~~~~
/usr/include/OpenEXR/ImathVec.h:622:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
     const Vec4 &    normalizeExc () throw (IEX_NAMESPACE::MathExc);
                                     ^~~~~
/usr/include/OpenEXR/ImathVec.h:626:44: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
     Vec4<T>         normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                            ^~~~~
/usr/include/OpenEXR/ImathVec.h:714:30: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec2<short>::normalizeExc () throw (IEX_NAMESPACE::MathExc);
                              ^~~~~
/usr/include/OpenEXR/ImathVec.h:723:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec2<short>::normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                     ^~~~~
/usr/include/OpenEXR/ImathVec.h:738:28: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec2<int>::normalizeExc () throw (IEX_NAMESPACE::MathExc);
                            ^~~~~
/usr/include/OpenEXR/ImathVec.h:747:35: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec2<int>::normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                   ^~~~~
/usr/include/OpenEXR/ImathVec.h:762:30: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec3<short>::normalizeExc () throw (IEX_NAMESPACE::MathExc);
                              ^~~~~
/usr/include/OpenEXR/ImathVec.h:771:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec3<short>::normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                     ^~~~~
/usr/include/OpenEXR/ImathVec.h:786:28: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec3<int>::normalizeExc () throw (IEX_NAMESPACE::MathExc);
                            ^~~~~
/usr/include/OpenEXR/ImathVec.h:795:35: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec3<int>::normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                   ^~~~~
/usr/include/OpenEXR/ImathVec.h:809:30: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec4<short>::normalizeExc () throw (IEX_NAMESPACE::MathExc);
                              ^~~~~
/usr/include/OpenEXR/ImathVec.h:818:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec4<short>::normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                     ^~~~~
/usr/include/OpenEXR/ImathVec.h:833:28: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec4<int>::normalizeExc () throw (IEX_NAMESPACE::MathExc);
                            ^~~~~
/usr/include/OpenEXR/ImathVec.h:842:35: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec4<int>::normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                   ^~~~~
/usr/include/OpenEXR/ImathVec.h:1212:26: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec2<T>::normalizeExc () throw (IEX_NAMESPACE::MathExc)
                          ^~~~~
/usr/include/OpenEXR/ImathVec.h:1249:33: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec2<T>::normalizedExc () const throw (IEX_NAMESPACE::MathExc)
                                 ^~~~~
/usr/include/OpenEXR/ImathVec.h:1704:26: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec3<T>::normalizeExc () throw (IEX_NAMESPACE::MathExc)
                          ^~~~~
/usr/include/OpenEXR/ImathVec.h:1743:33: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec3<T>::normalizedExc () const throw (IEX_NAMESPACE::MathExc)
                                 ^~~~~
/usr/include/OpenEXR/ImathVec.h:2109:26: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec4<T>::normalizeExc () throw (IEX_NAMESPACE::MathExc)
                          ^~~~~
/usr/include/OpenEXR/ImathVec.h:2150:33: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec4<T>::normalizedExc () const throw (IEX_NAMESPACE::MathExc)
                                 ^~~~~
g++ -pthread -shared -L/opt/lib/bz2/lib -L/opt/lib/lzma/lib -L/opt/lib/ssl/lib -L/opt/lib/zlib/lib -L/opt/lib/libc6/lib -L/opt/lib/ncurses/lib -L/opt/lib/gpm/lib -L/opt/lib/sqlite/lib -L/opt/lib/readline/lib -Wl,--version-script=python.map build/temp.linux-x86_64-3.5/OpenEXR.o -L/usr/lib -L/usr/local/lib -L/opt/local/lib -L/opt/homebrew/opt/openexr/lib -L/opt/homebrew/opt/imath/lib -lIex -lHalf -lImath -lIlmImf -lz -o build/lib.linux-x86_64-3.5/OpenEXR.cpython-35m-x86_64-linux-gnu.so
/usr/bin/ld: cannot open linker script file python.map: No such file or directory
collect2: error: ld returned 1 exit status
error: command 'g++' failed with exit status 1

I added the followings to the extra_compile_args so it can find "Python.h" from the built-from-source Python 3.5.3

root@fae597dbdb79:/home/pip-openexr# /home/blender-2.79a-linux-glibc219-x86_64/2.79/python/bin/python3.5m setup.py install
Looking for libOpenEXR...
running install
running bdist_egg
running egg_info
writing dependency_links to OpenEXR.egg-info/dependency_links.txt
writing top-level names to OpenEXR.egg-info/top_level.txt
writing OpenEXR.egg-info/PKG-INFO
writing manifest file 'OpenEXR.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
building 'OpenEXR' extension
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DPYOPENEXR_VERSION_MAJOR=1 -DPYOPENEXR_VERSION_MINOR=3 -DPYOPENEXR_VERSION_PATCH=10 -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/home/blender-2.79a-linux-glibc219-x86_64/2.79/python/include/python3.5m -c OpenEXR.cpp -o build/temp.linux-x86_64-3.5/OpenEXR.o -I/home/blender-2.79a-linux-glibc219-x86_64/2.79/python/include/python3.5m -I/usr/local/include/python3.5m/
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
In file included from /usr/include/OpenEXR/ImathBox.h:65:0,
                 from /usr/include/OpenEXR/ImfBoxAttribute.h:50,
                 from OpenEXR.cpp:40:
/usr/include/OpenEXR/ImathVec.h:228:34: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
     const Vec2 & normalizeExc () throw (IEX_NAMESPACE::MathExc);
                                  ^~~~~
/usr/include/OpenEXR/ImathVec.h:232:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
     Vec2<T>  normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                     ^~~~~
/usr/include/OpenEXR/ImathVec.h:440:34: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
     const Vec3 & normalizeExc () throw (IEX_NAMESPACE::MathExc);
                                  ^~~~~
/usr/include/OpenEXR/ImathVec.h:444:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
     Vec3<T>  normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                     ^~~~~
/usr/include/OpenEXR/ImathVec.h:622:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
     const Vec4 &    normalizeExc () throw (IEX_NAMESPACE::MathExc);
                                     ^~~~~
/usr/include/OpenEXR/ImathVec.h:626:44: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
     Vec4<T>         normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                            ^~~~~
/usr/include/OpenEXR/ImathVec.h:714:30: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec2<short>::normalizeExc () throw (IEX_NAMESPACE::MathExc);
                              ^~~~~
/usr/include/OpenEXR/ImathVec.h:723:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec2<short>::normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                     ^~~~~
/usr/include/OpenEXR/ImathVec.h:738:28: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec2<int>::normalizeExc () throw (IEX_NAMESPACE::MathExc);
                            ^~~~~
/usr/include/OpenEXR/ImathVec.h:747:35: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec2<int>::normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                   ^~~~~
/usr/include/OpenEXR/ImathVec.h:762:30: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec3<short>::normalizeExc () throw (IEX_NAMESPACE::MathExc);
                              ^~~~~
/usr/include/OpenEXR/ImathVec.h:771:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec3<short>::normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                     ^~~~~
/usr/include/OpenEXR/ImathVec.h:786:28: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec3<int>::normalizeExc () throw (IEX_NAMESPACE::MathExc);
                            ^~~~~
/usr/include/OpenEXR/ImathVec.h:795:35: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec3<int>::normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                   ^~~~~
/usr/include/OpenEXR/ImathVec.h:809:30: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec4<short>::normalizeExc () throw (IEX_NAMESPACE::MathExc);
                              ^~~~~
/usr/include/OpenEXR/ImathVec.h:818:37: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec4<short>::normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                     ^~~~~
/usr/include/OpenEXR/ImathVec.h:833:28: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec4<int>::normalizeExc () throw (IEX_NAMESPACE::MathExc);
                            ^~~~~
/usr/include/OpenEXR/ImathVec.h:842:35: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec4<int>::normalizedExc () const throw (IEX_NAMESPACE::MathExc);
                                   ^~~~~
/usr/include/OpenEXR/ImathVec.h:1212:26: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec2<T>::normalizeExc () throw (IEX_NAMESPACE::MathExc)
                          ^~~~~
/usr/include/OpenEXR/ImathVec.h:1249:33: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec2<T>::normalizedExc () const throw (IEX_NAMESPACE::MathExc)
                                 ^~~~~
/usr/include/OpenEXR/ImathVec.h:1704:26: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec3<T>::normalizeExc () throw (IEX_NAMESPACE::MathExc)
                          ^~~~~
/usr/include/OpenEXR/ImathVec.h:1743:33: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec3<T>::normalizedExc () const throw (IEX_NAMESPACE::MathExc)
                                 ^~~~~
/usr/include/OpenEXR/ImathVec.h:2109:26: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec4<T>::normalizeExc () throw (IEX_NAMESPACE::MathExc)
                          ^~~~~
/usr/include/OpenEXR/ImathVec.h:2150:33: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated]
 Vec4<T>::normalizedExc () const throw (IEX_NAMESPACE::MathExc)
                                 ^~~~~
g++ -pthread -shared -L/opt/lib/bz2/lib -L/opt/lib/lzma/lib -L/opt/lib/ssl/lib -L/opt/lib/zlib/lib -L/opt/lib/libc6/lib -L/opt/lib/ncurses/lib -L/opt/lib/gpm/lib -L/opt/lib/sqlite/lib -L/opt/lib/readline/lib -Wl,--version-script=python.map build/temp.linux-x86_64-3.5/OpenEXR.o -L/usr/lib -L/usr/local/lib -L/opt/local/lib -L/opt/homebrew/opt/openexr/lib -L/opt/homebrew/opt/imath/lib -lIex -lHalf -lImath -lIlmImf -lz -o build/lib.linux-x86_64-3.5/OpenEXR.cpython-35m-x86_64-linux-gnu.so
/usr/bin/ld: cannot open linker script file python.map: No such file or directory
collect2: error: ld returned 1 exit status
error: command 'g++' failed with exit status 1
cary-ilm commented 10 months ago

You appear to have an old distribution of OpenEXR. From the log you cited in #1581, it is using OpenEXr v1.3.9, which is ancient:

Collecting OpenEXR
  Using cached OpenEXR-1.3.9.tar.gz (13 kB)
monajalal commented 10 months ago

Thanks for your response. I close the issue for now but it is not clear to me how to build the Python package for OpenEXR using ASF