2017-02-12 10 views
2

MacPorts에 이미 특정 라이브러리가 설치되어 있다고 말할 수 있습니까?Macports는 소스에서 빌드 한 기존 라이브러리를 등록합니다.

예를 들어, nghttp2, opensslzlib으로 http2 프로토콜을 얻으려면 libcurl을 처음부터 작성했습니다. 시스템에있는 모든 MacPort 라이브러리와 동일한 위치에 /opt/local을 설치했습니다. 그러나 Macports는 이미 설치되어 있다는 것을 인식하지 못합니다.

MacPorts에 이미 설치된 버전과 해당 버전이 있다는 것을 어떻게 알 수 있습니까? 왜? 내가하려고하기 때문에 :

port install py35-pip 그러나 그 libzopenssl가 설치되어 있지 않습니다.

답변

2

MacPorts를 여러 가지 이유로,이 기능을 지원하지 않습니다

  1. 수동 일반적으로 MacPorts를 관리 할 것 /opt/local에있는 파일을 수정하면 안됩니다. MacPorts는 설치된 파일에 대한 특정 메타 데이터 (필요한 종속성과 같은)를 유지합니다.이 메타 파일은 수동으로 파일을 /opt/local에 설치할 때 더 이상 작동하지 않습니다.
  2. MacPorts는 /opt/local에 수동으로 설치 한 바이너리를 빌드하는 데 사용 된 구성을 알지 못합니다. 특정 종속성으로 더 이상 작동하지 않는 버전 일 수도 있고 C++ 코드의 경우 다른 C++ 표준 라이브러리에 대해 빌드 될 수도 있고 다른 여러 가지 이유로 호환되지 않을 수도 있습니다. MacPorts는 이러한 포트 중 일부를 수정 한 사람들의 요청에 대한 지원 부담을 줄이기 위해 MacPorts가이를 지원하는 기능이 아닙니다.

그러나 MacPorts는 이미 nghttp2를 지원하는 컬 설치를 지원합니다. port variants curl의 출력을 참조하십시오 : 중 (당신이 이미 설치되어 있지 않은 경우) sudo port install curl +http2을 사용하거나 sudo port upgrade --enforce-variants curl +http2를 사용하여,

curl has the variants: 
    ares: Support resolving names asynchronously 
    darwinssl: Allow secure connections using GNU TLS 
    * conflicts with gnutls ssl wolfssl 
    gnutls: Allow secure connections using GNU TLS 
    * conflicts with darwinssl ssl wolfssl 
    gss: Support the Generic Security Service API 
    http2: Support HTTP/2 with nghttp2 
    idn: Enable support for internationalized domain names (IDN) 
    metalink: Support Metalink XML download description files 
    openldap: Support performing Lightweight Directory Access Protocol queries with OpenLDAP 
    sftp_scp: Support SFTP/SCP connections via libssh2 
    spnego: Enable SPNEGO authentication support 
[+]ssl: Allow secure connections using OpenSSL 
    * conflicts with darwinssl gnutls wolfssl 
    universal: Build for multiple architectures 
    wolfssl: Allow secure connections using wolfSSL, formerly CyaSSL 
    * conflicts with darwinssl gnutls ssl 

이 경우에, 당신은 단지 curl +http2를 설치할 수에 (당신이 있던 경우에 이미 설치) 똑같은 것을 성취하십시오.

/usr/local의 경우 https://trac.macports.org/wiki/FAQ#usrlocal과 MacPorts를 참조하십시오.

+0

그러나 그런 다음 필요없는 curl에 대한 모든 종속성을 설치하기 시작합니다. 파이썬 2.7은 이미 기본적으로 시스템에 설치되어 있기 때문에 파이썬 2.7이 필요하지 않습니다. 나는 janson과 다른 모든 의존성을 필요로하지 않는다. – Brandon

+0

그 질문에 대한 FAQ도 있습니다 : https://trac.macports.org/wiki/FAQ#ownlibs. – neverpanic