구글 네이티브 클라이언트 - 2. NaCl SDK 설치

프로그램을 작성하기 위해서는 SDK를 설치해야 합니다. 구글 네이티브 클라이언트를 영어로 적으면 Native Client이고 단어를 모아서 NaCl이라고 부릅니다. NaCl, 화학명으로 소금이죠. 그래서인지 구글은 네이티브 클라이언트의 SDK를 Pepper(후추) 이름으로 버전 관리를 합니다. 최근에는 Pepper 23번까지 나온 것으로 알고 있는데, 아직은 Pepper 22 버전까지만 제공되고 있습니다. 한번 내려 받으면 업데이트 명령으로 간단히 최신 버전으로 업그레이드할 수 있어 편합니다.

Pyton 설치

NaCl SDK 설치는 아래의 링크에서 자세히 설명되어 있습니다만, 저 나름대로 설치한 방법을 정리해 보겠습니다.

설치 순서는 아래와 같습니다.

  1. Python을 설치합니다.
  2. Python을 경로에 관계없이 실행할 수 있도록 환경 변수에 Python 설치 위치를 등록
  3. NaCl SDK 업데이트 유틸리티를 다운받아 적당한 곳에 풀고
  4. 업데이트 명령으로 Pepper 버전을 내려받습니다.

제가 설치한 방법을 정리하기 전에 구글 크롬 NaCl의 애플리케이션을 실행하는 방법도 간단히 정리합니다.

  1. Pepper가 제공하는 웹 서버 실행
  2. 예제 프로그램을 컴파일
  3. json 파일을 생성하고 구글 크롬에 등록
  4. 실행

자, Phthon부터 설치하겠습니다. 아래의 링크를 통해 Python 최신 버전을 설치합니다.

이 글을 작성하는 현재는 2.7.3이 최신 버전이네요. 윈도우 버전으로 내려받아 설치했습니다.

설치 위치는 기본으로 지정된 C:\Pytone27에 했습니다.

설치 완료 후에 디렉토리 어디서든 Python을 실행할 수 있도록 시스템 속성 중 Path에 Pyton의 설치 경로를 추가합니다.

Path 속성에 구분자인 세미콜론을 사용하여 ";C:\Python"을 추가합니다. 경로를 추가한 후 도스창을 실행하고 Python 의 버전을 확인하는 방법으로 경로가 제대로 설정되었는지 확인합니다.

NaCl SDK 설치

아래의 링크를 이용해서 NaCL 업데이트 유틸리티를 설치합니다. 업데이트 유틸리티를 이용하여 SDK를 업그레이드하는 방법을 통해 최선 SDK가 설치 됩니다.

만약, 위 링크가 유효하지 않다면 아래 링크의 페이지를 참고하세요.

내려 받은 nacl_sdk를 적당한 곳에 풀어 놓습니다. 저는 C:\nacl_sdk에 설치했습니다. 설치 디렉토리로 이동한 후에 "nacl_sdk update"를 실행하여 SDK를 업데이트합니다.

업그레이드를 통해 Pepper가 버전별로 설치됩니다. "nacl_sdk list"로 설치된 Pepper 버전을 확인할 수 있습니다.

샘플 프로그램 실행

NaCl SDK 설치 폴더에는 버전별로 Pepper가 저장되어 있고 각 버전벼로 샘플이 있습니다. 저 같은 경우 Pepper 20, 21, 22 버전이 설치되어 있는데, 22 버전 샘플 중에는 컴파일이 안 되는 경우가 있네요. 그래서 21버전에 있는 샘플 중 가장 간단한 hello_world을 컴파일하고 실행해 보겠습니다.

NaCl 애플리케이션을 웹서버 없이 파일을 직접 지정해서 실행할 수 있지만, 웹 서버를 경유해서 실행하는 것이 올바릅니다. NaCl의 Pepper 버전 별로 examples 폴더가 있고 그 폴더에 웹 서버가 있습니다. example 안의 샘풀을 실행하기 위해서는 샘플이 들어 있는 examples에 있는 웹 서버를 실행합니다.

즉, c:\nacl_sdk\pepper21\example\hello_world를 실행하려면 c:\nacl_sdk\pepper21\example에 있는 웹 서버를 실행하고 c:\nacl_sdk\pepper21\example\hello_world의 애플리케이션을 실행합니다.

정리하면 아래와 같습니다.

  1. Pepper 버전마다 들어 있는 example 폴더에서 웹 서버를 실행합니다.
  2. 샘플을 컴파일하고
  3. 크롬에 등록하기 위한 Manifest.json 을 만들고
  4. 크롬에 등록한 뒤
  5. 실행합니다.

c:\nacl_sdk\pepper21\example\hello_world 샘플을 실행하기 위해 c:\nacl_sdk\pepper21\example\에서 웹 서버를 실행합니다.

서버의 포트 번호가 5103이라는 것에 주의하세요. 이제 샘플을 컴파일합니다. 샘플 폴더로 이동한 후 make를 실행합니다.

정상적으로 컴파일되면 glibc 폴더와 newlib 폴더가 생성됩니다.

이제 샘플 폴더에 아래의 내용을 담아 manifest.json 파일을 생성합니다.

{
  "name": "Hello World!!",
  "version": "0.1",
  "manifest_version": 2,
  "description": "구글 크롬 NaCl 첫번째 예제",
  "app": {
    "launch": {
     "web_url": "http://localhost:5103/hello_world"
    }
  },
  "permissions": [
    "unlimited_storage",
    "notifications"
  ]
}

구글 크롬에 등록합니다. 아래의 링크를 클릭하거나 메인 메뉴를 이용하여 "확장 프로그램 관리"로 이동합니다.

  1. 개발자 모드를 체크합니다.
  2. 보이지 않던 ["압축 해제된 확장 프로그램 로드..."]버튼이 보이면 클릭합니다.

  1. 샘플의 폴더를 선택합니다.
  2. 애플리케이션이 등록됩니다.
  3. 구글 크롬에서 새 탭을 만든 후
  4. 애플리케이션을 선택하면 애플리케이션의 아이콘이 보입니다.
  5. 아이콘을 클릭해서 실행합니다.

샘플은 아래와 같이 실행됩니다.

과정이 복잡해 보이지만, 귀찮은 작업이 있을 뿐 그렇게 복잡하지는 않습니다. 걱정이 NaCl에 대한 문서가 생각 외로 적네요. 이와 같이 적은 정보로 어떻게 화려한 애플리케이션을 만드는지 대단하다는 생각이 듭니다.


신고
싸움꾼 | 2012.10.24 23:24 신고 | PERMALINK | EDIT/DEL | REPLY
봐도 잘 모르겠다는...... ㅡ.ㅡ;; ㅎㅎ
바다야크 BaDa야크 | 2012.10.25 15:23 신고 | PERMALINK | EDIT/DEL
좀 내용이 어렵습니다. ^^
Name
Password
Homepage Secret