Nơi tìm phụ thuộc bị thiếu (fantemagick và m17n)


7

Tôi đang biên soạn Emacs từ nguồn và không thể tìm ra những gì thư viện tôi cần phải kích hoạt ImageMagickm17n . Tôi đã cài đặt hình ảnh và libm17n-dev (Tôi đang sử dụng Debian).

./configureKịch bản của tôi nói:

  Does Emacs use imagemagick?                             no
  [...]
  Does Emacs use -lm17n-flt?                              no

Chúng tôi cần thêm thông tin. Bạn nên xem tệp config.log chứa thông tin chi tiết và kết quả về các bài kiểm tra mà tập lệnh cấu hình đã chạy. Tìm kiếm hình ảnh và m17n-flt. Đăng chi tiết về các bài kiểm tra thất bại hoặc các phần cắt ra của nhật ký.
dfeich

Tôi đã cài đặt libmagickcore-dev và libmagick ++ - dev, và bây giờ cấu hình tìm thấy hình ảnh. Vẫn không có may mắn với m17n-flt (không có gói như vậy trên debian).
Łukasz Gruner

1
Bạn đang dùng phiên bản Debian nào? m17n-flt là một phần củalibm17n và các tiêu đề được bao gồm tronglibm17n-dev .
rekado

4
Quy trình an toàn nhất để giải quyết các vấn đề phụ thuộc khi biên dịch từ nguồn (bao gồm Git) là chạy apt-get build-dep emacs24hoặc nếu bạn đang sử dụng Wheezy , apt-get build-dep emacs23. Điều đó sẽ cài đặt tất cả các gói phụ thuộc và giải quyết vấn đề. Nếu bạn dự định biên dịch Emacs 24.4 trở lên, hãy kiểm tra xem libacl1-devgói đã được cài đặt chưa, nếu không bạn sẽ cần phải cài đặt thủ công.
hủy bỏ

Câu trả lời:


6

Sau khi thu thập dữ liệu configuretập lệnh, tôi nghĩ rằng tôi đã tìm thấy gói bị thiếu của bạn : libmagickwand-dev. Trên máy của tôi, sau khi cài đặt gói này, ./configurecuối cùng sẽ nói:

  Does Emacs use imagemagick?                             yes

NB1: như với các tính năng khác (ví dụ: libxml2-devcho eww), tôi không có mục đích --with-feature:

  • Nếu các thư viện và tiêu đề phát triển nằm trong hệ thống của bạn, configuresẽ kích hoạt tính năng ngay cả khi bạn không hỏi rõ ràng --with-feature;
  • Nếu các thư viện và tiêu đề phát triển không có trong hệ thống của bạn, configuresẽ bỏ qua --with-featurevà thoát với trạng thái 0.

NB2: Điều này đã được thử nghiệm trên Ubuntu 14.04; libmagickwand-dev dường như cũng tồn tại trong Debian.

NB3: Một "phương pháp" chung để tìm ra các gói cần thiết từ configuretập lệnh:

  • tìm kiếm configure"hình ảnh"
  • tìm những đoạn này:

    IMAGEMAGICK_MODULE="Wand >= 6.3.5 Wand != 6.8.2"
    ...
    if "$PKG_CONFIG" --exists "$IMAGEMAGICK_MODULE"...
    
  • apt-cache search Wand

    • libmagickwand-dev - image manipulation library - development files

4

Để tránh phải theo dõi các gói được yêu cầu để xây dựng Emacs, hãy sử dụng apt-get để cài đặt chúng cho bạn.

apt-get build-dep emacs

Trên thực tế, điều này có thể không đủ, vì điều này chỉ cài đặt các thư viện mà nhà bảo trì Debian đã chọn để liên kết Emacs với. Tôi nghĩ bạn cần:

apt-get install libm17n-dev libmagickcore-dev

Tuy nhiên sau này tôi vẫn nhận được use -lm17n-flt? nongay cả khi tôi sử dụng rõ ràng --with-m17n-flt. Và tôi đã không thực sự cài đặt libmagickcore-dev` vì nó dẫn đến một cuộc xung đột.


Điều này chỉ biến một nhận xét từ trên thành một câu trả lời.
tarsius

1

Khi câu trả lời hiện có bỏ qua cách biên dịch với m17nhỗ trợ, tôi thêm câu này để trả lời. Trong hệ thống của tôi m17nkhông được sử dụng và otfcũng không được sử dụng. Để xây dựng với m17nsự hỗ trợ, cài đặt các thư viện cần thiết m17nvà cũng cho otf. Sau đó, Emacs sẽ được biên dịch với cả hai.

Tôi không biết tại sao biên dịch với m17nyêu cầu otfnhưng điều này hoạt động :)

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.