Community
cancel
Showing results for 
Search instead for 
Did you mean: 
mohnassar
Beginner
41 Views

PJSIP compilation with IPP

Hello folks,

I am trying to compile PJSIP/PJMEDIA with IPP support, I have IPP and IPP Samples properly installed
when I try to run:
pjproject-2.0-alpha$ ./configure --enable-ipp --with-ipp=$IPPROOT --with-ipp-samples=$IPPSAMPLES
I get the following error :
checking Intel IPP location... ~/intel/ipp
IPP arch suffix is set to IA32
checking Intel IPP usability... aconfigure: error: Error: unable to recognize your IPP installation. Make sure the paths and ARCH suffix are set correctly
See `config.log' for more details.
./aconfigure: line 12828: exit: run: numeric argument required
./aconfigure: line 12828: exit: run: numeric argument required

I am sure I ve 32 bits :
uname -a
Linux nmrchp3 2.6.38-11-generic #50-Ubuntu SMP Mon Sep 12 21:18:14 UTC 2011 i686 i686 i386 GNU/Linux

Any clue ?
Thanks very much

0 Kudos
2 Replies
Gennady_F_Intel
Moderator
41 Views

Did you set IPPROOT variable before compiling this application?

You can do that it by ippvars.sh script or explicitly setting by this manually

export IPPROOT=/opt/intel/composer_xe_2011_sp1*.*

mohnassar
Beginner
41 Views

Thanks for your reply, actually that wasn't the problem,

I'd like to put the solution here in case someone is interested,
I am using PJSIP version 2.0-alpha, it happens that in the file "aconfigure", line 12767, intel64 is used instead of $IPP7_ARCH.
$IPP7_ARCH should point to ia32 if the architecture is 32 bits as in my case:

IPP_LDFLAGS="-L$IPPROOT/lib/intel64 -L$IPPROOT/../compiler/lib/$IPP7_ARCH"

to correct it :
IPP_LDFLAGS="-L$IPPROOT/lib/ia32 -L$IPPROOT/../compiler/lib/$IPP7_ARCH"
or :
IPP_LDFLAGS="-L$IPPROOT/lib/$IPP7_ARCH -L$IPPROOT/../compiler/lib/$IPP7_ARCH"

One last trick is that when running pjsip, the library libiomp5.so reveals missing. I think this is because PJSIP configuration is respecting IPP v6. I am currently using IPP version 7, libiomp5.so is placed in another directory. To fix it, set correctly LD_LIBRARY_PATH, in my case:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"/opt/intel/composer_xe_2011_sp1.8.273/ipp/lib/ia32:/opt/intel/composer_xe_2011_sp1.8.273/ipp/lib/ia32":"/opt/intel/composer_xe_2011_sp1.8.273/ipp/../../lib/ia32"

That's it, now it compiles and run,
some links that helped me :

http://nullget.sourceforge.net/?q=taxonomy/term/2&page=3

and

http://trac.pjsip.org/repos/wiki/Intel_IPP_Codecs