Ok, *I think* I got it working, with two patches for openexr (one makes configure, and another - fake makefile to keep bldsystem happy) and one for thirdparty/Makefile (I forgot how exactly I was passing arguments to my custom ./configure)
Now opnexr part looks like this: openexr.cfg_vars?=LD_LIBRARY_PATH=$(call bld_path,openexr,usr/lib) chmod +x ./configure; openexr.cfg_params?=`realpath $(call bld_path,openexr,usr)` and now I have set of headers/static libs/programs in openexr-2.4.1/usr ---------- Пересланное сообщение ---------- Тема: Thirdparty buildsystem - absolute paths? Дата: Среда 18 марта 2020 Отправитель: Andrew Randrianasulu <[email protected]> Получатель: "Cinelerra.GG" <[email protected]> I tried to integrate openEXR properly into thirdparty buildsystem: there is src/openexr-2.4.1.patch1 now (attached) and in Makefile I have openexr.cfg_vars?=LD_LIBRARY_PATH=$(call bld_path,openexr,usr/lib) chmod +x ./configure; openexr.cfg_params?=--with-prefix=$(realpath $(call bld_path,openexr,usr)) --with-ilmbase-prefix=$(call bld_path,openexr,usr) --enable-shared=no. but this resulted in empty prefix :/ I tried to use realpath because otherwise configure from openEXR dies: root@slax:/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty# rm build/openexr.source root@slax:/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty# rm -rf openexr-2.4.1/ root@slax:/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty# setarch i686 make -j 5 tar -xzf src/openexr-2.4.1.tar.gz patch -d openexr* -p1 < src/openexr-2.4.1.patch1 patching file configure touch /dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/../thirdparty/build/openexr.source CONFIGURING openexr cd openexr* && LD_LIBRARY_PATH=/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/../thirdparty/openexr-2.4.1/usr/lib chmod +x ./configure; ./configure --with-prefix=/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/../thirdparty/openexr-2.4.1/usr --with-ilmbase-prefix=/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/../thirdparty/openexr-2.4.1/usr --enable-shared=no running aclocal -I m4 -I /usr/local/share/aclocal ... /usr/share/aclocal/imlib.m4:9: warning: underquoted definition of AM_PATH_IMLIB /usr/share/aclocal/imlib.m4:9: run info Automake 'Extending aclocal' /usr/share/aclocal/imlib.m4:9: or see http://www.gnu.org/software/automake/manual/automake.html#Extending-aclocal running libtoolize --automake --copy ... running automake --add-missing --copy --foreign ... configure.ac:33: installing './compile' configure.ac:16: installing './config.guess' configure.ac:16: installing './config.sub' configure.ac:20: installing './install-sh' configure.ac:20: installing './missing' Half/Makefile.am: installing './depcomp' parallel-tests: installing './test-driver' running autoconf ... Now type './configure' to configure IlmBase. configure: error: expected an absolute directory name for --prefix: --with-prefix=/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/../thirdparty/openexr-2.4.1/usr make[1]: Вход в каталог `/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/openexr-2.4.1/IlmBase' make[1]: предупреждение: сервер задач недоступен: используется -j1. Добавьте `+' к правилу в родительском make. make[1]: *** Не заданы цели и не найден make-файл. Останов. make[1]: Выход из каталога `/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/openexr-2.4.1/IlmBase' make[1]: Вход в каталог `/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/openexr-2.4.1/IlmBase' make[1]: предупреждение: сервер задач недоступен: используется -j1. Добавьте `+' к правилу в родительском make. make[1]: *** Нет правила для сборки цели `install'. Останов. make[1]: Выход из каталога `/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/openexr-2.4.1/IlmBase' running aclocal -I m4 -I /usr/local/share/aclocal ... /usr/share/aclocal/imlib.m4:9: warning: underquoted definition of AM_PATH_IMLIB /usr/share/aclocal/imlib.m4:9: run info Automake 'Extending aclocal' /usr/share/aclocal/imlib.m4:9: or see http://www.gnu.org/software/automake/manual/automake.html#Extending-aclocal running libtoolize --automake --copy ... running automake --add-missing --copy --foreign ... configure.ac:35: installing './compile' configure.ac:18: installing './config.guess' configure.ac:18: installing './config.sub' configure.ac:22: installing './install-sh' configure.ac:22: installing './missing' IlmImf/Makefile.am: installing './depcomp' parallel-tests: installing './test-driver' running autoconf ... Now type './configure' to configure OpenEXR. configure: error: expected an absolute directory name for --prefix: --with-prefix=/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/../thirdparty/openexr-2.4.1/usr make[1]: Вход в каталог `/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/openexr-2.4.1/OpenEXR' make[1]: предупреждение: сервер задач недоступен: используется -j1. Добавьте `+' к правилу в родительском make. make[1]: *** Не заданы цели и не найден make-файл. Останов. make[1]: Выход из каталога `/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/openexr-2.4.1/OpenEXR' make[1]: Вход в каталог `/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/openexr-2.4.1/OpenEXR' make[1]: предупреждение: сервер задач недоступен: используется -j1. Добавьте `+' к правилу в родительском make. make[1]: *** Нет правила для сборки цели `install'. Останов. make[1]: Выход из каталога `/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/openexr-2.4.1/OpenEXR' make: *** [/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/../thirdparty/build/openexr.configure] Ошибка 2 root@slax:/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty# man realpath root@slax:/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty# realpath /dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/../thirdparty/openexr-2.4.1/usr /dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty/openexr-2.4.1/usr Answer about realpath was found here: https://stackoverflow.com/questions/4175264/how-to-retrieve-absolute-path-given-relative oh ... may be I'll solve this by the end of day, but may be not -------------------------------------------------------
--- 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"
--- /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
diff --git a/cinelerra-5.1/thirdparty/Makefile b/cinelerra-5.1/thirdparty/Makefile index 5315237..50b9358 100644 --- a/cinelerra-5.1/thirdparty/Makefile +++ b/cinelerra-5.1/thirdparty/Makefile @@ -195,9 +195,9 @@ 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 +#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 +242,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,\ @@ -251,7 +251,7 @@ tiff.cfg_params+= --enable-shared=no --disable-zstd $(call if_pkg,libwebp,\ --with-webp-lib-dir=$(call pkg_libs,libwebp)) twolame.cfg_params?=--enable-shared=no x264.cfg_params?= --enable-static --enable-pic -x265.cfg_vars?=$(call cmake_config,source) +#x265.cfg_vars?=$(call cmake_config,source) x265.cfg_params?= -DENABLE_SHARED=no libvpx.cfg_params?= --enable-pic @@ -328,7 +328,7 @@ $(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,ilmbase)) $(call rules,$(call std-build,ladspa)) $(call rules,$(call std-build,lame)) $(call rules,$(call std-build,libaom)) @@ -346,7 +346,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))
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin

