This OpenEXR package is a "bag of worms" -- weird, hard, and worse package to integrate in Cinelerra. GG has taken your patches, made quite a few changes, and got it to work at 2.4.1. Tomorrow he will test to see how it does on the 18+ distros to see if it will work for the monthly builds. Meanwhile, I think he has come to the conclusion that it is not worthwhile to upgrade it any more because there do not seem to be any gains in doing so -- there releases seem to be only code cleanup but not no features whatsoever. Will see if it works for the monthly builds, and then probably never again will be upgraded. gg/phyllis On Wed, Mar 18, 2020 at 9:35 AM Andrew Randrianasulu < [email protected]> wrote:
В сообщении от Wednesday 18 March 2020 18:00:06 Good Guy написал(а):
These changes look good. Thanks. and now the inevitable "but"..., these are just suggestions, but they are based on my past experiences.
1) don't leave dead code in the product unless you think it may be useful in the future.
Well, removed ilmbase from both configure.ac and thirparty/Makefile
If you decide -stdc+11 requirement is NOT show stopper, then you can try to apply those and two other patches, also attached this time, because without them nothing will work
put openexr-2.4.1 patches into thirdparty/src, put 2.4.1 tarball there, too (you may want to repack it, or I can find xz version ...):
https://sources.voidlinux.org/openexr-2.4.1/
sha256sum openexr-2.4.1.tar.gz 3ebbe9a8e67edb4a25890b98c598e9fe23b10f96d1416d6a3ff0732e99d001c1 openexr-2.4.1.tar.gz
matches with sha256sum provideed at this page: https://www.freshports.org/graphics/openexr
Try on oldest system first? (due to c++11 req. it may fail first).
examples: the configure script is already sort of trashy, since it is the driver for a set of old products. The main reason the thirdparty design exists is that you can't trust the maintainers to not break your build. PLEASE be aware that every month any mod you make has to work on 18 platforms that cover a span of 10 years or so. Any break that is historical can stop several builds. The build system is a xen host running an embedded busybox system that only operates the build. No servers, no installed extras. It operates 3 sets of build iterators. If any of them fail, more passes (4,5,...). Each pass is risky, since it is almost always some kind of emergency patch, and usually downgrades the results. Another example, /usr/X11R7/lib has not been around for a while on most platforms. It also as permuted variants /usr/lib/X11 /usr/share/X11/ etc. If the change is really needed for a particular platform, then it may need to be "specialized".
2) I am not sure, but it looks like there is a new version of OpenEXR (2.4.1). I tried it, but it requires the a very recent version of cmake. Currently, there seems to be a struggle to replace autotools with cmake,meson,waf ... Meson broke many builds. I rewrote the dav1d meson build as a makefile, and tried to give it to the developers, but they declined to carry it. Every time they tweak the build, I have to mod the makefile. Not nice. And now the suggestion, If you are going to refactor the OpenEXR build, please see if it is possbile to get it to work with the more recent version. It is not essential to make it work, since it is already working with a usable version, but keeping up with 40 or so libraries is a major task, and maintenance is continuous. Try to make sure that the work you do will be good for as long as possible.
3) I personally wish to thank you (and all of you) who have helped to improve the result. It has always been a curiosity that almost all of the technical help is not from any "techy" component, (eg. google, apple, adobe, ...) but from real users that are just plain interested in having something nice to use. It is highly appreciated for your work on a large section of source code/libraries. Thank you.
gg PS. The documentation rework is just outstanding.
On Wed, Mar 18, 2020 at 6:07 AM Andrew Randrianasulu < [email protected]> wrote:
Only configure.ac patch this time ..
diff --git a/cinelerra-5.1/configure.ac b/cinelerra-5.1/configure.ac index f10af67..7375fa9 100644 --- a/cinelerra-5.1/configure.ac +++ b/cinelerra-5.1/configure.ac @@ -8,7 +8,7 @@ AC_LANG_CPLUSPLUS AC_LANG_C AC_PROG_CXX
-CFG_CFLAGS+=" -fno-omit-frame-pointer -fno-math-errno -fno-signed-zeros" +CFG_CFLAGS+=" -std=c++11 -fno-omit-frame-pointer -fno-math-errno -fno-signed-zeros" CFG_CFLAGS+=" -pthread -Wall" # misguided pedantic warnings # this is extra work, not a gain... @@ -239,14 +239,14 @@ PKG_3RD([giflib],[yes], libutil.a ], [ . ])
-PKG_3RD([ilmbase],[auto], - [ilmbase-2.2.1], - [ Iex/.libs/libIex.a \ - IexMath/.libs/libIexMath.a \ - Half/.libs/libHalf.a \ - Imath/.libs/libImath.a \ - IlmThread/.libs/libIlmThread.a ], - [ Iex Half Imath config IlmThread ]) +#PKG_3RD([ilmbase],[auto], +# [ilmbase-2.2.1], +# [ Iex/.libs/libIex.a \ +# IexMath/.libs/libIexMath.a \ +# Half/.libs/libHalf.a \ +# Imath/.libs/libImath.a \ +# IlmThread/.libs/libIlmThread.a ], +# [ Iex Half Imath config IlmThread ])
PKG_DEF([ladspa], [ladspa-0.4.17], [], [])
@@ -337,11 +337,16 @@ PKG_3RD([mjpegtools],[yes], mpeg2enc/.libs/libmpeg2encpp.a ], [ . lavtools utils ])
-PKG_3RD([openexr],[auto], - [openexr-2.2.1], - [ IlmImf/.libs/libIlmImf.a \ - IlmImfUtil/.libs/libIlmImfUtil.a ], - [ IlmImf config ]) +PKG_3RD([openexr],[yes], + [openexr-2.4.1], + [ IlmBase/Iex/.libs/libIex.a \ + IlmBase/IexMath/.libs/libIexMath.a \ + IlmBase/Half/.libs/libHalf.a \ + IlmBase/Imath/.libs/libImath.a \ + IlmBase/IlmThread/.libs/libIlmThread.a + OpenEXR/IlmImf/.libs/libIlmImf.a \ + OpenEXR/IlmImfUtil/.libs/libIlmImfUtil.a ], + [ Iex Half Imath IlmThread IlmImf config usr/include/OpenEXR ])
---
I force-disabled openEXR probe so it will NOT pick up system headers/libs, discovered new includes demand -std=c++11 in CFLAGS :}
seems to work .... -- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin