스마트폰앱

오늘:
1,709
어제:
2,208
전체:
2,861,600

고객센타 : 070-7752-2000
팩스 : 070-7752-2001
휴대폰 : 010-9513-0019
email : voipkorea@yahoo.co.kr

국민은행
(주)제이에스솔루션
047101-04-155519

Flag Counter
■ 무료 : 유선 집전화 휴대폰 ( 한국 미국 중국 카나다) ↔ (국내 해외 여행자 상사 주재원 유학생) / 가입무 무제한무료■

http://arrkaize86.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-Linphone-%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4-%EC%BB%B4%ED%8C%8C%EC%9D%BC-%EC%8B%9C%EB%8F%84


http://boonyboony.tistory.com/entry/5-Adnroid-Linphone-NDK-%EB%B9%8C%EB%93%9C-%ED%95%B4%EB%B3%B4%EA%B8%B0-3


http://marlboroyw.tistory.com/entry/Android-LinPhone-Customize-3-linphone-%EB%A9%94%EB%89%B4%EC%96%BC-%EC%9D%BD%EC%96%B4%EB%B3%B4%EA%B8%B0


http://www.utterspeech.com/article/linphone-qt


http://yongs2.tistory.com/47



 Add API for managing SIP SUBSCRIBES/NOTIFY/PUBLISH (linphonecore/event.h)


 Linphone 오픈 소스를 다운 받았다면, 이제 이 오픈소스를 컴파일해보자~!!

 

컴파일을 하기 전에 먼저 필요한 것이 있다.

 

1. 시그윈(Cygwin)

2. Android sdk(at least API 16 이상)

3. Android ndk(>=r8b)

4. Autotools(autoconf, automake, aclocal, libtoolize, pkgconfig)

 

[참고]

1. 시그윈 설치는 UTILL 관련 지식에서 설치 방법을 참고하면 된다.

2. Android sdk는 http://developer.android.com/sdk/index.html 접속하여 sdk를 다운 받는다.

(http://developer.android.com/intl/ko/sdk/exploring.html)

3. Android ndk 역시 2번의 사이트에 접속하여 ndk를 다운 받는다.

(http://developer.android.com/intl/ko/tools/sdk/ndk/index.html)

4. Autotools 는 아래의 정보들을 이용해 다운 받아 설치한다.

sudo apt-get install autoconf

sudo apt-get install automake

sudo apt-get install m4

sudo apt-get install libtool

sudo apt-get install pkg-config

 

 autoconf

 root@wl ~ # wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
 root@wl ~ # tar xvfz autoconf-2.69.tar.gz
 root@wl ~ # cd autoconf-2.69
 root@wl ~/autoconf-2.69 # ./configure
 root@wl ~/autoconf-2.69 # make
 root@wl ~/autoconf-2.69 # make install

 pkt-config

 http://pkgconfig.freedesktop.org/releases/

 automake

 root@wl ~ # wget http://ftp.gnu.org/gnu/automake/automake-1.13.3.tar.gz
 root@wl ~ # tar xvfz automake-1.13.3.tar.gz
 root@wl ~ # cd automake-1.13.3
 root@wl ~/automake-1.13.3 # ./configure
 root@wl ~/automake-1.13.3 # make
 root@wl ~/automake-1.13.3 # make install

 libtool

 root@wl ~ # wget http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz
 root@wl ~ # tar xvfz libtool-2.4.2.tar.gz
 root@wl ~ # cd libtool-2.4.2
 root@wl ~/libtool-2.4.2 # ./configure
 root@wl ~/libtool-2.4.2 # LANG=C make 1)
 root@wl ~/libtool-2.4.2 # LANG=C make install

 M4

 ※ 소스 설치
 # wget http://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.bz2
 # tar xvfj m4-1.4.17.tar.bz2
 # cd m4-1.4.17
 # ./configure
 # make
 # make install

 ※ 패키지 설치(솔라리스 11이상)
 # pkg install gnu-m4
 # gm4 --version
 m4 (GNU M4) 1.4.12

 

[참고 사이트] http://www.solanara.net/solanara/autotools#head_autotools_inst_autoconf

 

Linphone 오픈소스 컴파일 과정

 

1. 일단 Eclipse를 통해 다운받은 오픈소스를 import하여 보기 편하게 정리한다.

 

 

2. import를 하고 나면 서브모듈 디렉토리가 빨간색으로 경고 표시가 뜰것이다.

이는 package org.linphone.mediastream.video.capture.hwconf 에 Hacks.java 파일을 찾을 수 없다는 경고 문구인데, 이는 Hacks.jav로 파일명이 잘못 되어 있기 때문이다. 이를 Hacks.java로 변경해주면 경고 문구가 사라지는 것을 확인할 수 있다.

=> 최신 버전의 오픈 소스를 받으니 해당 오류가 해결되어 있었다~!!(13-11-13 download)

 

 

3. 소스 디렉토리에도 빨간 경고창을 확인할 수 있는데 이 부분은 간단히 주석처리로 막아버렸다.

(org.linphone/LinphoneManager.java 파일 내에 R.raw.rootca 를 찾을 수 없기 때문인듯..?)

 

 

4. 해당 오픈소스에 root 디렉토리에 존재하는 README 파일을 확인해보면 컴파일 하기 위한 방법에 대해 영어로 친절히(?) 적혀있다.

 To build liblinphone for Android, you must:
0) download the Android sdk with platform-tools and tools updated to latest revision (at least API 16 is needed), then add both 'tools' and 'platform-tools' folders in your path.
1) download the Android ndk (>=r9) from google and add it to your path.
2) install yasm, curl, ant and the autotools: autoconf, automake, aclocal, libtoolize, pkgconfig
On 64 bits linux systems you'll need the ia32-libs package
3) run the Makefile script in the top level directory. This will download iLBC source files and convert some assembly files in VP8 project.
$ make
4) To install the generated apk into a plugged device, run
$ make install
5) (Optional) To generate a liblinphone SDK zip containing a full jar and native libraries, run
$ make linphone-sdk
6) (Optional) To generate a libmediastreamer2 SDK zip containing a full jar and native libraries, run
$ make mediastreamer2-sdk 

 

5. 위의 README 파일을 읽어보면, 컴파일에 필요한 sdk, ndk, autotools를 설치하라는 말과 함께 path를 잡아주라고 적혀있다. 일단, ndk, sdk, sdk-tools path를 잡아주면 된다.

 

 

6. 이 상태로 바로 make 명령어를 딱 실행해 보니, ./check_tools.sh에서 막힌다. 첫번째 난관은 check_tools.sh 에 난 오류를 잡는 것으로 시작해본다.

=> check_tools.sh 파일 내에서 android 를 찾을 수 없다고 나오게 된다. 이를 android.bat 파일로 변경해주면 잘되는것을 확인할 수 있다. android 부분은 check_tools.sh 뿐만 아니라 Makefile 파일 내에도 변경해주어야 한다.

(check_tools.sh / Makefile : android -> android.bat)

 

 

7. 이번 linphone 오픈 소스 컴파일에서 비디오 부분은 제외하고 컴파일 할 것이기 때문에 비디오 관련 부분은 모두 주석 처리한다.

 

 

8. 두번째로 막힌 부분은 libilbc-rfc3951 컴파일 과정에 생긴 에러~!

 * configure: creating ./config.status
.in'ig.status: error: cannot find input file: `
Makefile:61: recipe for target '/cygdrive/d/Android/linphone-android/submodules/libilbc-rfc3951/Makefile' failed
make: *** [/cygdrive/d/Android/linphone-android/submodules/libilbc-rfc3951/Makefile] Error 1
-> cd submodules/libilbc-rfc3951
-> dos2unix configure.ac
-> dos2unix Makefile.am
-> tr -d "\15\32" < configure > configure.new
-> ./configure.new
-> cd ../..

위와 같은 방법으로 명령어를 써주면 해결~!

해당 에러가 생긴 원인은 configure.ac 와 Makefile.am 파일의 속성의 문제로 보인다.

 

 

[참고] autogen.sh 에 대한 에러가 발생하게 되는데, 이는 dos2unix autogen.sh 로 변환해주면 정상적으로 configure를 할 수 있다.

 

 

9. 세번째로 막힌 부분 역시 rfc3951 부분으로 checksum 하는 과정에서 문제가 발생했다.

* cd .; /usr/bin/md5sum -c ./known_checksums/rfc3951.txt.md5
: No such file or directoryt
: 열기 또는 읽기 실패
/usr/bin/md5sum: WARNING: 1 listed file could not be read
Makefile:449: recipe for target 'rfc3951.txt.check' failed
make[1]: *** [rfc3951.txt.check] Error 1
make[1]: Leaving directory '/cygdrive/d/Android/linphone-android/submodules/libilbc-rfc3951/downloads'
iLBC prepare stage failed
Makefile:65: recipe for target '/cygdrive/d/Android/linphone-android/submodules/libilbc-rfc3951/src/iLBC_decode.c' failed
make: *** [/cygdrive/d/Android/linphone-android/submodules/libilbc-rfc3951/src/iLBC_decode.c] Error 1
-> cd submodules/libilbc-rfc3951/downloads
-> touch extract-cfile.awk.check
-> touch rfc3951.txt.check
-> cd ../../..

 해당 에러는 file check를 하는 부분에서 파일이 존재하는지 여부를 넘겨주기 위해 파일을 만들어주는 방식으로 해결했다.

 

 

10. 네번째로는 libvpx 부분을 주석처리하면서 넘어갔다.

해당 부분은 비디오 모듈에 관련된 부분으로 보인다. prepare-vpx 부분까지 주석처리를 하면서 prepare-sources 의 Build targets 에서 prepare-vpx 부분을 제거해 준다.

 

 

11. 다섯번째로는 SILK 부분에서 막혔다. 해당 부분 역시 8번의 rfc3951과 같은 원인으로 보인다.

 * configure: creating ./config.status
.in'ig.status: error: cannot find input file: `
Makefile:85: recipe for target `/cygdrive/c/eclipse/workspace/linphone-android/submodules/mssilk/Makefile' failed
make: *** [/cygdrive/c/eclipse/workspace/linphone-android/submodules/mssilk/Makefile] Error 1
-> cd submodules/mssilk
-> dos2unix configure.ac
-> dos2unix Makefile.am
-> tr -d "\15\32" < configure > configure.new
-> ./configure.new
-> cd ../..

 위와 같이 해결하면 된다.

 

 

12. 위의 부분을 확인해 보니 mediastreamer 와 관련된 것을 보니 비디오 관련 모듈인 듯 싶다. 해당 부분도 과감히 주석처리~!!

해당 부분은 prepare-silk 부분으로 주석처리를 하면서 10번과 같이 prepare-sources 의 Build targets 에서 prepare-silk 부분을 제거해 준다.

=> 해당 부분은 사용하는 것으로 보여져서 다시 주석을 제거~!!

 

 

13. 이번에 막힌 부분은 시그윈 패키지를 모두 설치하지 않은 죄로 걸렸다. LWP를 사용할 수 없어 다운로드를 하지 못해 발생한 문제였다. 이럴때는 역시 사뿐히 다시 시그윈을 패키지 업그레이드를 해준다.

 Downloading 'certdata.txt' ...
Unable to download latest data: 501 - Protocol scheme 'https' is not supported (LWP::Protocol::https not installed)
Makefile:142: recipe for target `/cygdrive/c/eclipse/workspace/linphone-android/res/raw/rootca.pem' failed
make: *** [/cygdrive/c/eclipse/workspace/linphone-android/res/raw/rootca.pem] Error 1

 위의 문제를 보고 해당 Make파일에 가보니 rootca.pem에 관련된 내용이었다. 이 부분도 과감히 주석처리하고, prepare-sources 에서도 제거해준다.

 

 

14. 이번에는 curl 명령어를 찾을 수 없다는 에러 문구가 나왔다.

 curl -sO http://www.sqlite.org/2013/sqlite-amalgamation-3071700.zip
make: curl: 명령을 찾지 못했음
Makefile:160: recipe for target 'sqlite-amalgamation-3071700.zip' failed
make: *** [sqlite-amalgamation-3071700.zip] Error 127

 

 curl 명령어가 뭔지 알아보고, curl 명령어를 사용하기 위해 설치 방법에 대해 알아보자.

 

 [참고] curl 이란 명령행 기반 웹 요청 도구로써, 특시 REST 애플리케이션을 개발 테스트 시에 유용하게 사용할 수 있다고 한다. 홈페이지 주소는 http://curl.haxx.se/ 으로 GUI 기반으로 REST 애플리케이션 테스트를 해보고자 한다면 http://rest-client.googlecode.com/ 으로 확인하면 된다.

 

1. curl 명령어를 사용하기 위해 wget 명령어를 통해 다운로드하여 설치해보자.

다운로드 주소 : wget http://curl.haxx.se/download/curl-7.29.0.tar.gz

2. 다운 받은 tar 파일을 풀어준다.

tar xvf <파일명>

3. curl 디렉토리로 이동하여 ./configure를 실행해준다.

4. make 명령어를 실행해준다.

5. make install 명령어를 실행해준다.

6. curl 버전을 확인한다.

curl --version

7. 재부팅(?) 할 필요가 있는지는 잘 모르겠다.

 

15. 이번에도 curl 명령어처럼 ant 명령어를 찾을 수 없다는 에러 문구가 나왔다.

 ant javah
make: ant: 명령을 찾지 못했음
Makefile:179: recipe for target 'javah' failed
make: *** [javah] Error 127

 

 

ant 명령어가 뭔지 알아보고, ant 명령어를 사용하기 위해 설치 방법에 대해 알아보자.

 

 [참고] ant 란 자카르타 프로젝트에서 개발되어져 있는 프로그램 소스의 빌드 툴이다. 빌드 툴은, make명령과 같은 툴을 가르킨다. ant는 make 커맨드와는 달리 자바에서 작성되어져 있다. (make는 C언어) 같게 자카르타 프로젝트에서 개발되어 있는 서블릿 엔진의 톰캣에서, ant는 빌드 툴의 역할을 하고 있다. 톰캣의 소스로부터 빌드한 사람들은 ant를 사용하고 있다.

홈페이지는 http://ant.apache.org 으로 이곳에서 다운 받아 설치 할 수 있다.

 

1. ant 명령어를 사용하기 위해 wget 명령어를 통해 다운받거나 홈페이지에 접속하여 다운받자.

다운로드 주소: wget http://apache.mirror.cdnetworks.com//ant/binaries/apache-ant-1.9.2-bin.tar.gz

2. 다운 받은 tar 파일을 풀어준다.

3. ant 폴더를 적당한 위치에 가져다 놓고 Path를 잡아준다.

ex) ANT_HOME: C\Android\apache-ant-1.9.2

Path : C\Android\apache-ant-1.9.2\bin

4. 설치를 확인한다.

ant -version

 

 16. 이번에는 ndk-build 를 하다가 에러가 난 것으로 보여진다.

 make[1]: *** No rule to make target 'jni/..//submodules/belle-sip/build/android/../../src/belle_sip_messageLexer.c', needed by 'obj/local/armeabi-v7a/objs/bellesip/belle_sip_messageLexer.o'. 멈춤.
make[1]: *** 끝나지 않은 작업을 기다리고 있습니다....
Compile thumb : bellesip <= belle_sdp_impl.c
Compile thumb : bellesip <= belle_sip_headers_impl.c
jni/..//submodules/belle-sip/build/android/../../src/belle_sip_headers_impl.c:26:37: fatal error: belle_sip_messageParser.h: No such file or directory
compilation terminated.
jni/..//submodules/belle-sip/build/android/../../src/belle_sdp_impl.c:19:29: fatal error: belle_sdpParser.h: No such file or directory
compilation terminated.
/cygdrive/c/Android/android-ndk-r9/build/core/build-binary.mk:345: recipe for target 'obj/local/armeabi-v7a/objs/bellesip/belle_sip_headers_impl.o' failed
make[1]: *** [obj/local/armeabi-v7a/objs/bellesip/belle_sip_headers_impl.o] Error 1
/cygdrive/c/Android/android-ndk-r9/build/core/build-binary.mk:345: recipe for target 'obj/local/armeabi-v7a/objs/bellesip/belle_sdp_impl.o' failed
make[1]: *** [obj/local/armeabi-v7a/objs/bellesip/belle_sdp_impl.o] Error 1
make[1]: Leaving directory '/cygdrive/c/eclipse/workspace/linphone-android'
Makefile:169: recipe for target 'generate-libs' failed
make: *** [generate-libs] Error 2

 

12번 부분을 다시 주석을 풀어주었다. 다시 make를 해보니 이번에는 다른 에러가 또 뜬다.

 configure.new: error: Package requirements (mediastreamer >= 2.0.0) were not met:

No package 'mediastreamer' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables MEDIASTREAMER_CFLAGS
and MEDIASTREAMER_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

 

=> 이런 썩을.. 이 부분은 내가 임의로 pkg-config 를 2.8 버전(2013년 최신 버전)으로 받아 설치한 죄로 발생한 문제였다. 다시 2.3 버전을 다운 받아 다운그레이드 한 후 처음부터 시도해보니 잘 넘어간다!

먼저, configure.ac 에서 PKG_CHECK_MODULES(MEDIASTREAMER, mediastreamer >= 2.0.0) 부분을 주석처리 하고 ./autogen.sh 을 다시 실행하여 configure 파일을 생성해 준다.

 

 [참고] pkg-config 다운 받기 위한 사이트 : http://www.freedesktop.org/wiki/Software/pkg-config/

해당 사이트에 들어가서 releases 를 받으면 되는데 linphone 컴파일 시에는 굳이 받을 필요 없다. 받으면 나처럼 개고생한다. 시키지 않은 건 굳이 해서 사서 고생하지 말자..ㅠㅠ

 

16. 이번에는 check 하는 파일이 존재하지 않아서 발생한 것으로 보인다 이 부분 역시 touch로 파일을 만들어주자.

 cd .; /usr/bin/md5sum -c ./known_checksums/SILK_SDK_SRC_v1.0.9.zip.md5
: No such file or directoryRC_v1.0.9.zip
: 열기 또는 읽기 실패ip
/usr/bin/md5sum: WARNING: 1 listed file could not be read
Makefile:451: recipe for target 'SILK_SDK_SRC_v1.0.9.zip.check' failed
make[1]: *** [SILK_SDK_SRC_v1.0.9.zip.check] Error 1
make[1]: Leaving directory '/cygdrive/c/eclipse/workspace/linphone-android/submodules/mssilk/sdk'
SILK audio plugin prepare state failed.
Makefile:95: recipe for target '/cygdrive/c/eclipse/workspace/linphone-android/submodules/mssilk/sdk/SILK_SDK_SRC_v1.0.8/SILK_SDK_SRC_ARM_v1.0.8/src/SKP_Silk_resampler.c' failed
make: *** [/cygdrive/c/eclipse/workspace/linphone-android/submodules/mssilk/sdk/SILK_SDK_SRC_v1.0.8/SILK_SDK_SRC_ARM_v1.0.8/src/SKP_Silk_resampler.c] Error 1

-> cd submodules/mssilk/sdk
-> touch SILK_SDK_SRC_v1.0.9.zip.check
-> cd ../../..

 

17. 이건 무슨 문제인지 고민하면서 /bin/sh 로 이동했다가 다시 가서 혹시나 해서 make를 해봤는데 그냥 넘어간다.. 이건 무슨 시츄에이션..?? 어찌됐건 넘어갔으니 추후 문제가 되면 다시 한번 확인해보자~!!

 out.pcm
inflating: SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9/test_vectors/output/testvector_output_44100_Hz_20_ms_7_kbps.pcm
inflating: SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9/test_vectors/output/testvector_output_8_kHz_20_ms_20_kbps_10_loss_FEC.pcm
inflating: SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9/test_vectors/output/testvector_output_8_kHz_40_ms_12_kbps.pcm
inflating: SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9/test_vectors/output/testvector_output_8_kHz_60_ms_8_kbps.pcm
inflating: SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9/test_vectors/output/testvector_output_8_kHz_60_ms_8_kbps_12_kHz_out.pcm
inflating: SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9/test_vectors/output/testvector_output_8_kHz_60_ms_8_kbps_16_kHz_out.pcm
inflating: SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9/test_vectors/output/testvector_output_8_kHz_60_ms_8_kbps_8_kHz_out.pcm
inflating: SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9/test_vectors/test_decoder.bat
inflating: SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9/test_vectors/test_decoder.sh
inflating: SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9/test_vectors/test_encoder.bat
inflating: SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9/test_vectors/test_encoder.sh

cd SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9 && /usr/bin/patch -p0 < patch_pic.diff
/bin/sh: patch_pic.diff: Permission denied
Makefile:459: recipe for target 'SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9' failed
make[1]: *** [SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_FIX_v1.0.9] Error 1
make[1]: Leaving directory '/cygdrive/c/eclipse/workspace/linphone-android/submodules/mssilk/sdk'
SILK audio plugin prepare state failed.
Makefile:95: recipe for target '/cygdrive/c/eclipse/workspace/linphone-android/submodules/mssilk/sdk/SILK_SDK_SRC_v1.0.8/SILK_SDK_SRC_ARM_v1.0.8/src/SKP_Silk_resampler.c' failed
make: *** [/cygdrive/c/eclipse/workspace/linphone-android/submodules/mssilk/sdk/SILK_SDK_SRC_v1.0.8/SILK_SDK_SRC_ARM_v1.0.8/src/SKP_Silk_resampler.c] Error 1

 

18. 이건 무슨 에러인지 잘 모르겠지만 jni 의 ndk-build를 하다가 문제가 된것 같기는 하다.

 Cygwin : Generating dependency file converter script
make[1]: *** No rule to make target 'jni/..//submodules/belle-sip/build/android/../../src/belle_sip_messageLexer.c', needed by 'obj/local/armeabi-v7a/objs/bellesip/belle_sip_messageLexer.o'. 멈춤.
make[1]: *** 끝나지 않은 작업을 기다리고 있습니다....
make[1]: Leaving directory '/cygdrive/c/eclipse/workspace/linphone-android'
Makefile:174: recipe for target 'generate-libs' failed
make: *** [generate-libs] Error 2

 

=> 일단 내가 변경해본 것은 Appilcation.mk 에서 sqlite 앞에 BUILD_SQLITE = 0 을 추가해준 것과

android.mk 파일에서 BUILD_X264=0, LINPHONE_VIDEO=0 이다

 

19. 그랬더니 역시나 해결되지는 않았다..

 /cygdrive/c/Android/android-ndk-r9/build/core/build-binary.mk:345: recipe for target 'obj/local/armeabi-v7a/objs/bellesip/belle_sip_headers_impl.o' failed
make[1]: *** [obj/local/armeabi-v7a/objs/bellesip/belle_sip_headers_impl.o] Error 1
make[1]: *** 끝나지 않은 작업을 기다리고 있습니다....
/cygdrive/c/Android/android-ndk-r9/build/core/build-binary.mk:345: recipe for target 'obj/local/armeabi-v7a/objs/bellesip/belle_sdp_impl.o' failed
make[1]: *** [obj/local/armeabi-v7a/objs/bellesip/belle_sdp_impl.o] Error 1
make[1]: Leaving directory '/cygdrive/c/eclipse/workspace/linphone-android'
Makefile:174: recipe for target 'generate-libs' failed
make: *** [generate-libs] Error 2

 

20. 다시 초심으로 돌아가 처음부터 다시 컴파일을 시도해본다.

 + aclocal
cygwin warning:
MS-DOS style path detected: \oracle\product\10.2.0\db_1\perl\5.8.3\lib\MSWin32-x86;D/5.14.2/cygwin-thread-multi-64int
Preferred POSIX equivalent is: /cygdrive/c/oracle/product/10.2.0/db_1/perl/5.8.3/lib/MSWin32-x86;D/5.14.2/cygwin-thread-multi-64int
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

 그러던 중 위와 같은 메시지를 확인하게 된다. 이건 뭘까..?

구글링으로 찾아보니 cygwin에서 잘못된 MS-DOS용 PATH 표기법이 사용되서 WARNING이 난 것이라네.. 굳이 해결하지 않아도 되지만 깔끔한 컴파일을 위해 해결 방법을 UTILL 관련 지식 메뉴에 올려두었다.

 

 

21. 마지막으로 문제가 된 부분은 jni 폴더에 존재하는 Android.mk 파일과 Application.mk 파일의 차이점 때문이었다. 내가 덮어씌운 폴더 및 파일은 총 3개(jni 폴더 / belle-sip 폴더 / Makefile 파일)이다.

해당 파일들의 차이점에 대해 알아봐야겠다..

 

 

먼저, Makefile 에서 어떤 것들이 변경되었는지 확인해보자.

 <Makefile>

BUILD_UPNP=1
BUILD_REMOTE_PROVISIONING=1
BUILD_AMRNB=full # 0, light or full
BUILD_WEBRTC_AECM=1
BUILD_FOR_X86=1
LINPHONE_VIDEO=1
BUILD_TLS=1
BUILD_SQLITE=1

=> 위의 값들을 모두 0으로 변경!

 

 

#libvpx
LIBVPX_SRC_DIR=$(TOPDIR)/submodules/externals/libvpx
$(LIBVPX_SRC_DIR)/vp8/common/asm_com_offsets.c.S:
cd $(LIBVPX_SRC_DIR) && \
./configure --target=armv7-android-gcc --sdk-path=$(NDK_PATH) --enable-error-concealment && \
make asm_com_offsets.asm \
|| ( echo "VP8 prepare stage failed." ; exit 1 )
prepare-vpx: $(LIBVPX_SRC_DIR)/vp8/common/asm_com_offsets.c.S

=> 위의 값들을 모두 주석처리!

 

 

$(TOPDIR)/res/raw/rootca.pem:
HTTPS_CA_DIR=$(HTTPS_CA_DIR) $(TOPDIR)/submodules/linphone/scripts/mk-ca-bundle.pl $@

=> 위의 값들을 모두 주석처리!

 

 

prepare-sources: prepare-ffmpeg prepare-ilbc prepare-vpx prepare-silk prepare-srtp prepare-mediastreamer2 prepare-antlr3 prepare-belle-sip $(TOPDIR)/res/raw/rootca.pem prepare-sqlite3

=> prepare-sources: prepare-ffmpeg prepare-ilbc prepare-silk prepare-srtp prepare-mediastreamer2 prepare-antlr3 prepare-sqlite3 변경!

 

다음으로는 jni 폴더에 존재하는 Android.mk 파일과 Application.mk 파일을 확인해보자.

 

혹시 다른 문제가 발생할 경우 아래 사이트에서 해결방법을 찾아보는 것도 좋을 것 같다.

[참고 사이트] http://boonyboony.tistory.com/entry/5-Adnroid-Linphone-NDK-빌드-해보기-2

조회 수 :
12796
등록일 :
2014.10.21
04:40:01 (*.160.88.200)
엮인글 :
http://webs.co.kr/index.php?document_srl=252626&act=trackback&key=3d0
게시글 주소 :
http://webs.co.kr/index.php?document_srl=252626
List of Articles
번호 제목 글쓴이 날짜 조회 수
54 Using the raspberry pi for video monitoring Compiling linphone on the rasberry pi admin 2017-09-26 476
53 iphone 아이폰 Linphone 070번호 설정 방법 발신 음질매우좋음 수신잘안됨 file admin 2016-01-30 2340
52 중국 미국 카나다 한국 유선 무선 전화 ↔ 유럽 남미 아푸리카등 전세계 무료통화 방법 admin 2015-02-28 17056
51 070가입 않고 국내 유선 무선 집전화 휴대폰 전화 해외 국내에서 전화 수신 받는 방법 admin 2015-02-28 33539
50 using a g729 codec in SipDroid Add G729 to Sipdroid admin 2014-12-28 6569
49 compile linphone android ubuntu 안드로이드 개발환경 구축 eclipse admin 2014-12-25 6947
48 How to add ID / Password for payment user ? file admin 2014-11-24 7436
47 SIP 샘플 소스 분석 - oSIP, Linphone - file admin 2014-10-21 9282
46 pjsip softphone 컴파일 방법 admin 2014-10-21 8029
45 GCM 서버 구현 예제(3)_JAVA를 이용한 푸시 서버 admin 2014-10-21 8263
» Linphone 오픈소스 컴파일 admin 2014-10-21 12796
43 Install and configure Linphone admin 2014-10-21 7269
42 Compiling linphone 3.7.0 on Debian Wheezy admin 2014-10-21 9269
41 Jitsi Videobridge meets WebRTC admin 2014-10-18 7605
40 Compiling PJSIP for IOS : To specify the target platform is iOS admin 2014-10-10 7610
39 opus-codec Opus Interactive Audio Codec admin 2014-10-10 7711
38 HD-Voice의 정체 admin 2014-10-09 7648
37 Acrobit 아이폰 용 sip 프로그램 Softphone 070인터넷전화 수신 잘되는 client 무료 file admin 2014-06-02 12926
36 HSS070 스마트폰 무제한 무료통화 앱 WIFI 2G 3G 4G LTE VOIP mVOIP SIP 요금절약 admin 2014-05-31 8444
35 webrtc 화상회의 시스템 admin 2014-05-11 9455
34 Turn your iPad, iPhone, iTouch into a SIP phone with 3CXPhone admin 2014-04-17 7880
33 question re: re-registration vs keep alive admin 2014-03-16 9668
32 Rate Primium file admin 2014-03-10 8309
31 HSS070 스마트폰 무료통화 앱 WIFI 2G 3G 4G LTE VOIP mVOIP SIP 요금절약 file admin 2014-02-11 36962
30 mVoIP 보다 VoLTE가 좋은 점 admin 2013-11-21 9711
29 Wi-Fi.3G설정하기 안드로이드 android 스마트폰 file admin 2013-11-10 9219
28 MVOIP 또는 카톡 수신을 위해 ^^ 3G안되는 폰 wifi 항시 작동 시키기 켜기 ^^ admin 2013-11-10 10854
27 Sipdroid wiki and english manuall file admin 2013-11-09 15641
26 LinuxPlanet Blogs Archive for the ‘sipdroid’ Category admin 2013-11-09 9404
25 TCP Connection Test Program file admin 2013-09-28 12316
24 Android SIP app LIB Project VOIP admin 2013-09-26 14378
23 Session Initiation Protocol android phone latency problem admin 2013-09-25 9875
22 Third party open source sip stacks library for Android over B4A 오픈소스 라이브러리 admin 2013-09-23 12269
21 FREE DIAL 1877-6128 국제전화 카드 국가별요금 및 사용방법 (휴대폰) file admin 2013-04-18 20652
20 ▒ 국내통화 최저요금 통화방법 요금 최소로 최대절약 효과 ▒ file admin 2013-02-26 12116
19 SK LG KT 통신사별 MVOIP를 인터넷전화 사용할 수 있는 요금제는? file admin 2013-02-23 13411
18 유선전화 인터넷전화 시내 시외 통화량 추이 2007 ~ 2011 admin 2013-02-22 11955
17 공짜 모바일 인터넷 전화 카톡 왜 안뜨지? admin 2013-02-21 11436
16 스마트폰 사용자 이젠 모바일 인터넷전화 사용해도 됩니다.(완벽한 통화 보장) admin 2013-02-21 11121
15 BRIA IPhone Edition User Guide file admin 2013-02-20 12550
14 KT 휴대폰 요금제 정리 admin 2013-02-17 11604
13 스마트폰 앱 안드로이드 아이폰 인터넷전화 무료전화 070 FAX to Email 수신 file admin 2013-02-13 37131
12 스마트폰 앱 및 인터넷전화 요금 휴대폰 45원/분 유선 35원 3분 admin 2013-02-07 10033
11 무료 Media5 SIP CLient 안드로이드 및 아이폰 설정 국내 국제전화 사용 방법 file admin 2013-02-05 14510
10 Making Your Computer Accessible to the Public Internet: STUN admin 2013-02-05 11414
9 안드로이드 sip client Media5 강력 추천 통화품질 및 GUI 모두만족 설정 및 사용 방법 admin 2013-02-05 12051
8 We are strongly Recommand media5 SIP client in IPhone and Anddorid .(video) admin 2013-02-05 11390
7 아이폰용 SIP Client 앱 BRIA 강력하고도 완벽한 음성및 네트워크 지원 admin 2012-08-22 16021
6 Sipdroid source code 및 컴파일 compile Build success completely admin 2012-08-22 24870
5 Android 폰 에서 Sipdroid 설치 및 설정 전화걸기 사용방법 MVOIP file admin 2012-08-12 20268
4 스마트폰에서 SIPDroid 설치 설정 전화걸기 사용방법 admin 2012-08-02 18497
3 Download Source Code Pjsip admin 2012-04-26 19891
2 siphon sourcecode admin 2012-04-26 15937
1 Siphon SIP -VoIP for iPhone and iPod Touch admin 2012-04-26 17383
■ 무료 : 유선 집전화 휴대폰 ( 한국 미국 중국 카나다) ↔ (국내 해외 여행자 상사 주재원 유학생) / 가입무 무제한무료■