ACE library 설치법..

1. 공식 다운로드 페이지에서 ACE-5.5.tar.gz파일을 다운로드 받습니다.

2. 환경 변수를 설정합니다.(~/.bash_profile)
  – ACE_ROOT=/home/k2/Apps/ACE_wrappers;export ACE_ROOT
  – LD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib:$LD_LIBRARY_PATH;
    export LD_LIBRARY_PATH

3. $ACE_ROOT/ace에서 심볼릭 링크 추가합니다.
  – ln -s config-linux.h config.h

4. $ACE_ROOT/include/makeinclude 에서 심볼릭 링크 추가합니다.
  – ln -s platform_linux.GNU platform_macros.GNU

5. $ACE_ROOT/ace에서 make

6. 컴파일 제대로 되었는지 확인합니다.
  – $ACE_ROOT/examples/Threads에서 make
  – ./task_one 실행하면은 아래 결과처럼 나오면 성공이에요
  (3076410288) in iteration 1
  (3076410288) in iteration 2
  (3076410288) in iteration 3
  (3076410288) in iteration 4
  (3076410288) in iteration 5
  (3076412064) done

7. 설치된 라이브러리 디렉토리는 $ACE_ROOT/lib입니다.

8. 그 다음 ACE 라이브러리를 확인하여 서버 프로그램 개발을 하면 됩니다.

출처 : http://sexymiru.egloos.com/1967295

——————————————————————————————

 실행환경 : ubuntu-10.04 Desktop 버전에서 에러 발생.

 컴파일 중 재정의 문제가 발생. 설치가 진행되지 않는다. configure 를 이용한 설치에도 제대로 진행이 되지 않았다.

 구글과 ACE 메일링 리스트를 살펴서 여러가지 해결법을 찾아보았지만 보이지 않았다… 어떻게 해야되는 것일까…

 Ubuntu-09.04(혹은 09.10) Server 버전에서는 아무 문제 없이 컴파일 되는 것을 확인 했다. 특별히 배포판을 가리지는 않는 것 같다. 아마도 문제점은 커널 버전 혹은 g++ 의 버전 정도가 될 것 같다.

 재정의 컴파일 오류가 났으니 특정 라이브러리가 설치되지 않아서 생기는 문제는 아닌 것 같다.

 사실, ACE-5.8.* 버전은 설치가 쉽게 되었다. 하지만 ACE-5.8.* 대의 버전을 설치할 경우, ACE-5.5.* 버전에서 지원하는 메소드 및 함수가 지원되지 않은 것들이 있다.

 즉, 내가 필요로 하는 메소드와 함수들은 ACE-5.8.* 버전에서는 지원하지 않는 것이다.

 흠.. 조금 더 낮은 버전에서 찾아볼까..

———————————————————————————-

 설치의 실마리를 찾았다.

  • windows
    • ACE_wrapper/ace 에서
    • config.h 파일 생성
      #define ACE_HAS_STANDARD_CPP_LIBRARY 1
      #include “config-win32.h”
  • linux
    • ACE_wrapper/ace 에서
      ln –s config-linux.h config.h
    • ACE_wrapper/include/makeinclude 에서
      ln –s platform_aix_ibm.GNU platform_macros.GNU
    • .bash_profile
      export ACE_ROOT=~/Library/ACE-5.7.9
      export LD_LIBRARY_PATH=$ACE_ROOT/ace
    • ACE_wrapper/ace 에서
      ../configure –enable-stdcpplib
      gmake buildbits=64
  • AIX
    • ACE_wrapper/ace 에서
      ln –s config-aix-5.x.h config.h
    • ACE_wrapper/include/makeinclude 에서
      ln –s platform_aix_ibm.GNU platform_macros.GNU
    • .profile
      export ACE_ROOT=$HOME/lib/ACE-5.5/ACE_wrappers
      export LIBPATH=.:$ACE_ROOT/ace
    • ACE_wrapper/ace 에서
      ../configure –enable-stdcpplib
      gmake buildbits=64 static_libs=1

 출처 : http://anyons.net/tc/entry/ACE-%EC%84%A4%EC%B9%98-%EB%B0%A9%EB%B2%95

Where the hell is Matt?

계속 보다보니 소스라치게 감동적이네요…

끝까지 보세요. 판문점, 남대문도 나옵니다.

그저 보고만 있어도 세상이 하나가 될 것 같은 영상입니다.

 

 

유튜브에 달린 덧글 중 기억에 남는 문구를 옮겨봅니다.

 

‘사람이 삶을 살면서 이룰 수 있는 것들은 무수히 많지만

맷, 당신이야말로 진정 무언가를 이루어냈군요.

대통령이 되느니 당신의 신발이 되겠습니다.’

 

 

p.s –

간략한 히스토리를 들려드리자면…

동영상을 만든 맷하딩은 원래 게임개발자였는데

회사에서 “Destroy All Humans“라는 게임을 맡기자

사표를 내고 여행을 떠났다고 합니다. -_-;

이때 만든 비디오가 입소문을 타며 총 3개의 “Where is Matt” 시리즈가 탄생!

(물론 두번째부터 스폰서가 생겼구요~ 위에 올려놓은 영상은 가장 최근 2008년도 버전!

14개월간 42개국을 방문했다는군요.

여담으로 유튜브 창업자가 자신의 포탈에서 가장 마음에 드는 영상으로 맷하딩을 꼽았다고 합니다. )

vi 에디터에서 DOS 모드, UNIX 모드 설정하기

 오늘 회사에서 작업하던 중, 분명히 vi 에디터로 스크립트 파일을 열어서 확인을 할때는 개행문자와 파일 내용들이 이상없이 나타나 있는데, 콘솔로 스크립트를 실행시키면 라인의 끝에 “^M” 이 붙어있어서 제대로 실행을 할 수 없다는 에러메시지만 자꾸 나타났다.

 역시나 인터넷에서 검색을 해보니 답은 금방 나왔다.

*** 검색어: nabiro, vi, dos, unix, mode, 모드, ^M, 컨트롤M, Ctrl + M

vi 편집기로 작업 완료해서 UNIX에 업로드 하면 가끔 특정 파일의 라인끝에 ^M 문자가 붙는 경우가 있습니다.
이것은 윈도우에서 편집하여 저장할 때 DOS 모드로 저장이 되어 모든 라인의 끝 (엔터키를 친곳)에 CR/LF가 붙기
때문입니다.

유닉스에서는 CR 이던가 LF 이던가 하나만 엔터로 인식하여 ^M 문자가 라인 끝에 붙게 됩니다.

이를 막기 위해서는 윈도우의 vi 에디터에서 파일을 저장할 때 UNIX 모드로 저장해야 합니다.
유닉스 모드로 변경하는 명령어는 아래와 같습니다.

set fileformat=unix

DOS 모드는

set fileformat=dos

위 명령어를 적용한 후 저장하면 각각의 모드로 저장됩니다.

출처 : http://nabiro.tistory.com/entry/vi-%EC%97%90%EB%94%94%ED%84%B0%EC%97%90%EC%84%9C-DOS-%EB%AA%A8%EB%93%9C-UNIX-%EB%AA%A8%EB%93%9C-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0

 간단한 것이었는데… 역시나 기본기가 정말 중요하다는 것을 새삼스레 느낀다..