[asterisk-bugs] [JIRA] (ASTERISK-26930) pjproject/Makefile.rules for pjsip 2.6 build fails for non-SSE2 instrunction Linux

abelbeck (JIRA) noreply at issues.asterisk.org
Sat Apr 8 07:04:57 CDT 2017


    [ https://issues.asterisk.org/jira/browse/ASTERISK-26930?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=236452#comment-236452 ] 

abelbeck commented on ASTERISK-26930:
-------------------------------------

Tested using --disable-libwebrtc with a i586 toolchain and pjsip 2.6 builds properly.  --without-external-webrtc was no longer used/needed .

FYI, the reported build error was as follows:
{noformat}
/home/dev/astlinux/1.0/output/host/usr/bin/i586-unknown-linux-gnu-gcc -c -Wall -DPJ_AUTOCONF=1 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os  -O2 -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unused-label -Wno-unused-function -Wno-strict-aliasing -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -fPIC -I/home/dev/astlinux/1.0/output/host/usr/i586-unknown-linux-gnu/sysroot/usr/include    -I. -I../../webrtc/src -I../../../pjlib/include -fexceptions -DWEBRTC_POSIX=1  \
	-o output/libwebrtc-i586-pc-linux-gnu/modules/audio_processing/aec/aec_core_sse2.o \
	../../webrtc/src/webrtc//modules/audio_processing/aec/aec_core_sse2.c 
In file included from ../../webrtc/src/webrtc//modules/audio_processing/aec/aec_core_sse2.c:15:0:
/home/dev/astlinux/x-tools-1.20.0-3.2p1/i586-unknown-linux-gnu/lib/gcc/i586-unknown-linux-gnu/4.8.3/include/emmintrin.h:31:3: error: #error "SSE2 instruction set not enabled"
 # error "SSE2 instruction set not enabled"
   ^
../../webrtc/src/webrtc//modules/audio_processing/aec/aec_core_sse2.c: In function 'FilterFarSSE2':
../../webrtc/src/webrtc//modules/audio_processing/aec/aec_core_sse2.c:46:7: error: unknown type name '__m128'
       const __m128 xfBuf_re = _mm_loadu_ps(&aec->xfBuf[0][xPos + j]);
       ^
{noformat}


> pjproject/Makefile.rules for pjsip 2.6 build fails for non-SSE2 instrunction Linux
> ----------------------------------------------------------------------------------
>
>                 Key: ASTERISK-26930
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26930
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: pjproject/pjsip
>    Affects Versions: 13.15.0
>         Environment: AstLinux 1.2.x
>            Reporter: abelbeck
>
> George Joseph added this commit "pjproject_bundled: Update for pjproject 2.6"
> http://git.asterisk.org/gitweb/?p=asterisk/asterisk.git;a=commit;h=9c05ddbdddb80d46a0621b519858b37d2e7c01fb
> For pjsip 2.5.5 webrtc is disabled with --disable-webrtc
> For pjsip 2.6 webrtc is disabled with --disable-libwebrtc
> But, the referenced commit above instead uses --without-external-webrtc which uses the internal builtin webrtc source together with a config_site.h #define of PJMEDIA_HAS_WEBRTC_AEC 0 to roundabout disable webrtc.
> The problem is pjsip's internal webrtc for Linux requires a SSE2 instruction set when compiling aec_core_sse2.c, so a i586 toolchain fails.
> Proposed solution is to revert the commit above changes to files "third-party/pjproject/Makefile.rules" and "third-party/pjproject/patches/config_site.h" and then in "third-party/pjproject/Makefile.rules" change --disable-webrtc to --disable-libwebrtc .



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list