database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Tutorials 9754 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 9754
레드햇7.x 혹은 와우7.1 에서의 demo_proc.mk 컴파일 관련 힌트(?)
작성자
송호진(hjsong)
작성일
2002-02-01 11:16
조회수
7,074

정재익 님의 말씀을 듣고 힘을 얻어 여기 Tutorial 게시판에 옮겨 놓습니다. 끝에

 

부분이 짤려서 이상하게 보이는 것을 약간 정리해서 올립니다....^^;

 

-------------------------

 

제목이 좀 이상하죠???

 

실은 얼마전에 와우 7.1 에다가 오라클 8.1.7 을 깔아놓고 demo_proc.mk 를 아무리 컴파일

 

해보려고 해도 안되서 질문을 올렸었거덩요.. 그때 이름을 red 라고 쓰시는 분이 당신도

 

안되서 유닉스에서 8.0.5 버전인가? 를 설치해 놓고 하니까 잘된다고 그러셨었는데요...

 

 

지금 제 컴에는 레드햇 7.2 가 설치되어 있습니다. 오라클은 8.1.7 을 설치 했구요..

 

설치할때 각종 .mk 화일들에 대한 에러가 떨어지는 것들은 와우 7.1 에서 설치할 때와

 

마찬가지로 오라클 사이트에서 다운을 받은 glibc-2.1.3-stubs.tar.gz 을 $ORACLE_HOME 에

 

가져다가 풀어서 setup_stubs.sh 을 실행 시키는것으로 해결을 봤습니다... 그런데

 

demo_proc.mk 를 컴파일 해 보니까 역시 지난번과 마찬가지로 헤더파일에 들어있는 선언과

 

관련한 에러들이 역시 무수히 쏟아 지더라구요.

 

 

그런데 레드햇 7.2 를 설치하기전에 잠시 와우 6.2 Update 버전을 설치 해 봤었는데 거기

 

서는 설치할 때나 또, demo_proc.mk 를 컴파일 할때나 아무 문제가 없더라 그겁니다.

 

그래서 생각이 어디에 가서 닿았나 하면 와우 6.2 에 있는 컴파일러를 레드햇 7.2 에 설치

 

해서 컴파일을 돌려 보기로 했습니다. 여차저차 해서 레드햇 7.2 의 gcc-2.96 에 관련된

 

패키지들을 모두 rpm -e 로 지우고는 와우 6.2 Update 에 들어있는 egcs-1.1.2 를 설치

 

했습니다. 그랬더니 잘 돌아가더라구요.

 

 

그런데 그때 레드햇 7.2 에는 gcc3-3.0.1 이 같이 설치되어 있었거든요? 그래서

 

$ORACLE_HOME/precomp/lib/env_precomp.mk 안에 521 번째 라인에 있는 CC 의 설정을

 

cc 에서 gcc3 로 바꿔놓고 컴파일을 돌려 봤습니다. 그랬더니, 역시 잘 되더라구요...

 

 

지금 현재 시스템에 깔려있는 레드햇7.2 는 다시한번 설치를 한 것입니다. 현재는 gcc-2.96

 

만이 설치 되어 있고 대신에 지난번에 컴안에 있던 화일을 조금 복사해 뒀다가 현재 컴퓨터

 

에다가 집어 넣었죠... 그게 뭐냐 하면

 

/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66 디렉토리에 들어있었던 파일들과

 

/usr/i386-redhat-linux 에 들어있던 파일들인데 이것은 egcs-1.1.2 설치 했을때 생기는

 

여러 파일중에서 헤더파일이나 확장자를 .a 를 가지는 라이브러리 화일들의 위치를

 

변경시키지 않고 모아 놓으려다 보니 위의 두군데의 파일들을 묶어놓게 됐죠.

 

http://www.rpmfind.net 으로 가서 egcs 라고 입력해서 나오는 리스트 중에

 

egcs-1.1.2-30.i386.html 를 클릭해 보면 새로 열리는 페이지의 맨 아래 부분에

 

egcs-1.1.2-30.i386.rpm 을 설치할 경우 생기는 파일목록이 있으니까 그걸 참조해 보시면

 

될겁니다.

 

 

하여간 위에 말한 곳의 파일들 전부를 다른곳에 묶어 놨다가 다시 시스템을 지우고는

 

레드햇7.2 를 다시 설치하고 같은 장소에 파일들만 풀어놓은뒤

 

$ORACLE_HOME/precomp/admin/pcscfg.cfg 을 아래와 같이 설정했습니다.

 

sys_include=($ORACLE_HOME/precomp/public,/usr/include, \

/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include)

include=($ORACLE_HOME/precomp/public)

include=($ORACLE_HOME/rdbms/demo)

include=($ORACLE_HOME/network/public)

include=($ORACLE_HOME/plsql/public)

ltype=short

 

그리고 demo_proc.mk 의 컴파일을 돌렸죠....

 

 

결과는 성공이었습니다. 와우 6.2 에서도 sample1 을 컴파일 할때 경고가 두가지 났었는데

 

main 함수가 int 를 리턴하지 않는다는 것에서 나오는 것 하나랑, gets 인가 하는 함수를

 

사용하지 않는편이 더 좋다는 그런 경고가 생성 되었었는데, 이번에도 역시 같은 경고 두개

 

만을 생성하고는 실행화일이 잘 만들어 졌습니다. 실행두 잘 됐구요...

 

 

 

지금 현재의 제 고민은 그럼 와우 7.1 에서도 같은 결과를 가져오게 될까하는 겁니다.

 

말하자면 와우 7.1 에서도 egcs-1.1.2 를 설치해서 위에 말한 두 군데의 파일들을 묶어놓고

 

egcs-1.1.2 를 지우고 난뒤 gcc-2.96 을 설치해 놓고 파일들만 풀어놓구 난뒤에 위와 같이

 

pcscfg.cfg 를 설정해 놓고 컴파일을 돌리면 잘 돌아갈까.....

 

하는것이 지금 저의 의문이죠.. 애석하게도 제가 실험을 해볼수는 없을것 같습니다.

 

 

먼저 레드햇 7.2 를 설치 했을때는 하드에 작은 공간(7G 정도)이 남아서 거기에 임시로 7.2

 

를 설치해 놓고 실험을 해 봤었는데 ( 그때의 메인 공간에는 레드햇 6.2 가 설치되어

 

있었습니다.. ) 지금은 하드에 남은 공간이 없거든요...-_-;

 

 

혹시 와우 7.1 에 다가 오라클 8.1.7 을 설치해 놓구 demo_proc.mk 컴파일에 어려움을 겪고

 

계신분이 이 글을 보신다면 한번 해보시기를 권해 드리고 싶습니다. 그리고, 결과를 여기

 

게시판에 올려 주셨으면 합니다.

 

그러니까, 와우 7.1에 들어있는 컴파일러인 gcc-2.96 을 rpm -e 로 지우고 egcs-1.1.2 를

 

설치하고 일단 pcscfg.cfg 를 위와 같이 하고 컴파일을 돌려보고, 다시 위에서 얘기한 두

 

군데의 파일들을 묶어서 보관해 둔뒤 egcs-1.1.2 를 지우고 gcc-2.96 을 다시 설치해 놓고

 

묶어놓은 파일들을 같은 위치에 풀어놓고 demo_proc.mk 를 다시한번 실행시켜 보는 것이죠.

 

 

지금 생각에는 될것 같다는 느낌이 더 강한것 같습니다. 왜냐하면 현재 지금 제 컴에 들어

 

있는 C 컴파일러가 gcc-2.96 이니까요..만일 그렇게 되면 와우 7.1 에서도 오라클 pro*c 를

 

돌릴 수가 있다는 결론이 나오는 거죠...

 

 

혹시 이미 다른 방법으로 와우 7.1 에서 오라클 8.1.7 의 pro*c 의 컴파일에 성공하신 분이

 

있으시다면 그분에게는 필요가 없겠지만여... 혹여 그런 분이 있다면 성공하신 과정을 여기에

 

올려주시면 감사하겠습니다.

 

아참! 한가지 얘기할게 더 있는데요. 이게 상관이 있는 건지 어떤건지는 잘 모르겠는데

 

egcs-1.1.2 를 설치하고 난뒤에 그와 관련된 c++ 컴파일러인 egcs-c++-1.1.2 패키지를 설치

 

하려고 했는데 그걸 설치하려면 libstdc++-2.9.0 이 설치가 되어야 한다고 나오더군여..

 

그런데 레드햇 7.2 에는 libstdc++-2.96 을 사용하는 프로그램들이 많아서 그걸 지우고

 

libstdc++-2.9.0 을 설치할 수는 없었습니다. 그래서 egcs-c++-1.1.2 를 설치할 수는 없었

 

는데 레드햇 7.2 에는 compat-libstdc++-6.2-2.9.0.16 라는 패키지가 기본적으로 깔려

 

있더군여...와우 7.1 에서는 어땠는지 기억이 잘 나지 않고 또 이게 관련이 있는건지 없는

 

건지도 잘 모르겠습니다. 와우 리눅스 사이트에 들어가서 보니까 패키지 리스트에

 

 

compat-libstdc++ 6.2

 

Standard C++ libraries for Red Hat 6.2 backwards compatibility C++ compiler

 

 

라는 항목이 들어가 있기는 한데... 혹시 안된다면 compat-libstdc++ 가 설치되어있는지

 

확인 하시고 없다면 설치해 보시고 해보시는게 어떨까 하는 생각이 들기는 합니다....

 

그리구 기존의 컴파일러를 지우고 새로 설치할때 말인데요 --oldpackage 옵션을 써서 설치

 

하지 마시고 반드시 rpm -e 를 써서 gcc 관련 패키지들을 지우고 ( 보통 gcc-objc-2.96 ,

 

gcc-g77-2.96, gcc-c++-2.96, gcc-2.96 과 cpp-2.96 이 설치 되어 있죠 ) cpp-1.1.2 를

 

먼저 설치하고 egcs-1.1.2 를 설치하고 실험을 해 보시기 바랍니다.

 

 

해보지 않으실 분들에게는 이제 까지 긴글 읽어 주셔서 감사하구요,

 

해보시려는 분들에는 건투를 빕니다!!!

 

그럼 안녕히 계십시요...

이 글에 대한 댓글이 총 7건 있습니다.

한번씩 안된다는 얘기를 올리는 분들이 많습니다. 아무리 작은 글이라도 모인다면 우리들에겐 큰 힘이 될것으로 믿습니다. 좋은 글 감사 드립니다.

정재익(advance)님이 2002-02-04 20:04에 작성한 댓글입니다.

님의 글 잘 보았습니다..

덕분에 설치는 잘 했는데요...

 

문제는 Pro*c 입니다..

에고.. 제가 초보인지라.. 님의 그.. glibc 처리하신 방법을 잘 이해를 못하겠는데..

좀 쉽게 설명해주실수는 없는지요..

부탁드립니다.

woohee님이 2002-02-07 11:28에 작성한 댓글입니다.

와우 7.1은 아니지만 redhat7.1에서 테스트를 해 보았습니다. 물론 egcs-1.1.2를 설치하고 테스트를 하여 pro*C sample프로그램들이 제대로 컴파일되는것을 확인 한 후에 위에서 말씀하신 두가지를 묶어두고 다시 egcs-1.1.2를 지우고 gcc-2.96.85를 설치하였습니다.

 

그런데 저는 위에서 묶은 2개를 모두 풀지않고

/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66

만 풀어놓고 테스트를 하였습니다.

 

그래도 제대로 컴파일 되고 실행도 잘 됩니다.

by 이동진님이 2002-02-11 10:00에 작성한 댓글입니다.

 

님이 2002-02-25 14:59에 작성한 댓글입니다.

 

님이 2002-02-25 14:59에 작성한 댓글입니다.

 

님이 2002-02-25 14:59에 작성한 댓글입니다.

woohee 님 이동진 님 감사합니다.....^^;

특히 이동진님은 제 궁금증을 풀어 주셨네요.... 와우 리눅스 7.1 이

어차피 레드햇 7.1 을 기반으로 하는 것이기 때문에 레드햇 7.1 에서 되었다면

와우 리눅스 7.1에서도 될것이라고 확신합니다.

그리고 /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66 안에있는 것만 옮겨도 된다는

사실도요... 하여간, 정말 감사합니다......^^;

 

그리고 woohee 님 glibc 처리 한 방법을 자세히 말씀해 달라고 하셨는데요..

 

otn.oracle.com 에서 8.1.7 for Linux 를 다운 받는 페이지에 보면

Patches 라는 타이틀 아래 glibc-2.1.3-stubs.tar.gz (92kb) 라는 화일을 다운

받을수 있게 되어 있습니다. 그걸 $ORACLE_HOME에 가져다 놓고

tar zxvf glibc-2.1.3-stubs.tar.gz

라고 하면 $ORACLE_HOME/lib/stubs 라는 디렉토리가 생기고

$ORACLE_HOME/setup_stubs.sh 이라는 화일이 생성됩니다.

그걸 실행 시키면 되죠. 쉘 스크립트 거든요... 아주 간단한 거죠.....^^;

 

이 내용은 이 사이트의 질답란을 봐도 아마 있을듯 합니다...그럼 수고하세여....

송호진(hjsong)님이 2002-03-04 14:10에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
11047오라클 8i 설치시 리눅스 커널 설정
정재익
2002-06-11
5833
11046page를 나누기 위한 tip
정재익
2002-06-11
6461
10054libwtc8.so 가 없다고.. 나오는 에러... 해결방법 [1]
우상희
2002-02-28
7241
9754레드햇7.x 혹은 와우7.1 에서의 demo_proc.mk 컴파일 관련 힌트(?) [7]
송호진
2002-02-01
7074
9442Simple Guide : Hierarchical Queries [5]
최공훈
2002-01-11
6516
9414인덱스 분포도에따라 액세스 플랜을 달리하는 SQL문장 [2]
서민구
2002-01-10
5788
9363MANIPULATING LARGE OBJECTS USING DBMS_LOB PACKAGE (2)
정재익
2002-01-07
7884
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.053초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다