gcc 버전 문제로 인하여 데비안-3.1 Sarge 를 설치하던 중, 더이상 기존의 stable apt 업데이트는 sarge 및 기타 하위 버전을 지원하지 않는 것을 알았다.

 아마도, 다른 아카이브로 옮겨간 듯 싶어 잠시 공식 아카이브를 찾아보니 다음의 메시지를 볼 수 있었다.
See http://www.debian.org/ for information about Debian GNU/Linux.

This FTP site is a repository for old debian releases. For new releases
please see ftp://ftp.debian.org/debian/.

Releases are stored by their codenames under the dists/ directory.
etch is Debian 4.0
sarge is Debian 3.1
woody is Debian 3.0
potato is Debian 2.2
slink is Debian 2.1
hamm is Debian 2.0
bo is Debian 1.3
rex is Debian 1.2
buzz is Debian 1.1

If you are using APT the relevent sources.list entries are like:
deb http://archive.debian.org/debian/ $RELEASE main contrib
for example:
  deb http://archive.debian.org/debian/ sarge main contrib


즉, /etc/apt/sources.list 파일안에
deb http://archive.debian.org/debian/ sarge main contrib
라인을 추가하면 된다. :)

물론 가장 기본적인 소스 리스트 이므로 앞으로 더 필요한 소스 리스트들이 있다면 별도로 추가해서 사용해야 할 것이다.




 Linux/Unix 프로그래밍을 하다보면 GCC 버전에 영향을 받는 경우가 있다.

 예를 들면 ACE 라이브러리를 컴파일 할 경우, gcc-4.x 대의 버전에는 컴파일 오류가 발생한다.

 그래서 부득이 gcc/g++ 을 다시 설치하려고 해도 여의치 않는 경우가 많다. 이럴 경우 다른 배포판을 찾아보게 되는데, 여기에 배포판마다 가지고 있는 gcc의 버전 정보를 싣는다.


Distribution Version Compiler version Provided by Date
BeOS R5.1, Zeta gcc 2.9-beos-000224 Yuri Kiryanov 18 June 2004
Debian Release 2.2 gcc 2.95.2 Craig Southeren <craigs@postincrement.com> 15 June 2004
Release 3.0
(Woody)
gcc 2.95.4 Craig Southeren <craigs@postincrement.com> 11 June 2004
Sarge gcc 3.3.5 (final stable version)
gcc 3.3.3 (interim releases)
Kilian Krause <kk@verfaction.de> 15 June 2005
Sid gcc 4.0.1 Kilian Krause <kk@verfaction.de> 19 July 2004
FreeBSD Release 4.8 gcc 2.95.4 Craig Southeren <craigs@postincrement.com> 15 June 2004
Release 4.9
(Stable)
gcc 2.95.4 20020320 Pavel Pavlov <block111@mail.ru> 14 June 2004
Gentoo Stable gcc 3.3.3 Brian Raymond <brian.raymond@dataline.com> 11 June 2004
Mandrake Release 7 (Air) gcc 2.95.2 Craig Southeren <craigs@postincrement.com> 11 June 2004
Release 9.1 gcc 3.2.2 Rene Schallner <rs@rocksolid.at> 11 June 2004
Release 9.2 (FiveStar) gcc 3.3.1 Alexandre Aractingi <aaractingi@libertysurf.fr> 11 June 2004
Release 10.0 gcc 3.3.2 Rene Schallner <rs@rocksolid.at> 11 June 2004
Release 10.1 gcc 3.4.1 Frederic Crozat <fcrozat@mandrakesoft.com> 30 Sep 2004
MontaVista Professional 3.1
for XScale
gcc version 3.3.1 (MontaVista 3.3.1-3.0.10.0300532 2003-12-24) Yuri Kiryanov 18 June 2004
NetBSD Release 1.6.1 gcc 2.95.3 Craig Southeren <craigs@postincrement.com> 15 June 2004
OSX 10.1 Server Edition gcc 2.95.2 Craig Southeren <craigs@postincrement.com> 15 June 2004
10.2 Jaguar gcc 3.1 Malcolm Caldwell <malcolm.caldwell@ntu.edu.au> 11 June 2004
10.2 Server Edition gcc 3.3 20030304 Craig Southeren <craigs@postincrement.com> 15 June 2004
10.3 Panther gcc 3.3 20030304 Brian Raymond <brian.raymond@dataline.com> 22 June 2004
10.4 Tiger gcc 4.0.0
(powerpc-apple-darwin8-gcc-4.0.0)
Hannes Friederich <hannesf@ee.ethz.ch> 15 June 2005
OpenBSD Release 3.4 gcc 2.95.3 Craig Southeren <craigs@postincrement.com> 15 June 2004
Red Hat Release 6.1
(Cartman)
gcc egcs-2.91.66 Bruce Ferrell <bferrell@baywinds.org> 11 June 2004
Release 6.2 (Zoot) gcc egcs-2.91.66 Alexandre Aractingi <aaractingi@libertysurf.fr>  
Release 7.3 (Valhalla) gcc 2.96 20040412 Malcolm Caldwell <malcolm.caldwell@ntu.edu.au> 11 June 2004
Release 8.0A (Second-Edition) gcc 3.2 20020903
(Red Hat Linux 8.0 3.2-7)
Federico Pinna <f.pinna@reitek.com> 11 June 2004
Release 9 (Shrike) gcc 3.2.2
(gcc 2.96 available as "gcc296")
Craig Southeren <craigs@postincrement.com> 11 June 2004
Advanced Server release 2.1AS/\m
(Pensacola)
gcc 2.96 Malcolm Caldwell <malcolm.caldwell@ntu.edu.au> 11 June 2004
Enterprise Linux AS release 3
(Taroon Update 2)
gcc 3.2.3 Malcolm Caldwell <malcolm.caldwell@ntu.edu.au> 11 June 2004
Fedora Core 1 gcc 3.2.2 / gcc 3.2.3 Craig Southeren <craigs@postincrement.com> 11 June 2004
Fedora Core 2 gcc 3.4.0 / gcc 3.3.3 Derek Smithies <derek@indranet.co.nz> 11 June 2004
Fedora Core 3 gcc 3.4.2 / gcc 4.0.0 Craig Southeren <craigs@postincrement.com> 14 June 2005
Fedora Core 4 gcc 4.0.0 Craig Southeren <craigs@postincrement.com> 14 June 2005
Slackware Version 9.1 gcc 3.2.3 Craig Southeren <craigs@postincrement.com> 11 June 2004
Version 10.0 gcc 3.3.4 Craig Southeren <craigs@postincrement.com> 24 June 2004
Suse Release 8 ES on AMD64 gcc 3.2.2 Craig Southeren <craigs@postincrement.com> 15 June 2004
Version 9.0 gcc 3.3.1 Jan Willamowius <jan@willamowius.de> 11 June 2004
Version 9.1 gcc 3.3.3 Kilian Krause <kk@verfaction.de> 17 June 2004
Tornado
(VxWorks)
2.0.1 for ARM gcc 2.7.9-970819
egcs-971225 tornado 2.0
Mark DeBruin
mark.de.bruin@philips.com
11 June 2004
2.1.1 for ARM gcc 2.9-010413 Mark DeBruin
mark.de.bruin@philips.com
11 June 2004
2.1.1 for MIPS gcc 2.96 Mark DeBruin
mark.de.bruin@philips.com
11 June 2004
2.2.1 for MIPS gcc 2.96-mips3264-010729 Mark DeBruin
mark.de.bruin@philips.com
26 August 2004
2.2.1 for XScale gcc 2.9-010413 Mark DeBruin
mark.de.bruin@philips.com
11 June 2004


 출처 : http://www.voxgratia.org/docs/compilers.html#intro



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




태그 : Ace,Linux,ubuntu


 정말 재미있다... 잉여의 가치란 결코 쓸모없는 것이 아니다. :)




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

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

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

 

 

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

 

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

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

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

 

 

p.s -

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

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

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

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

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

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

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

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