안녕하세요.
우분투 11.04 64bit, froyo 기반의 android source, arm-none-linux-gnueabi(2008q3) 기반에서
cross 컴파일을 하려고 합니다.
일단 apk 들은 제대로 컴파일이 되는데 그 다음에 user space build 하는 부분에서…
보아하니 omap 관련인 것으로 보아, cross compile 을 수행하는 것으로 보입니다만
결과적으로 아래와 같이 asm 파일에서 syntax에러를 내고 멈춥니다.
해당 asm파일을 뒤져보니… 어셈블리에서 한줄짜리를 두 줄로 표기할때 / 를 넣주는것 같은데
여기서 에러가 나네요. 결국 / 없애고 두 줄짜리 한줄로 만들면 해당 에러 해결되고요.ㅣ; 다음에 또
그런 부분에서 계속 에러가 나네요…
다른 서버에서는 컴파일이 완료가되었다고 하는데… 소스상으로 이상은 없는 것 같습니다.
어찌해야 할까요? T.T 툴체인 버젼문제일까 싶어서 성공한 것과 동일한 버젼으로 수행하였고요.
/source/android/app/GFX_Linux_DDK/proprietary-ddk/src/eurasia/services4/srvclient/devices/sgx/transferqueue_use.asm(292): error: syntax error, unexpected INSTRUCTION_DELIMITER, expecting IDENTIFIER.
make[3]: *** [tmp_omap3630_android_release_libsrv_um.so/transferqueue_use.obj] 오류 1
make[2]: *** […/services4/srvclient/env/linux] 오류 1
make[1]: *** [subdirs] 오류 2
make: *** [all] 오류 2
make 하실때 V=1 옵션을 주셔서 gcc 옵션을 올려주시고 빌드 에러난 asm 파일을 첨부해주시면
원인 파악하는데 도움이 될것 같습니다.
[quote="ihavnoth":14vz8620]make 하실때 V=1 옵션을 주셔서 gcc 옵션을 올려주시고 빌드 에러난 asm 파일을 첨부해주시면
원인 파악하는데 도움이 될것 같습니다.[/quote:14vz8620]
빌드 옵션 부분은 위와 같이 V=1 으로 되어 있는 것 같습니다.
asm 파일을 전부 붙일 수 없어 에러 부분을 발췌합니다
아래와 같이 2번째 라인에서 에러가 발생한다고 메시지가 나오고, 살펴보니 윗줄의 \ 를 없애고 한줄로 만들면 정상으로
인식됩니다.
MAKEFILLROP(NotAndNot, xor o0 _ sa0 _ #0xFFFFFFFF;
and.end o0 _ o0 _ ~pa0; ) /* Rop=0x05 : NOT pat AND NOT dst */
그런데… 이 파일만 그런것이 아니고… 곳곳에 있는 asm 파일에서 다 발생하는 군요…
저만 그런다는 것이지요… 컴파일 툴 체인 버젼 등이 잘못되어 있나 살펴봐도… 소스 상에 툴체인 자체가 포함되어 있기에
다른 컴파일을 하는 것도 아닐터인데…
단지 다른 점이라고 한다면… 전 우분투 11.04를 쓴다는 것이겠지요…
어렵네요…
This error does not occur when building on Ubuntu 10.04, and I’ve tracked it down to a difference in the build toolchain. [url=http://mjanja.co.ke/2012/04/ubuntu-gcc-4-4-considered-harmful/:3aat51x0]Downgrading to GCC 4.4[/url:3aat51x0] should resolve the issue:
[code:3aat51x0]su
apt-get install gcc-4.4 g+±4.4 g+±4.4-multilib gcc-4.4-multilib
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g+±4.4 100
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g+±4.6 50
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 100
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 50
update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.4 100
update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.6 50[/code:3aat51x0]