Làm cách nào để sửa lỗi /lib/x86_64-linux-gnu/libc.so.6: phiên bản `GLIBC_2,14 'không được tìm thấy?


29

Cách khắc phục lỗi này:

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found

Nền tảng:

Linux alef 3.2.0-4-amd64 #1 SMP Debian 3.2.35-2 x86_64 GNU/Linux

Câu trả lời:


30

Điều đó có nghĩa là chương trình được biên dịch theo phiên bản glibc 2.14 và nó yêu cầu phiên bản đó chạy, nhưng hệ thống của bạn đã cài đặt phiên bản cũ hơn. Bạn sẽ cần phải biên dịch lại chương trình theo phiên bản glibc trên hệ thống của bạn hoặc cài đặt phiên bản glibc mới hơn (gói "libc6" trong Debian).

Debian có glibc 2.16 trong kho "thử nghiệm", nhưng biên dịch lại chương trình là tùy chọn an toàn hơn. Glibc là thư viện mà mọi thứ đều phụ thuộc, vì vậy việc nâng cấp nó có thể có ý nghĩa sâu rộng. Mặc dù có lẽ không có gì sai với gói glibc 2.16 của Debian, nhưng thực tế là nó trong kho lưu trữ thử nghiệm có nghĩa là nó đã không nhận được nhiều thử nghiệm.


4
Đây là một câu trả lời tuyệt vời và tôi hiểu từng câu :). Làm cách nào để biên dịch lại nó (ứng dụng là nhà phát triển tidesdk) trong máy của tôi, có tham khảo nào không? Tuy nhiên tôi sẽ chấp nhận câu trả lời này, tốt đẹp.
xliiv

nâng cấp lên debian jessie đã giúp ở đây.
cweiske

5
Điều này có nghĩa là bạn cần chính xác phiên bản 2.14 của glibc hoặc ít nhất là phiên bản 2.14?
Philippe

20

Tôi đã đăng giải pháp của tôi ở đây , đăng lại để tham khảo.

Trong tình huống của tôi, lỗi xuất hiện khi tôi cố chạy một ứng dụng (được biên dịch trên Ubuntu 12.04 LTS) bằng GLIBC_2,14 trên Debian Wheezy (cài đặt glibc 2.13 theo mặc định).

Tôi sử dụng một cách khó khăn để chạy nó và nhận được kết quả chính xác:

  1. Tải xuống libc6libc6-dev từ Ubuntu 12.04 LTS

  2. Chạy lệnh dpkg để cài đặt chúng vào một thư mục (ví dụ: / home / user / fakeroot /):

    $ dpkg -x libc6-dev_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/
    $ dpkg -x libc6_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/
    
  3. Chạy lệnh của bạn với LD_LIBRARY_PATH được chỉ định:

    $ LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMAND
    
  4. Ứng dụng của tôi chỉ sử dụng memcpy () từ GLIBC_2,14 và nó hoạt động.

Tôi không biết liệu nó sẽ hoạt động thành công cho các ứng dụng khác. Chúc nó hữu ích.


0
apt-get update && apt-get -reinstall install vesta-nginx vesta-php

Điều đó chỉ nên sửa nó mà không phá vỡ hệ điều hành.  


2
Tại sao? Bạn có thể vui lòng giải thích? Làm thế nào là vesta(bảng điều khiển lưu trữ web) liên quan đến câu hỏi?
iX3
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.