[Cin] OpenEXR 2.4 - try3!

Good Guy good1.2guy at gmail.com
Wed Mar 18 16:00:06 CET 2020


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.
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 <
randrianasulu at gmail.com> 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
> Cin at lists.cinelerra-gg.org
> https://lists.cinelerra-gg.org/mailman/listinfo/cin
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20200318/81ce1714/attachment.html>


More information about the Cin mailing list