Câu hỏi “Pkg-config --modversion glib-2.0” báo cáo phiên bản cũ hơn


Tôi có Ubuntu 14.04 32 bit. Tôi đang cố gắng để biên dịch một ứng dụng từ mã nguồn. Nó cho tôi một thông báo lỗi trong quá trình liên kết make quá trình mặc dù ./autogen.sh và ./configure đã qua mà không có lỗi. Tôi gặp lỗi này undefined reference to g_variant_parse_error_quark Tôi đọc rằng chức năng đó g_variant_parse_error_quark được thêm vào glib2 trong 2,39. Tôi đã kiểm tra các gói đã cài đặt và thấy rằng phiên bản libglib là 2.40.0 trong hệ thống của tôi. Tuy nhiên

 pkg-config --modversion glib-2.0

báo cáo 2.38.2

Có vẻ như tôi đã cài đặt ít nhất hai glib2 khác nhau. Tôi có thể đã tự cài đặt glib2 từ nguồn trong quá khứ.

Làm thế nào tôi có thể khắc phục vấn đề đó và để hệ thống của tôi sử dụng đúng thư viện mới nhất?


1
2018-06-25 21:20


gốc




Các câu trả lời:


Như tôi đoán nó bắt nguồn từ xung đột nhiều thư viện. Khi tôi chạy

 echo $PKG_CONFIG_PATH 

nó trả về dòng trống

Sau đó, tôi đã tìm kiếm

  locate glib-2.0.pc

và tôi có

  /usr/lib/i386-linux-gnu/pkgconfig/glib-2.0.pc
  /usr/lib/i386-linux-gnu/pkgconfig/spice-client-glib-2.0.pc
  /usr/local/lib/pkgconfig/glib-2.0.pc

Tôi cũng chạy

  pkg-config --debug --modversion glib-2.0

để tìm thư mục nào được tìm kiếm

Tôi nhìn vào glib-2.0.pc và kiểm tra số phiên bản.

Tôi đã đặt đúng glib-2.0.pc tập tin

sau đó tôi chạy

  export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig/

sau đó ./autogen.sh và make

suôn sẻ


4
2018-06-26 12:45