pkg-config tidak menemukan file paket ketika folder terdaftar di PKG_CONFIG_PATH

2

Jadi inilah konten PKG_CONFIG_PATH saya:

/usr/local/lib/pkgconfig:/usr/lib/pkgconfig

dan inilah output dari locate lv2.pc (lv2 adalah perpustakaan yang saya coba tautkan)

/usr/local/lib/pkgconfig/lv2.pc

namun di sini adalah output dari pkg-config --modversion lv2

Package lv2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `lv2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'lv2' found

Ada saran? Saya menjalankan gentoo fyi. Terima kasih sebelumnya atas bantuannya !!

Athan Clark
sumber

Jawaban:

2

Manual mengatakan secara berbeda, Anda dapat menentukan banyak jalur untuk PKG_CONFIG_PATH

Dari man-pkgconfig

PKG_CONFIG_PATH               Daftar direktori yang dipisahkan dengan titik dua (pada Windows, dipisahkan dengan titik koma) untuk mencari file .pc. Default               direktori akan selalu dicari setelah mencari path;

Namun demikian, tidak untuk PKG_CONFIG_LIBDIR.

PKG_CONFIG_LIBDIR               Mengganti direktori pencarian pkg-config default.

Mike
sumber
0

/usr/local/lib adalah herring merah, mengapa file di sana dan bukan di /usr/lib?

emerge media-libs/lv2

Tom Wijsman
sumber
Sebenarnya saya sudah mengetahuinya beberapa waktu yang lalu, maaf karena tidak memperbarui kemajuan saya. Saya menemukan bahwa variabel tidak mengerti sintaks PATH, itu hanya dapat mengambil lokasi satu folder. Tapi bagaimanapun, untuk program ini (non) menggunakan versi lv2 yang berdarah, jadi saya harus menginstal terbaru dari svn. Sebelum itu berhasil (ketika muncul, tidak dikompilasi dari sumber), mungkin karena itu di / usr / lib daripada / usr / local / lib Mengapa ini menjadi herring merah?
Athan Clark
Karena ini bukan Portage, ada = media-libs / lv2-9999 dalam overlay pro-audio.
Tom Wijsman
-1

PkgConfig hanya dapat memahami satu lokasi folder dalam variabel, tidak seperti sintaks PATH. Anda perlu mengaturnya ke tempat di mana lokasi semua file .pc Anda, sayangnya.

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
Athan Clark
sumber
Ini mungkin telah berubah sejak 2013, tetapi halaman manual pkg-config saat ini mengatakan itu PKG_CONFIG_PATH adalah pembatas titik dua (UNIX) / titik koma (Windows) daftar jalur untuk mencari. Jadi jika Anda memiliki, katakanlah, Qt pkgconfig dir di ~ / dev / qt / 5.6 / lib / pkgconfig dan grpc pkgconfig di / usr / local / lib / pkgconfig, Anda bisa export PKG_CONFIG_PATH=~/dev/qt/5.6/lib/pkgconfig:/usr/local/lib/pkgconfig. Bekerja untukku.
allquixotic