소스에서 개발 패키지를 어떻게 컴파일해야 합니까? [복사]

소스에서 개발 패키지를 어떻게 컴파일해야 합니까? [복사]

패키지 X를 사용해야 합니다. X는 Y에 의존하므로 Y의 개발 패키지(Y-dev)가 필요합니다. 또한 Y라는 소스 코드도 있습니다. Y의 소스 코드에서 Y-dev를 어떻게 컴파일합니까?

이 질문이 일관되지 않은 경우 X가 의존하는 패키지 Y를 활용하는 방법에 대한 올바른 방향을 알려주세요.

사양:

X는 R-2.15.3이다

Y는 readline-6.2입니다.

readline-6.2를 다운로드하여 설치했습니다 $HOME/software.

$C_INCLUDE_PATH=$HOME/software/include:$HOME/software/include/readline

그리고

$LD_LIBRARY_PATH=$HOME/software/lib:$HOME/software/lib64

다음 readline 파일이 있습니다 $LD_LIBRARY_PATH.

/home/paulk/software/lib/libreadline.a
/home/paulk/software/lib/libreadline.old
/home/paulk/software/lib/libreadline.so
/home/paulk/software/lib/libreadline.so.6
/home/paulk/software/lib/libreadline.so.6.2
/home/paulk/software/lib/libreadline.so.6.2.old

./configure --prefix=$HOME/softwareR-2.15.3을 실행하면 다음과 같은 결과가 나타납니다.

configure: error: --with-readline=yes (default) and headers/libs are not available.

내 배포판은 RPM 기반의 Scientific Linux입니다.

답변1

좋아요 개발 패키지를 컴파일할 필요는 없는 것 같습니다. readline을 사용하려면 CFLAGS다음과 같이 스크립트를 설정 해야 합니다.LDFLAGS./configure

export CFLAGS=-I$HOME/software

export LDFLAGS=-L$HOME/software

내 추론은 다음과 같습니다. 패키지 관리자를 사용할 때 대부분의 경우 미리 컴파일된 애플리케이션만 필요하기 때문에 개발 패키지가 필요합니다. 개발 패키지는 귀하가 갖게 될 것을 제공하도록 설계된 사전 컴파일된 버전입니다.만약에소스 코드에서 컴파일합니다.

따라서 소스 코드가 있을 때 개발 패키지를 컴파일하는 것은 다음 두 가지 이유로 일관되지 않습니다.

  1. 당신은 모든 소스를 가지고
  2. 패키지 관리자와 협력할 필요가 없습니다.

일부 전문가들이 내 주장을 세밀하게 조정할 수 있다고 확신하지만 (이봐!) 문제가 해결되고 의미가 있습니다.

감사해요.

관련 정보