Come installare la dipendenza MacPorts se installata altrove?

3

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

Ad esempio:

Ho installato Qt5 all'esterno di MacPorts e non voglio che MacPorts installino Qt4, ma è una dipendenza per la porta che voglio. Voglio che la porta utilizzi le librerie Qt5 che ho installato in un'altra posizione.

Inoltre, ho Python 2.7.5 e Python 3 installati al di fuori di MacPorts. Tuttavia, quando vado ad installare alcune porte che hanno Python come una dipendenza, MacPorts prova a 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?

    
posta Ken Adams 31.10.2013 - 23:03
fonte

1 risposta

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. costruiti separatamente.

Vedi le voci intitolate " Perché MacPorts usa le sue librerie? " e "Will MacPorts collega alle librerie di sistema piuttosto che alle proprie? "nel Domande frequenti su MacPorts .

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

Potrebbe rivelarsi più semplice costruire manualmente il software che alla fine ti interessa; in questo modo hai un controllo migliore su quali librerie usa. 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
    
risposta data 01.11.2013 - 07:27
fonte

Leggi altre domande sui tag