openexr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Openexr-devel] Pain to install pyilmabase


From: Peter Hillman
Subject: Re: [Openexr-devel] Pain to install pyilmabase
Date: Thu, 11 Jan 2018 18:23:23 +1300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0

I'm confused over where you have things installed. It looks like you have some things in /opt/pyilmbase-2-2-0/ and others in /opt/ilmbase-2-2-0/, but I'm not sure whether you are passing information to your configure scripts to specify the locations of dependent libraries.

Perhaps you could try starting again, installing everything into the same folder, say /opt/testbuild. You could at least to try this to see if you can get it working first even if you do something else later. Remove all the old install folders and also the source folders you previously used for attempts to compile ilmbase, pyilmbase, and boost, re-extracting from the downloaded tar.gz files into new folders. This will stop old files created with different configurations interfering with the build.

Before you start to install,

export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/opt/testbuild/lib/pkgconfig
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/testbuild/lib/

The first of these tells the configure scripts where to find the package configuration information for ilmbase once it's installed. The second tells the runtime linker where to load the shared libraries you have installed. The configure scripts will need this when they test that the required libraries are working.

Make /opt/testbuild, and make it writable to your ordinary user account (so you don't need to install as root)

sudo mkdir -m a=rwx /opt/testbuild

Install boost into it:

tar xf boost_1_65_1.tar.gz
cd boost_1_65_1
./bootstrap.sh --prefix=/opt/testbuild
./b2 install address-model=64 variant=release threading=multi link=shared

Now do ilmbase:

tar xf ilmbase-2.2.0.tar.gz
cd ilmbase-2.2.0
./configure --prefix=/opt/testbuild
make
make install

Finally pyilmbase:

tar xf pyilmbase-2.2.0.tar.gz
cd pyilmbase-2.2.0
./configure --prefix=/opt/testbuild --with-boost-include-dir=/opt/testbuild/include --with-boost-lib-dir=/opt/testbuild/lib
make
make install

Then test (assuming python 2.7)
export PYTHONPATH=/opt/testbuild/lib/python2.7/site-packages/:${PYTHONPATH}
python
>>> import imath
>>> print imath.__file__

That should work without errors, and give you the location of the imathmodule.so you just installed.

Good luck!
Peter

On 11/01/18 02:40, Forum (io) wrote:

Hello,

I am still blocked with this issue.

Someone could help?

Many thank

<br><br>---
The Internet of Things, think smart idea!<br>
Les capteurs connectés<br>
<a href="" class="moz-txt-link-rfc2396E" href="http://www.smart-idea.io" moz-do-not-send="true">"http://www.smart-idea.io">http://www.smart-idea.io</a><br><br>
On 12/28/17 11:46 AM, Forum (io) wrote:

Here is my error message

No package 'IlmBase' found
using prefix to set ILMBASE_CXXFLAGS and ILMBASE_LDFLAGS:
    ILMBASE_CXXFLAGS =  -I/opt/pyilmbase-2-2-0/include/OpenEXR
    ILMBASE_LDFLAGS = -L/opt/pyilmbase-2-2-0/lib
    ILMBASE_LIBS = -lImath -lHalf -lIex -lIexMath -lIlmThread -lpthread
checking for IlmBase... no
*** Could not run the IlmBase test program, checking why...
*** The test program could not be compiled.  Is IlmBase installed?
*** Check that the cflags (below) includes the IlmBase include directory
***
*** Flags used by the test:
***     cflags:  -I/opt/pyilmbase-2-2-0/include/OpenEXR -g -O2
***     ldflags: -L/opt/pyilmbase-2-2-0/lib
***
*** You can also run configure with --disable-ilmbasetest to skip this test


When I run

sudo ./configure --prefix=/opt/pyilmbase-2-2-0


IS there no a way to include as it's done with LUA?

export LUA_INCLUDE_DIR=/opt/lua53/include

like

export xxx_INCLUDE_DIR=/opt/pyilmbase-2-2-0/include

Cheers

Pierre

On 12/23/17 2:07 PM, Piotr Stanczyk wrote:
Hi
Did you set the LD_LIBRARY_PATH as suggested?

On Fri, Dec 22, 2017 at 11:04 AM Forum (io) <address@hidden> wrote:

Hello All,

I still have pain to install and I can not complete my task even if it's better.

I finally could install boost as a share without error. Here is how I did:

wget https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.tar.gz
tar zxf boost_1_65_1.tar.gz
cd boost_1.65.1
sudo ./bootstrap.sh --prefix=/opt/boost_1.65.1
sudo ./b2 install address-model=64 variant=release threading=multi link=shared

Then I came back to my pyilambase installation with new issue. Now it is not complaining about python/boost but about ilambase.

Could you help me?

Here are my try and the printed error:

tar zxf pyilmbase-2.2.0.tar.gz
cd pyilmbase-2.2.0
sudo ./configure --prefix=/opt/pyilmbase-2-2-0 --with-boost-include-dir=/opt/boost_1.65.1/include --with-boost-lib-dir=/opt/boost_1.65.1/lib

but this print this error message

No package 'IlmBase' found
using prefix to set ILMBASE_CXXFLAGS and ILMBASE_LDFLAGS:
    ILMBASE_CXXFLAGS =  -I/opt/pyilmbase-2-2-0/include/OpenEXR
    ILMBASE_LDFLAGS = -L/opt/pyilmbase-2-2-0/lib
    ILMBASE_LIBS = -lImath -lHalf -lIex -lIexMath -lIlmThread -lpthread
checking for IlmBase... no
*** Could not run the IlmBase test program, checking why...
*** The test program could not be compiled.  Is IlmBase installed? (before it was Is boost installed?)
*** Check that the cflags (below) includes the IlmBase include directory


***
*** Flags used by the test:

***     cflags:  -I/opt/pyilmbase-2-2-0/include/OpenEXR -g -O2
***     ldflags: -L/opt/pyilmbase-2-2-0/lib
***
*** You can also run configure with --disable-ilmbasetest to skip this test.
configure: error: Could not compile IlmBase test program.


Then I remember, some of you propose me to install in the same directory of ilmbase and it what I tried with another error messgae:

tar zxf pyilmbase-2.2.0.tar.gz
cd pyilmbase-2.2.0
sudo ./configure --prefix=/opt/ilmbase-2-2-0 --with-boost-include-dir=/opt/boost_1.65.1/include --with-boost-lib-dir=/opt/boost_1.65.1/lib


Here is the error message I got

No package 'IlmBase' found
using prefix to set ILMBASE_CXXFLAGS and ILMBASE_LDFLAGS:
    ILMBASE_CXXFLAGS =  -I/opt/ilmbase-2-2-0/include/OpenEXR
    ILMBASE_LDFLAGS = -L/opt/ilmbase-2-2-0/lib
    ILMBASE_LIBS = -lImath -lHalf -lIex -lIexMath -lIlmThread -lpthread
checking for IlmBase... no
*** Could not run the IlmBase test program, checking why...
*** The test program compiled and staticly linked, but did not run. This
*** usually means that the run-time linker is not finding IlmBase or finding
*** the wrong version of IlmBase.
***
*** If the linker is not finding IlmBase, you'll need to set your
*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point
*** to the installed location  Also, make sure you have run ldconfig if that
*** is required on your system.


***
*** Flags used by the test:

***     cflags:  -I/opt/ilmbase-2-2-0/include/OpenEXR -g -O2
***     ldflags: -L/opt/ilmbase-2-2-0/lib
***
*** You can also run configure with --disable-ilmbasetest to skip this test.
configure: error: Could not compile IlmBase test program.


So if I instally pyilmbase into ilmbase, how can tell to pyilmbase, where is ilmbase?

What did I wrong? Do you know what can help me?


Many thank for your help

Cheers


On 12/7/17 11:18 AM, Forum (io) wrote:

Dear Peter and all community member

Thank a lot for your reply.

Today, I have to spend time on my issues that I still can not solved. To be honnestly, I can not remember, why I could not install pyilmbase2-2- on the same folder of ilam...

However, your last e-mail has some important information that I need to solve first.

To resume, I download ilam2.2.0 into a "downlaod" folder and I untar it, I cd into pyilmbase-2-2-0 in order to compile. First I simply run that command

$ ./compile --prefix=/opt/pyilmbase2-2-0

I also "accidently" run this command

$ ./compile --prefix=/opt/ilmbase2-2-0

Both display this message

checking for boost::python... no
*** Could not run the boost::python test program, checking why...
*** The test program could not be compiled.  Is boost::python installed?
*** Check that the cflags (below) includes the boost::python include directory
***
*** Flags used by the test:
***     cflags: -g -O2  -I/usr/include/python2.7 -g -O2  -I/usr/include/python2.7
***     ldflags:  -L/opt/ilmbase-2-2-0/lib    -L/usr/lib64  -L/opt/ilmbase-2-2-0/lib    -L/usr/lib64
***
*** You can also run configure with --disable-boostpythontest to skip this test.
configure: error: Could not compile boost::python test program.

You mentioned to check if boost has been installed. Yes, I did it without issues. I installed boost 1.65.1 into /opt/boost_1.65.1
You also mentionned to try this following command, which indicated where is boost installation

$ ./configure --prefix=/opt/pyilmbase-2-2-0 --with-boost-include-dir=/opt/boost_1.65.1/include --with-boost-lib-dir=/opt/boost_1.65.1/lib

which look now really better, as I do not have the error message, starting with

checking for boost::python... no
*** Could not run the boost::python test program, checking why...
*** The test program could not be compiled.  Is boost::python installed?

As I can not find tutorial or example of pyilmbase installation, I run the following command from pyilmbase2-2-0 untar-ed folder, just after the ./compile command

# make

which shown me errors :o(

Before shwoing the error, note that into the /etc/bashrc file, I save the following line

export PATH=/opt/lua53/bin:$PATH

#export LD_LIBRARY_PATH=/opt/lua53/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/lua53/lib:/opt/ilmbase-2-2-0/lib

export LUA_INCLUDE_DIR=/opt/lua53/include
export LUA_LIBRARIES=/opt/lua53/lib

export PKG_CONFIG_PATH=/opt/ilmbase-2-2-0/lib/pkgconfig


Nothing is about boost. Is it important?

Here is the error message generated by make from pyilmbase-2-2-0 folder:


address@hidden pyilmbase-2.2.0]# make
Making all in config
make[1]: Entering directory `/root/install-package/OpenEXR/pyilmbase-2.2.0/config'
make  all-am
make[2]: Entering directory `/root/install-package/OpenEXR/pyilmbase-2.2.0/config'
make[2]: Leaving directory `/root/install-package/OpenEXR/pyilmbase-2.2.0/config'
make[1]: Leaving directory `/root/install-package/OpenEXR/pyilmbase-2.2.0/config'
Making all in PyIex
make[1]: Entering directory `/root/install-package/OpenEXR/pyilmbase-2.2.0/PyIex'
/bin/sh ../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../config -pthread -I/opt/ilmbase-2-2-0/include/OpenEXR -I.. -I../config   -pipe -g -O2 -I/opt/boost_1.65.1/include -I/usr/include/python2.7 -MT PyIex.lo -MD -MP -MF .deps/PyIex.Tpo -c -o PyIex.lo PyIex.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../config -pthread -I/opt/ilmbase-2-2-0/include/OpenEXR -I.. -I../config -pipe -g -O2 -I/opt/boost_1.65.1/include -I/usr/include/python2.7 -MT PyIex.lo -MD -MP -MF .deps/PyIex.Tpo -c PyIex.cpp  -fPIC -DPIC -o .libs/PyIex.o
In file included from /usr/include/python2.7/pyconfig.h:6:0,
                 from /usr/include/python2.7/Python.h:8,
                 from ./PyIex.h:45,
                 from PyIex.cpp:42:
/usr/include/python2.7/pyconfig-64.h:1188:0: warning: "_POSIX_C_SOURCE" redefined [enabled by default]
 #define _POSIX_C_SOURCE 200112L
 ^
In file included from /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/os_defines.h:39:0,
                 from /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h:2097,
                 from /usr/include/c++/4.8.2/iosfwd:38,
                 from /usr/include/c++/4.8.2/ios:38,
                 from /usr/include/c++/4.8.2/istream:38,
                 from /usr/include/c++/4.8.2/sstream:38,
                 from ./PyIex.h:44,
                 from PyIex.cpp:42:
/usr/include/features.h:168:0: note: this is the location of the previous definition
 # define _POSIX_C_SOURCE 200809L
 ^
In file included from /usr/include/python2.7/pyconfig.h:6:0,
                 from /usr/include/python2.7/Python.h:8,
                 from ./PyIex.h:45,
                 from PyIex.cpp:42:
/usr/include/python2.7/pyconfig-64.h:1210:0: warning: "_XOPEN_SOURCE" redefined [enabled by default]
 #define _XOPEN_SOURCE 600
 ^
In file included from /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/os_defines.h:39:0,
                 from /usr/include/c++/4.8.2/x86_64-redhat-linux/bits/c++config.h:2097,
                 from /usr/include/c++/4.8.2/iosfwd:38,
                 from /usr/include/c++/4.8.2/ios:38,
                 from /usr/include/c++/4.8.2/istream:38,
                 from /usr/include/c++/4.8.2/sstream:38,
                 from ./PyIex.h:44,
                 from PyIex.cpp:42:
/usr/include/features.h:170:0: note: this is the location of the previous definition
 # define _XOPEN_SOURCE 700
 ^
mv -f .deps/PyIex.Tpo .deps/PyIex.Plo
/bin/sh ../libtool --tag=CXX   --mode=link g++ -pipe -g -O2 -I/opt/boost_1.65.1/include -I/usr/include/python2.7 -version-info 2:2:0 -no-undefined -L/opt/ilmbase-2-2-0/lib   -L/opt/boost_1.65.1/lib -L/usr/lib64 -o libPyIex.la -rpath /opt/pyilmbase-2-2-0/lib PyIex.lo -lz -pthread -L/opt/ilmbase-2-2-0/lib -lImath -lHalf -lIex -lIexMath -lIlmThread   -lboost_python -lpython2.7
libtool: link: g++ -shared -nostdlib /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbeginS.o  .libs/PyIex.o   -Wl,-rpath -Wl,/opt/ilmbase-2-2-0/lib -Wl,-rpath -Wl,/opt/ilmbase-2-2-0/lib -L/opt/ilmbase-2-2-0/lib -L/opt/boost_1.65.1/lib -L/usr/lib64 -lz /opt/ilmbase-2-2-0/lib/libImath.so /opt/ilmbase-2-2-0/lib/libHalf.so /opt/ilmbase-2-2-0/lib/libIexMath.so /opt/ilmbase-2-2-0/lib/libIlmThread.so /opt/ilmbase-2-2-0/lib/libIex.so -lboost_python -lpython2.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtendS.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o  -pthread   -pthread -Wl,-soname -Wl,libPyIex.so.2 -o .libs/libPyIex.so.2.0.2
libtool: link: (cd ".libs" && rm -f "libPyIex.so.2" && ln -s "libPyIex.so.2.0.2" "libPyIex.so.2")
libtool: link: (cd ".libs" && rm -f "libPyIex.so" && ln -s "libPyIex.so.2.0.2" "libPyIex.so")
libtool: link: ( cd ".libs" && rm -f "libPyIex.la" && ln -s "../libPyIex.la" "libPyIex.la" )
/bin/sh ../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../config -pthread -I/opt/ilmbase-2-2-0/include/OpenEXR -I.. -I../config   -pipe -g -O2 -I/opt/boost_1.65.1/include -I/usr/include/python2.7 -MT iexmodule.lo -MD -MP -MF .deps/iexmodule.Tpo -c -o iexmodule.lo iexmodule.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../config -pthread -I/opt/ilmbase-2-2-0/include/OpenEXR -I.. -I../config -pipe -g -O2 -I/opt/boost_1.65.1/include -I/usr/include/python2.7 -MT iexmodule.lo -MD -MP -MF .deps/iexmodule.Tpo -c iexmodule.cpp  -fPIC -DPIC -o .libs/iexmodule.o
mv -f .deps/iexmodule.Tpo .deps/iexmodule.Plo
/bin/sh ../libtool --tag=CXX   --mode=link g++ -pipe -g -O2 -I/opt/boost_1.65.1/include -I/usr/include/python2.7 -avoid-version -module -L/opt/ilmbase-2-2-0/lib   -L/opt/boost_1.65.1/lib -L/usr/lib64 -o iexmodule.la -rpath /opt/pyilmbase-2-2-0/lib64/python2.7/site-packages iexmodule.lo libPyIex.la -lboost_python -lpython2.7
libtool: link: g++ -shared -nostdlib /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbeginS.o  .libs/iexmodule.o   -Wl,-rpath -Wl,/root/install-package/OpenEXR/pyilmbase-2.2.0/PyIex/.libs -Wl,-rpath -Wl,/opt/ilmbase-2-2-0/lib -Wl,-rpath -Wl,/opt/pyilmbase-2-2-0/lib -Wl,-rpath -Wl,/opt/ilmbase-2-2-0/lib -L/opt/ilmbase-2-2-0/lib -L/opt/boost_1.65.1/lib -L/usr/lib64 ./.libs/libPyIex.so -lz /opt/ilmbase-2-2-0/lib/libImath.so /opt/ilmbase-2-2-0/lib/libHalf.so /opt/ilmbase-2-2-0/lib/libIexMath.so /opt/ilmbase-2-2-0/lib/libIlmThread.so /opt/ilmbase-2-2-0/lib/libIex.so -lboost_python -lpython2.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtendS.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o    -pthread -Wl,-soname -Wl,iexmodule.so -o .libs/iexmodule.so

/usr/bin/ld: /opt/boost_1.65.1/lib/libboost_python.a(dict.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/opt/boost_1.65.1/lib/libboost_python.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status

make[1]: *** [iexmodule.la] Error 1
make[1]: Leaving directory `/root/install-package/OpenEXR/pyilmbase-2.2.0/PyIex'

make: *** [all-recursive] Error 1
address@hidden pyilmbase-2.2.0]#


I wonder, if there is an official procedure to install pyilmbase-2.2.0

I also observed a file name install-sh. How can that file can be usefull for the installation?

You also spoke about installing into the same folder of ilmbase-2-2-0. What would you change regarding my about steps? To be honst with you, last week I tried but I do not rember why, I finally soecified a folder dedicated for pyilmbase2-2-0 in /opt/


Many many thank for your help and help from openexr community.

Cheers
Pierrot


On 12/1/17 1:21 AM, Peter Hillman wrote:
./configure --prefix=/opt/ilmbase-2-2-0 --with-boost-include-dir=/opt/boost/include --with-boost-lib-dir=/opt/boost/lib



_______________________________________________
Openexr-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/openexr-devel

_______________________________________________
Openexr-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/openexr-devel



_______________________________________________
Openexr-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/openexr-devel



_______________________________________________
Openexr-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/openexr-devel


reply via email to

[Prev in Thread] Current Thread [Next in Thread]