Intel® Distribution for Python*
Engage in discussions with community peers related to Python* applications and core computational packages.

Library Link Error

Toshiyuki_N_
Beginner
1,775 Views

Hi: I tried to link Theano with the your python library.

When I tried to test Theano

 python -c "import theano; theano.test()"

I got the following error

Exception: Compilation failed (return status=1): /usr/bin/ld: /home/t-nakata/intel/python/2.7.20150803_184913/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `.rodata.str1.4' can not be used when making a shared object; recompile with -fPIC. /home/t-nakata/intel/python/2.7.20150803_184913/lib/libpython2.7.a: could not read symbols: Bad value. collect2: error: ld returned 1 exit status.

 

I think the libraries need to be compiled with -fPIC option. (My two cents' worth)

 

Best Regards

Toshiyuki Nakata

0 Kudos
1 Solution
Robert_C_Intel
Employee
1,775 Views

Caffe and Theano are important for Intel. In the next release any improvements will only come from having better BLAS in numpy. Over time, we want to do more.

View solution in original post

0 Kudos
13 Replies
Anton_M_Intel
Employee
1,775 Views

Hi Toshiyuki,

Thank you for this report! I've reproduced the issue and filled the bug report.

Another possible resolution is to build libpython2.7.so which is not provided along with our distribution.

Thanks
// Anton

 

0 Kudos
Michael_L_4
Beginner
1,775 Views

Hi Anton,

I ran into the same problem, is there a way to get the distribution compiled with the flag --enable-shared?

-Michael

 

 

 

 

0 Kudos
Ricardo_C_Intel
Employee
1,775 Views

Hello Michael,
The Tech Preview release does not provide the necessary libraries, but we are working to fix it in the next release.

Thank you.

0 Kudos
glenn_n_
Beginner
1,775 Views

This is a workaround I just stumbled upon:

# download Python 2.7.10 (same version as the Intel bundle)
wget http://python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz

# extract it and recompile it in a shared manner
tar xf Python-2.7.10.tar.xz && cd cd Python-2.7.10
./configure --enable-shared
make

# COPY the shared libraries over into your intel python lib directory
cp libpython2.7.a /<intel directory>/lib

# don't know whether this one is actually needed here
cp libpython2.7.so /<intel directory>/lib

 

@Intel, maybe this helps you too :)

0 Kudos
Toshiyuki_N_
Beginner
1,775 Views

Hi Glenn: Thank you for the workaround.

Unfortunately, I had wanted to test the Intel optimized one.

Perhaps people in Intel could compule their library with the --enable-shared option ?

Best Regards

0 Kudos
Rob_H_
Beginner
1,775 Views

Just want to add a +1 to this.  I'd love to be able to test Caffe with the Intel-optimized Python, but right now I'm getting the exact same error as Toshiyuki when compiling Caffe against the Intel distribution.

Sounds like it's in the works to make a release with libpython2.7.so included.  Is there a timeline on that release?

0 Kudos
Robert_C_Intel
Employee
1,775 Views

We can't promise a date for a fix but ...

If you registered for the tech preview you will get a email about the next release. I expect it will happen by April 1.

Robert

0 Kudos
Rob_H_
Beginner
1,775 Views

Awesome.  Thanks Robert.

0 Kudos
Toshiyuki_N_
Beginner
1,775 Views

Two likes to Rob and Robert ;-)

0 Kudos
Toshiyuki_N_
Beginner
1,775 Views

Just one more comment both Theano and Caffe are very important libraries for Deep Learning. So, to be able to prove that the

performance of these libraries is a very important point..

 

0 Kudos
Robert_C_Intel
Employee
1,776 Views

Caffe and Theano are important for Intel. In the next release any improvements will only come from having better BLAS in numpy. Over time, we want to do more.

0 Kudos
Toshiyuki_N_
Beginner
1,775 Views

There is Chainer as well..  http://chainer.org/

Best Regards

TN

 

0 Kudos
hussain__zafar
Beginner
1,775 Views

Neon by Nervana is also a good Neural network toolkit, hopefully it will be included in future Intel Python releasse

 

cheers

zh

 

0 Kudos
Reply