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

Reply via email to