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

openexr & ilmbase 2.4.0 #44807

Closed
wants to merge 14 commits into from
Closed

Conversation

equal-l2
Copy link
Contributor

@equal-l2 equal-l2 commented Oct 2, 2019

Created with brew bump-formula-pr.

@equal-l2 equal-l2 changed the title openexr 2.4.0 openexr & ilmbase 2.4.0 Oct 3, 2019
@equal-l2
Copy link
Contributor Author

equal-l2 commented Oct 3, 2019

It seems that ilmbase now requires C++11 (headers use C++11 grammar).
@fxcoudert How can I handle this?

@equal-l2
Copy link
Contributor Author

equal-l2 commented Oct 3, 2019

Adding ENV.cxx11 to all dependents?

@SMillerDev
Copy link
Member

@equal-l2 could you rebase on master? And isn't C11 the default nowadays?

@SMillerDev SMillerDev added the needs response Needs a response from the issue/PR author label Oct 19, 2019
@equal-l2
Copy link
Contributor Author

equal-l2 commented Oct 20, 2019

pkgconfig file generated by openexr seems broken.
AcademySoftwareFoundation/openexr#567

EDIT: resolved with AcademySoftwareFoundation/openexr#608.

@equal-l2 equal-l2 force-pushed the openexr-2.4.0 branch 2 times, most recently from c4794b3 to 8e81f81 Compare November 11, 2019 23:47
@equal-l2
Copy link
Contributor Author

equal-l2 commented Nov 13, 2019

ctl has something wrong in its linking phase:
EDIT: This can be fixed by appending -lImath to the linking flags.

[ 46%] Linking CXX shared library libIlmCtlMath.dylib
cd /tmp/ctl-20191112-70143-1hy43yz/CTL-ctl-1.5.2/build/lib/IlmCtlMath && /usr/local/Cellar/cmake/3.15.5/bin/cmake -E cmake_link_script CMakeFiles/IlmCtlMath.dir/link.txt --verbose=1
/usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++   -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -dynamiclib -Wl,-headerpad_max_install_names   -o libIlmImfCtl.dylib -install_name /tmp/ctl-20191112-70143-1hy43yz/CTL-ctl-1.5.2/build/lib/IlmImfCtl/libIlmImfCtl.dylib CMakeFiles/IlmImfCtl.dir/ImfCtlApplyTransforms.cpp.o CMakeFiles/IlmImfCtl.dir/ImfCtlCopyFunctionArg.cpp.o  -L/usr/local/Cellar/ilmbase/2.4.0/lib  -L/usr/local/Cellar/openexr/2.4.0/lib -Wl,-rpath,/usr/local/Cellar/ilmbase/2.4.0/lib -Wl,-rpath,/usr/local/Cellar/openexr/2.4.0/lib ../IlmCtl/libIlmCtl.1.5.0.dylib -lIlmImf -lIex -lIlmThread -lHalf 
/usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++   -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -dynamiclib -Wl,-headerpad_max_install_names   -compatibility_version 1.5.0 -current_version 1.5.0 -o libIlmCtlMath.1.5.0.dylib -install_name /tmp/ctl-20191112-70143-1hy43yz/CTL-ctl-1.5.2/build/lib/IlmCtlMath/libIlmCtlMath.1.5.0.dylib CMakeFiles/IlmCtlMath.dir/CtlColorSpace.cpp.o CMakeFiles/IlmCtlMath.dir/CtlLookupTable.cpp.o CMakeFiles/IlmCtlMath.dir/CtlRbfInterpolator.cpp.o  -L/usr/local/Cellar/ilmbase/2.4.0/lib -Wl,-rpath,/usr/local/Cellar/ilmbase/2.4.0/lib ../IlmCtl/libIlmCtl.1.5.0.dylib -lIex -lIlmThread -lHalf 
Undefined symbols for architecture x86_64:
  "Imath_2_4::SingMatrixExc::SingMatrixExc(char const*)", referenced from:
      Imath_2_4::Matrix44<float>::inverse(bool) const in CtlColorSpace.cpp.o
      Imath_2_4::Matrix44<float>::gjInverse(bool) const in CtlColorSpace.cpp.o
  "Imath_2_4::SingMatrixExc::~SingMatrixExc()", referenced from:
      Imath_2_4::Matrix44<float>::inverse(bool) const in CtlColorSpace.cpp.o
      Imath_2_4::Matrix44<float>::gjInverse(bool) const in CtlColorSpace.cpp.o
  "typeinfo for Imath_2_4::SingMatrixExc", referenced from:
      Imath_2_4::Matrix44<float>::inverse(bool) const in CtlColorSpace.cpp.o
      Imath_2_4::Matrix44<float>::gjInverse(bool) const in CtlColorSpace.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/IlmCtlMath/libIlmCtlMath.1.5.0.dylib] Error 1
make[1]: *** [lib/IlmCtlMath/CMakeFiles/IlmCtlMath.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 46%] Built target IlmImfCtl
make: *** [all] Error 2

field3d (SCons) seems to be ignoring ENV.cxx11:

Compiling �[1mbuild/darwin/m64/release/FieldCache.os�[0m
In file included from src/ClassFactory.cpp:44:
In file included from export/ClassFactory.h:50:
In file included from export/Field.h:55:
In file included from export/Traits.h:54:
In file included from export/Types.h:56:
In file included from export/StdMathLib.h:43:
In file included from /usr/local/include/OpenEXR/ImathColor.h:48:
/usr/local/include/OpenEXR/half.h:99:15: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
    half () = default;                  // no initialization
              ^
/usr/local/include/OpenEXR/half.h:102:16: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
    ~half () = default;
               ^
/usr/local/include/OpenEXR/half.h:103:27: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
    half (const half &) = default;
                          ^
/usr/local/include/OpenEXR/half.h:104:16: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
    half (half &&) noexcept = default;
               ^
/usr/local/include/OpenEXR/half.h:104:19: error: expected ';' at end of declaration list
    half (half &&) noexcept = default;
                  ^
                  ;
/usr/local/include/OpenEXR/half.h:124:43: warning: defaulted function definitions are a C++11 extension [-Wc++11-extensions]
    half &              operator = (const half  &h) = default;
                                                      ^
/usr/local/include/OpenEXR/half.h:125:31: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
    half &              operator = (half  &&h) noexcept = default;
                                          ^
/usr/local/include/OpenEXR/half.h:125:35: error: expected ';' at end of declaration list
    half &              operator = (half  &&h) noexcept = default;
                                              ^
                                              ;

@Bo98
Copy link
Member

Bo98 commented Nov 23, 2019

Just going to mark this as "do not merge" until we've merged in Python 3.8 (#45337), due to merge conflicts. Feel free to keep working on this though and we'll be able to help out where need be.

@Bo98 Bo98 added do not merge python Python use is a significant feature of the PR or issue labels Nov 23, 2019
@fxcoudert fxcoudert removed do not merge needs response Needs a response from the issue/PR author labels Dec 26, 2019
@fxcoudert
Copy link
Member

CI does not handle merge commits well, please rebase on top of master.

@fxcoudert
Copy link
Member

fxcoudert commented Dec 26, 2019

  • Also need a revision: openimageio vips
  • ctl and field3d still need to be fixed

@equal-l2
Copy link
Contributor Author

equal-l2 commented Dec 26, 2019

@fxcoudert
Thanks for pointing out, I'll revision them soon.

As for ctl and field3d, I know what is the problem but I have no idea how to fix them. Any help is welcome.

All I have to do is:

  • ctl : The linking error is due to the lack of libImath, thus add -lImath to the linking flags
  • field3d : All the error is due to using the old C++ standard, thus tell scons to use C++11

@equal-l2
Copy link
Contributor Author

Can I propose deletion of ctl and field3d, since both are unmaintained (judging from having no commit for over two years) and are blocking this PR?

This was referenced Jan 3, 2020
@zbeekman
Copy link
Contributor

zbeekman commented Jan 4, 2020

Can I propose deletion of ctl and field3d, since both are unmaintained (judging from having no commit for over two years) and are blocking this PR?

@equal-l2 can we apply imageworks/Field3D#97 as part of this PR while we wait for upstream to merge? Also, if ampas/CTL#73 resolves the ctl issue could that be applied as part of this PR as well?

@equal-l2
Copy link
Contributor Author

equal-l2 commented Jan 6, 2020

@fxcoudert I fixed every problems mentioned.

@fxcoudert
Copy link
Member

Excellent work! Thanks @equal-l2 for your contribution to Homebrew

@fxcoudert fxcoudert closed this in e41d80b Jan 6, 2020
@equal-l2 equal-l2 deleted the openexr-2.4.0 branch January 6, 2020 19:21
@lock lock bot added the outdated PR was locked due to age label Feb 5, 2020
@lock lock bot locked as resolved and limited conversation to collaborators Feb 5, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated PR was locked due to age python Python use is a significant feature of the PR or issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants