2015년 11월 7일 토요일

Make Cross-Compiler(1); How to Build and Install GNU Binutils on Macbook pro 2015 early


-My Development Environment
 Mac OS X 10.11.1 El Capitan  on Macbook pro 2015 early
 already installed Xcode

* '$' means Teminal Command

- Procedure
Before typing on Command Line.
 Download Binutils 2.25.1.tar.gz  from http://www.gnu.org/software/binutils/
and type these
$ tar -zxvf Binutils 2.25.1.tar.gz
$ cd binutils-2.25.1


 1. Type These Commands
    $ export TARGET=x86_64-pc-linux
    $ export PREFIX=/opt/cross      <- This location(/opt/cross) can be any folders which you want.

2. Type  $ cd ~/
             $ ls -a
 and  find .bash_profile or .profile  If you don't have make .bash_profile to use Vim
($ vim .bash_profile)

3. Type   export PATH=/opt/cross/bin:$PATH

4. Save and quit
     ESC button and :wq

5. Type

  $ ./configure --target=$TARGET --prefix=$PREFIX --enable-64-bit-bfd --disable-shared --disable-nls

  $ make configure-host
  $ make LDFLAGS="-all-static"

then when your computer is no problem,  type $ sudo make install   then input password


-References

Book <64비트 멀티코어 OS 원리와 구조 -한빛미디어>
Sites
http://nayuta.net/64%EB%B9%84%ED%8A%B8_%EB%A9%80%ED%8B%B0%EC%BD%94%EC%96%B4_OS_%EC%9B%90%EB%A6%AC%EC%99%80_%EA%B5%AC%EC%A1%B0/OS_X%EC%97%90%EC%84%9C_%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD_%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0


맥북프로 2015 early 에서 크로스 컴파일러 만들기

참고서적 <64비트 멀티코어 OS 원리와 구조>

참고 사이트
 http://nayuta.net/64%EB%B9%84%ED%8A%B8_%EB%A9%80%ED%8B%B0%EC%BD%94%EC%96%B4_OS_%EC%9B%90%EB%A6%AC%EC%99%80_%EA%B5%AC%EC%A1%B0/OS_X%EC%97%90%EC%84%9C_%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD_%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0

참고 사이트 대로 정확히 똑같이 했을 때는 계속 발생하던 오류가, 이상하게도 binutils-2.25 를 받고 하니까 작동한다. 물론 1가지 경고가 있긴 했지만 설치자체는 잘 되었다.

설명대로 binutils-2.23  $ make LDFLAGS="-all-static" 부분에서 오류가 떴는데,
2.25 이후로 문제가 없다. 사이트상 설명으로 tar.gz 압축을 풀때 'tar xzvf' 라는 명령어를 사용하는데 tar.gz 압축푸는 명령어를 'tar -zxvf'로 사용한다는 말을 보고 이렇게 해보았더니 문제가 해결된 것이 아닌가 싶기도 하다. 단순히 최신버전을 받아서 되었다고 하기에는 무언가 문제가 분명 있었던게 틀림없다고 생각한다.

혹은 내가 사용하고 있는 OS X 가 10.11.1 El Capitan 이라서 발생한 문제인가도 싶다.

댓글 없음:

댓글 쓰기