Come non installare la dipendenza MacPorts se installato altrove?


3

Un problema comune che sto riscontrando con MacPorts è che andrò a installare una porta e che elencherà una porta come dipendenza che ho installato al di fuori di MacPorts.

Per esempio:

Ho installato Qt5 al di fuori di MacPorts e non voglio assolutamente che MacPorts installi Qt4, ma è una dipendenza per la porta che desidero. Voglio che la porta usi le librerie Qt5 che ho installato in un'altra posizione.

Inoltre, ho installato Python 2.7.5 e Python 3 al di fuori di MacPorts. Tuttavia, quando vado ad installare alcune porte che hanno Python come dipendenza, MacPorts tenta di installare la porta python27- non voglio che questa porta sia installata. Voglio gestire le versioni di Python al di fuori di MacPorts.

Quali sono le mie opzioni?

Risposte:


3

In generale, MacPorts utilizza solo una piccola raccolta di librerie e strumenti di "sistema"; non ha davvero alcuna possibilità di utilizzare librerie, strumenti, ambienti, ecc. creati separatamente

Vedi le voci intitolate “ Perché MacPorts utilizza le sue librerie? "E" MacPorts si collegherà alle librerie di sistema piuttosto che alle sue? " Nelle FAQ di MacPorts .


Potresti essere in grado di adattare i singoli Portfile per usare le tue cose già costruite, ma lavorerai davvero "contro il grano" del sistema MacPorts; probabilmente incontrerai molte difficoltà quando intraprendi un tale approccio.

Potrebbe essere più semplice creare manualmente il software che ti interessa in definitiva; in questo modo hai un migliore controllo su quali librerie utilizza. Se ci sono molte dipendenze (non Qt, non Python) e se non ti dispiace costruirle tramite MacPorts, puoi comunque utilizzare MacPorts per fornire altre dipendenze:

 # make sure the list of other dependencies looks reasonable
port echo depof:someport and not python27 and not qt4-mac

# install the other dependencies
sudo port install depof:someport and not python27 and not qt4-mac

# configure; the way to specify the library locations will vary, but might be like this:
CFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib \
  ./configure --with-qt=/my/qt5/installation --with-python3=/my/python3/installation
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.