Bagaimana cara memperbaiki kesalahan "PKG_PROG_PKG_CONFIG: command not found"?

12

Saya memiliki sistem Ubuntu 13.10 32 bit. Baru-baru ini ketika saya mencoba untuk mengkompilasi dengan menjalankan ./autogen.shdan ./configuresaya dapatkan

 PKG_PROG_PKG_CONFIG: command not found

kesalahan. Saya telah libtoolmenginstal Saya memiliki tiga file aclocal di usr/share/suka alocal, aclocal-1.13danaclocal-1.4

Bagaimana saya bisa memperbaiki kesalahan alokal itu?

EDIT:

Beberapa waktu yang lalu saya mengkompilasi versi automake terbaru dari sumber dan memasangnya karena kode sumber membutuhkan automake versi terbaru untuk menjalankan proses configure. Sejak itu setiap kali saya menjalankan standar ./autogendan /configureperintah dalam direktori sumber untuk menghasilkan makefilesaya dapatkan

  PKG_PROG_PKG_CONFIG: command not found

kesalahan

  find /usr -name "pkg.m4"

memberi saya

  /usr/share/aclocal/pkg.m4

dan

  aclocal --print-ac-dir

memberi saya

  /usr/local/share/aclocal
kenn
sumber
Apakah pkg-configpaket sudah diinstal? apakah file /usr/share/aclocal/pkg.m4ada di sistem Anda?
steeldriver
Apa yang Anda coba kompilasi?
jobin
@steeldriver find /usr -name "pkg.m4"memberi saya/usr/share/aclocal/pkg.m4
kenn
@Jobin Saya mencoba mengkompilasi ini: codeload.github.com/blazt/submarine/zip/master
kenn
Apa yang aclocal --print-ac-dirdikatakan?
steeldriver

Jawaban:

17

The PKG_PROG_PKG_CONFIGvariabel mengacu pada makro pkg.m4yang disediakan sebagai bagian dari paket pkg-config, sehingga hal pertama yang harus cek adalah bahwa pkg-config terinstal dan bahwa file makro adalah di lokasi default (dan dibaca, tentu saja)

dpkg -l pkg-config

ls -l /usr/share/aclocal/pkg.m4

Jika itu berhasil, maka pertanyaannya adalah mengapa aclocaltidak menemukannya? Anda dapat memeriksa di mana aclocaldikonfigurasi untuk mencari file m4 pihak ketiga menggunakan --print-ac-dirswitch yaitu

aclocal --print-ac-dir

Jika itu tidak sama dengan lokasi di atas, ini menunjukkan ada versi automake non-standar pada sistem Anda - jika Anda tidak dapat menyelesaikannya, maka solusi yang mungkin adalah mengatur atau mengekspor ACLOCAL_PATHvariabel lingkungan sebelum menjalankan autogen. skrip sh misalnya

ACLOCAL_PATH=/usr/share/aclocal ./autogen.sh

atau

export ACLOCAL_PATH=/usr/share/aclocal
./autogen.sh
./configure

Lihat bagian jalur pencarian makro dari manual automake GNU.

Steeldriver
sumber
Atau, PKG_PROG_PKG_CONFIGbisa berasal dari salah ketik dalam penugasan variabel, misalnya PKG_PROG_PKG_CONFIG<space>=...bukan PKG_PROG_PKG_CONFIG=.... grep "PKG_PROG_PKG_CONFIG "pada file Anda.
waltinator