bash: ./configure: nu există un astfel de fișier sau director (Unix, Linux, Shell, Autotools)

Eric a intrebat.

Experimentez cu Linux, iar la locul de muncă folosesc CentOS 6.5, așa că îl folosesc acasă. Urmez un tutorial, l-am urmat îndeaproape cred, dar totuși mă lovesc de o eroare ca cea menționată în topic. Tutorialul se referă la modul de configurare a unui server web. Lucrurile decurg așa cum se arată în tutorial până la această eroare:

bash: ./configure: no such file or directory

Aceasta este secțiunea de comandă la care sunt blocat în prezent. Am instalat versiunea curentă suphp 0.7.2 față de cea prescrisă 0.7.1, presupunând că asta nu va cauza probleme. Dacă aceasta este cauza, vă rog să mă anunțați.

cd /tmp
wget http://suphp.org/download/suphp-0.7.2.tar.gz
tar xvfz suphp-0.7.2.tar.gz
cd suphp-0.7.2/
./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config --with-apxs=/usr/sbin/apxs --with-apache-user=apache --with-setid-mode=owner --with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log --enable-SUPHP_USE_USERGROUP=yes
***never got past this point, as I errored at the last command**
make
make install

Link tutorial

Comentarii

  • Care este ieșirea lui ls -la în acel director? Se pare că fișierul configure nu este prezent. –  > Por Nathan V.
  • Funcționează pentru mine așa cum a fost dat. Vă rugăm să verificați dacă puteți rula /bin/sh, deoarece asta este ceea ce se va întâmpla cu ./configure scriptul se așteaptă pentru a-l rula. –  > Por roaima.
  • @roaima Mulțumesc pentru sugestie, am corectat codul cu codul pe care l-am tastat. aceeași captură de ecran arată ieșirea de când tastez /bin/sh prntscr.com/8gpo3f –  > Por Eric.
  • @NathanV Aici este acea ieșire din acel director, iar configurația pare să fie acolo, nu-i așa? prntscr.com/8gpo3f –  > Por Eric.
  • Roaima și cu mine am ajuns la concluzia că aceasta este o ciudățenie care nu ar trebui să se întâmple. Posibil din cauza utilizării de către mine a 0.7.2 față de 0.7.1 documentat. Voi încerca din nou să construiesc folosind 0.7.1 – sau voi abandona proiectul și voi încerca un exercițiu diferit folosind CentOS 6.5. Voi reveni mâine cu informații despre dacă 0.7.1 a avut succes sau nu. Vă mulțumesc. –  > Por Eric.
3 răspunsuri
Kusalananda

După ce am aruncat o privire la conținutul suphp-0.7.2.tar.gz, se pare că eroarea se datorează unei distribuții prost construite. Există instrumente de compilare care lipsesc în config subfolder.

Nu prea aveți de ales decât să recreați configure script folosind autoinstrumentele GNU.

  1. Instalați automake și autoconf pe Unix-ul dumneavoastră.
  2. Rulați autoreconf -i în directorul suphp-0.7.2 folder.

Acest lucru va face ca GNU autotools să investigheze fișierele de distribuție și să reconstruiască orice fișier Makefile.in care nu sunt actualizate, precum și să recreeze fișierele configure și să instaleze instrumentele de construcție care lipsesc în dosarul config directorul.

Dacă totul decurge bine, sunteți gata să începeți din nou de la ./configure.

Brilit

Rulând următoarele cu în dosarul dezarhivat

autoreconf -i

și apoi executați

./configure

a funcționat pentru mine.

Andrew Carr

Știu că aceasta este o întrebare veche și ultimul răspuns a fost anul trecut…

Acest lucru ar putea ajuta pe altcineva. M-am confruntat cu această problemă atunci când am descărcat pachete sursă care nu au fost configurate corespunzător.

În mod normal, dacă primiți această eroare, puteți încerca următoarele:

./buildconf

Acest lucru ar trebui să genereze fișierul de configurare care lipsește.

Proiectele care sunt verificate necesită în mod normal să fie rulat conf pe el, buildconf / autoconf. Atunci când descărcați o arhivă sursă, în mod normal, aceste comenzi sunt deja rulate pe ea.

Comentarii

  • Cred că buildconf este ceva din distribuția PHP. De asemenea, dacă aveți acel script în interiorul directorului rădăcină (/) probabil că aveți destule probleme. –  > Por grochmal.
  • Nu se află în rădăcină, ci în aplicația pe care încercați să o construiți. Este generat de instrumentele autoconf / autobuild. Nu este în „/”, este rulat cu „./buildconf” și punctul meu a fost eliminat de o anumită formatare. Dacă ați construit ceva în C, veți ști acest lucru. –  > Por Andrew Carr.
  • Nu cred că a construi lucruri în C te face bun la a ghici unde sunt caracterele lipsă, heh. Acestea fiind spuse, a trecut ceva timp de la ultima dată când am construit ceva până la autoconf, așa că s-ar putea să fi ratat un fișier. Căutând pe Google, se pare că este vorba de un fișier care făcea parte din autoconf cu mult timp în urmă – cred că era numele original al fișierului autoreconf script. Nu cred că OP va putea să descarce și să construiască o versiune suficient de veche de autoconf și automake pentru a o utiliza. –  > Por grochmal.
  • Singurul motiv pentru care spun asta este pentru că eu construiesc în fiecare zi în linia de comandă linux folosind gcc / cpp, pentru clienții care solicită construcții personalizate. În mod normal, nu trebuie să folosești autoconf, pachetele pe care le descarci în mod normal au avut deja totul rulat pe ele. Cu toate acestea, dacă descărcați un proiect c / cpp din sursă, în mod normal vi se cere să construiți. Ar trebui să puteți obține orice versiune de make/conf din arhivele linux. Am o copie a vechiului repo, dacă cineva are nevoie de el. –  > Por Andrew Carr.