В сообщении от 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
> >
>
diff --git a/cinelerra-5.1/configure.ac b/cinelerra-5.1/configure.ac
index f10af67..7e9e5f1 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,6 @@ 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_DEF([ladspa], [ladspa-0.4.17], [], [])
@@ -338,10 +330,15 @@ PKG_3RD([mjpegtools],[yes],
[ . lavtools utils ])
PKG_3RD([openexr],[auto],
- [openexr-2.2.1],
- [ IlmImf/.libs/libIlmImf.a \
- IlmImfUtil/.libs/libIlmImfUtil.a ],
- [ IlmImf config ])
+ [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 ])
#PKG_3RD([festival],[no],
# [festival],
diff --git a/cinelerra-5.1/thirdparty/Makefile b/cinelerra-5.1/thirdparty/Makefile
index 5315237..334eb08 100644
--- a/cinelerra-5.1/thirdparty/Makefile
+++ b/cinelerra-5.1/thirdparty/Makefile
@@ -195,9 +195,6 @@ audiofile.mak_params?=LIBS="-lm -lstdc++"
flac.cfg_params?= --enable-shared=no
flac.cflags?="$(call inc_path,libogg) $(call ld_path,libogg,src/.libs)"
giflib.cfg_params=echo "exec true" > ./configure; chmod +x ./configure;
-ilmbase.cfg_vars= CFLAGS+=" -Wno-narrowing" CXXFLAGS+=" -Wno-narrowing"
-ilmbase.cfg_params?=--prefix=$(call bld_path,ilmbase,usr)
-ilmbase.mak_params?=; $(MAKE) -C ilmbase* install; cd $(call bld_path,ilmbase); ln -sf lib64 usr/lib
lame.cfg_vars?= CFLAGS+=" -O"
lame.cfg_params?=--enable-shared=no
lame.mak_params?= ; cd $(call bld_path,lame,include); ln -sf . lame
@@ -242,8 +239,8 @@ openjpeg.cfg_vars?=$(call cmake_config,.)
openjpeg.mak_params?= ; cd $(call bld_path,openjpeg,src/lib/openjp2); ln -sf . openjpeg-2.1
opencv.cfg_vars?=$(call cmake_config,.)
opencv.cfg_params?= -DBUILD_SHARED_LIBS:BOOL=OFF
-openexr.cfg_vars?=LD_LIBRARY_PATH=$(call bld_path,ilmbase,usr/lib)
-openexr.cfg_params?=--enable-shared=no --with-ilmbase-prefix=$(call bld_path,ilmbase,usr)
+openexr.cfg_vars?=LD_LIBRARY_PATH=$(call bld_path,openexr,usr/lib) chmod +x ./configure;
+openexr.cfg_params?=`realpath $(call bld_path,openexr,usr)`
speech_tools.mak_params?=-j1
tiff.cfg_vars+=LIBS+=" -lpthread"
tiff.cfg_params+= --enable-shared=no --disable-zstd $(call if_pkg,libwebp,\
@@ -328,7 +325,6 @@ $(call rules,$(call std-build,ffmpeg, twolame lame openjpeg opus \
$(call rules,$(call std-build,fftw))
$(call rules,$(call std-build,flac,libogg))
$(call rules,$(call std-build,giflib))
-$(call rules,$(call std-build,ilmbase))
$(call rules,$(call std-build,ladspa))
$(call rules,$(call std-build,lame))
$(call rules,$(call std-build,libaom))
@@ -346,7 +342,7 @@ $(call rules,$(call std-build,libuuid))
$(call rules,$(call std-build,libvorbis))
$(call rules,$(call std-build,mjpegtools, libjpeg))
$(call rules,$(call std-build,opencv))
-$(call rules,$(call std-build,openexr, ilmbase))
+$(call rules,$(call std-build,openexr))
$(call rules,$(call std-build,openjpeg))
$(call rules,$(call std-build,opus))
$(call rules,$(call std-build,speech_tools))
--- /dev/null 2020-03-14 06:02:18.586124011 +0300
+++ ./configure 2020-03-18 10:10:50.078516811 +0300
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+cd IlmBase
+./bootstrap
+./configure --prefix=$1 --enable-shared=no
+make
+make install
+
+cd ../OpenEXR
+./bootstrap
+./configure --prefix=$1 \
+ --with-ilmbase-prefix=$1 --enable-shared=no
+make
+make install
--- a/dev/null 2020-03-14 06:02:18.586124011 +0300
+++ b/Makefile 2020-03-18 12:11:17.633850531 +0300
@@ -0,0 +1,2 @@
+all:
+ echo "OpenEXR build done"
--
Cin mailing list
[email protected]
https://lists.cinelerra-gg.org/mailman/listinfo/cin