본문 바로가기
프로그래밍/PC

Lazarus Indy 10 설치하기... - 리눅스

by 사악신 2014. 3. 19.


델파이를 사용하든 라자루스를 사용하든 애증의 인디 컴포넌트를 피할 수는 없습니다. 어떤식으로든 다시 만나게 되어있죠. 물론, 델파이라면 기본적으로 인디가 설치되어있지만, 라자루스의 경우라면 직접 소스를 받아 설치를 해주어야합니다.


먼저, 소스를 다운로드합니다.(http://www.indyproject.org/Sockets/fpc/index.EN.aspx)



헌데 자세히 보면 zip 으로 압축되어 올라와있는 소스의 경우, 2007년 11월 13일 이후로 전혀 업데이트가 되어있지 않은 상황입니다. 멋모르고 이 녀석을 다운로드하여 설치하면 쏟아지는 에러를 경험할 수 있게 됩니다. 그럼 어떻게 해야할까요? 별 수 없습니다. 그날 그날 올라오는 인디 소스를 체크아웃하여 쓸 수 밖에... ㅡㅡㅋ 불안하시다고요? 하지만 6년전 소스 보다 나은 것은 확실해 보입니다.


헌데 또 하나 문제가 있습니다. 이렇게 소스를 직접 받아오려고 하여도 저장소 인증서(SSL) 오류 문제로 쉽게 소스를 가져올 수 없습니다. 이래 저래 시도해본 결과 SamrtSVN 을 사용하니 해당 오류를 통과할 수 있었습니다.

(2014/03/19 - [프로그래밍/서버관리] - CentOS SmartSVN 설치하기)


SmartSVN 을 이용하여 인디 소스를 체크아웃합니다.



이렇게 경고창이 뜰때 Accept 버튼을 클릭합니다.



아이디는 Indy-Public-RO 를 입력하고, 비밀번호는 사용하지 않습니다. 로그인 버튼을 클릭합니다.



버전 정보를 모두 불러오면 다음 버튼을 클릭합니다.



저장할 위치는 라자루스가 설치되어있는 경로를 사용하였습니다. 64비트 리눅스를 사용하고 있는 관계로 /usr/lib64 디렉토리 아래 라자루스가 위치합니다.



완료 버튼을 누르면 소스들을 모두 가져옵니다.


이렇게 소스를 모두 가져온 후, 라자루스를 실행합니다. 참고로 저는 root 계정에서 상기 과정을 모두 진행하였습니다.



열기(File > Open)를 통하여 indylaz.lpk 패키지를 불러옵니다.



옵션 버튼을 클릭한 후, Other unit files 를 추가합니다.




Lib 디렉토리 아래 Core, Protocols, Security, SuperCore, System 디렉토리를 추가합니다.



컴파일을 시도하면 상기와 같은 오류창이 뜨는 경우가 있는데 가볍게 무시해줍니다.



컴파일 중 LIBEXT 지시자를 찾을 수 없다는 오류 메시지가 발생하면, IdGlobal.pas 파일을 수정합니다.


{$IFDEF LINUX}

  {$DEFINE LIBEXT_IS_SO}

{$ENDIF}



리눅스 버전이므로 상기의 내용을 추가 한 후, 저장합니다. 그리고 다시 컴파일합니다.



컴파일이 완료되면 패키지를 설치합니다. 라자루스의 경우 IDE 까지 같이 빌드하게됩니다.



제 경우엔 설치 도중 상기와 같은 경고창이 뜨더군요. 그래서 설정으로 들어가 경로를 다시 수정하였습니다.



상대 경로에서 심볼을 이용한 절대 경로로 변경하였는데요. 다시 설치를 시도하니 이번엔 제대로 완료되면서 라자루스가 재실행되었습니다.



인디 컴포넌트가 추가된 게 보입니다. IDE 우측의 작은 화살표 버튼을 클릭하면 팔레트 페이지 트리(?)가 세로로 나타납니다.



폼 위에 컴포넌트를 올려보았습니다. 2007년 소스를 사용하여 설치하였을 경우, 서버 컴포넌트를 올렸을 때 오류 창과 함께 라자루스가 종료되는 현상이 있습니다. 그러니 현 시점에서는 주기적으로 소스를 받아 사용할 수 밖에 없어보입니다. 프로젝트 속성(Project > Project Options)에 인디 경로들(Core, Protocols, Security, SuperCore, System)을 추가하고 소스를 컴파일하고 정상 동작하는지 확인합니다.



반응형

댓글