5

sto cercando di installare 'whois' sul OpenShift online, non posso installare con yum grazie ai permessiCome compilare e installare il codice sorgente su OpenShift?

\> yum install whois 
error: cannot open Packages database in /var/lib/rpm 
CRITICAL:yum.main: 

Error: rpmdb open failed 

che non conosco ogni possibile alternativa di installare un pacchetto, se si considera a compilare il codice sorgente.

rendere è disponibile.

\> make -version 
GNU Make 3.81 
Copyright (C) 2006 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions. 
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 
PARTICULAR PURPOSE. 

This program built for x86_64-redhat-linux-gnu 

così come posso compilare il codice sorgente su SSH su OpenShift? grazie mille!

Modifica: Posso make il pacchetto ma non posso install il pacchetto.

Aggiornamento: Aggiunge variabili di ambiente e dati correlati.

$PATH

[app-domain.rhcloud.com whois-5.2.7]\> echo $PATH 
/var/lib/openshift/{{ directory_hash }}/python//virtenv/bin:/var/lib/openshift/{{ directory_hash }}/python//bin:/opt/rh/python27/root/usr/bin:/bin:/usr/bin:/usr/sbin 

install

[app-domain.rhcloud.com whois-5.2.7]\> which install 
/var/lib/openshift/{{ directory_hash }}/python/bin/install 

messaggio di errore durante make install

[app-domain.rhcloud.com whois-5.2.7]\> make install BASEDIR=./destdir/ 
install -d ./destdir//usr/bin/ 
/var/lib/openshift/{{ directory_hash }}/python//bin/install: line 10: version: unbound variable 
make: *** [install-whois] Error 1 

messaggio di errore durante make /path/to/install

[app-domain.rhcloud.com whois-5.2.7]\> make /var/lib/openshift/{{ directory_hash }}/python/bin/install BASEDIR=./destdir/ 
make: Nothing to be done for `/var/lib/openshift/{{ directory_hash }}/python/bin/install'. 

risposta

1

Aggiornamento: L'ambiente postato $PATH variabile suggerisce che il comando del sistema install è probabilmente superato da install comando python s'. Questo è il motivo per cui il comando make fallisce quando si tenta di installare i binari.

Hai due soluzioni.

  • rimuovere temporaneamente il percorso python dalla variabile $PATH. Sarà ripristinato il valore originale quando si accede a OpenShift prossima volta:

    export PATH=/bin:/usr/bin:/usr/sbin

  • modificare Makefile e po/Makefile file e impostare il percorso fissato install comando per /usr/bin/install.La linea in entrambe le Makefile s:

    INSTALL = install

    dovrebbe leggere:

    INSTALL = /usr/bin/install


Per risolvere problemi di autorizzazione durante l'installazione per /usr si dovrà installare whois al costume dir. Questo esempio lo installa nella sottodirectory destdir.

$ wget http://ftp.debian.org/debian/pool/main/w/whois/whois_5.2.7.tar.xz 
$ tar xf whois_5.2.7.tar.xz 
$ cd whois-5.2.7/ 
$ mkdir destdir 
$ make 
$ make install BASEDIR=./destdir/ 
$ ./destdir/usr/bin/whois --version 
Version 5.2.7. 

Report bugs to <[email protected]>. 
+0

stesso errore, 'variabile non legata'! ho provato a cambiare 'install' nel suo percorso assoluto, ancora non funzionante! – x0x

+0

Potresti postare da qualche parte l'intero output di "make install" incluso il messaggio di errore? – baf

+0

Si prega di inviare anche l'output del comando 'echo $ PATH' – baf

1

primo luogo si dovrebbe prendere il codice sorgente di 'whois':

wget http://ftp.debian.org/debian/pool/main/w/whois/whois_5.2.7.tar.xz 

Poi è necessario estrarlo:

tar -xf whois_5.2.7.tar.xz 

Ora avete una directory con il codice sorgente, in modo da l'ultimo passo è compilarlo con 'make'.

Penso che tutto ciò possa essere fatto tramite SSH su OpenShift.

+0

Ho fatto tutto il possibile, posso eseguire il pacchetto sulla shell ma non posso installare. dice, 'variabile non legata ' – x0x

+0

comunque posso installare il pacchetto dopo il make? – x0x

+0

È passato un po 'di tempo da quando ho compilato manualmente un'applicazione, ma non è il processo da fare "make install" dopo averlo "creato"? Penso che questo sia il passo che ti manca. Correggimi se sbaglio completamente. –