[Cin] UPD:Thirdparty buildsystem - absolute paths?

Andrew Randrianasulu randrianasulu at gmail.com
Wed Mar 18 10:31:02 CET 2020


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 <randrianasulu at gmail.com>
Получатель:  "Cinelerra.GG" <cin at lists.cinelerra-gg.org>

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 at slax:/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty# rm build/openexr.source
root at slax:/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty# rm -rf openexr-2.4.1/
root at 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 at slax:/dev/shm/tmp/cinelerra-goodguy-20200318/cinelerra-5.1/thirdparty# man realpath

root at 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

-------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openexr-2.4.1.patch2
Type: text/x-diff
Size: 153 bytes
Desc: not available
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20200318/e5775842/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openexr-2.4.1.patch1
Type: text/x-diff
Size: 350 bytes
Desc: not available
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20200318/e5775842/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Thirdparty_Makefile.diff
Type: text/x-diff
Size: 2964 bytes
Desc: not available
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20200318/e5775842/attachment-0005.bin>


More information about the Cin mailing list