Cài đặt ImageMagick gần đây trên CentOS 6.3


13

Tôi đang có một thời gian khủng khiếp khi cố gắng cài đặt phiên bản ImageMagick gần đây trên máy chủ CentOS 6.3 x86_64. Đầu tiên, tôi đã tải xuống RPM từ trang ImageMagick và cố gắng cài đặt nó. Điều đó thất bại do thiếu phụ thuộc:

error: Failed dependencies:
    libHalf.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
    libIex.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
    libIlmImf.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
    libImath.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
    libltdl.so.3()(64bit) is needed by ImageMagick-6.8.0-4.x86_64

Tôi đã libtool-ltdlcài đặt, nhưng bao gồm libltdl.so.7, không libltdl.so.4. Tôi có một vấn đề tương tự với libHalf, libIex, libIlmImflibImath. Thông thường, bạn có thể cài đặt OpenEXR để có được những phụ thuộc đó. Thật không may, CentOS 6.3 bao gồm OpenEXR 1.6.1, bao gồm ilmbase-devel 1.0.1. Và bản phát hành ilmbase-devel bao gồm các phiên bản mới hơn của những phụ thuộc đó:

  • libHalf.so.6
  • libIex.so.6
  • libIlmImf.so.6
  • libImath.so.6

Tiếp theo tôi đã thử làm theo các hướng dẫn để cài đặt ImageMagick từ nguồn. Không có may mắn ở đó. Tôi gặp lỗi xây dựng:

RPM build errors:
  File not found by glob: /home/sean/rpmbuild/BUILDROOT/ImageMagick-6.8.0-4.x86_64/usr/lib64/ImageMagick-6.8.0/modules-Q16/coders/djvu.*

Tôi thậm chí đã chạy configurelại để loại trừ rõ ràng djvu và tôi vẫn nhận được cùng một lỗi. Lúc này, tôi đang nhổ tóc.

Cách dễ nhất để cài đặt phiên bản ImageMagick (> 6.7) tương đối gần đây trên CentOS 6.3 là gì? Có ai đó cung cấp RPM với sự phụ thuộc ở đâu đó không?


Tôi cũng gặp rắc rối với điều này, không chắc là tôi có làm việc được không nhưng bạn có thể thử: 'yum install libtool-ltdl-devel'
user16081-JoeT

Trong CentOS 6.3, libtool-ltdl-develbao gồm libltdl.so.7, nhưng ImageMagick yêu cầu libltdl.so.3. :(
Organicveggie

Tôi tự hỏi nếu chúng tương tự nhau đủ để bạn có thể tạo liên kết tượng trưng từ .3 đến .7 và giả mạo ImageMagick để nó cài đặt. tổng số lần di chuyển hack nhưng nó có thể hoạt động: \
user16081-JoeT

Câu trả lời:


12

Bạn không nên gặp phải những vấn đề này ... Tôi đã cố gắng tìm kiếm các tệp nhị phân đóng hộp đẹp của phiên bản hiện tại của ImageMagick . Tôi không thể tìm thấy bất kỳ điều gì không có điều kiện tiên quyết kỳ lạ ...

Vì vậy, tôi đã tạo ra một máy ảo CentOS 6.3 và xây dựng tệp SRPM ImageMagick mới nhất . Bạn cũng có thể muốn kích hoạt kho RepoForge (trước đây là RPMForge) . Việc xây dựng đã đi mà không gặp một trở ngại!

Thông tin hệ thống:

[root@MDMarra ~]# uname -a
Linux MDMarra.localdomain 2.6.32-279.11.1.el6.x86_64 #1 SMP Tue Oct 16 15:57:10 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

[root@MDMarra ~]# cat /etc/issue
CentOS release 6.3 (Final)
Kernel \r on an \m

[root@MDMarra ~]# yum repolist
repo id                                       repo name                                                     status
base                                          CentOS-6 - Base                                                 6346
extras                                        CentOS-6 - Extras                                                  6
rpmforge                                      Red Hat Enterprise 6 - RPMforge.net - dag                       4453
update                                        CentOS-6 - Updates                                               820

Bắt đầu cài đặt:

[root@MDMarra ~]# wget http://imagemagick.mirrorcatalogs.com/linux/SRPMS/ImageMagick-6.8.0-4.src.rpm
[root@MDMarra ~]# yum install bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-devel zlib-devel ghostscript-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libX11-devel libXext-devel libXt-devel lcms-devel libxml2-devel librsvg2-devel OpenEXR-devel
[root@MDMarra ~]# rpmbuild --rebuild ImageMagick-6.8.0-4.src.rpm

Những tập tin này đã được tạo ra:

Processing files: ImageMagick-debuginfo-6.8.0-4.x86_64
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/ImageMagick-6.8.0-4.x86_64
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-devel-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-djvu-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-doc-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-perl-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-c++-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-c++-devel-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-debuginfo-6.8.0-4.x86_64.rpm

Cài đặt gói:

rpm -ivh /root/rpmbuild/RPMS/x86_64/ImageMagick-6.8.0-4.x86_64.rpm 

Kiểm tra nhị phân đã cài đặt:

[root@MDMarra ~]# rpm -qlp /root/rpmbuild/RPMS/x86_64/ImageMagick-6.8.0-4.x86_64.rpm| grep bin
/usr/bin/animate
/usr/bin/compare
/usr/bin/composite
/usr/bin/conjure
/usr/bin/convert
/usr/bin/display
/usr/bin/identify
/usr/bin/import
/usr/bin/mogrify
/usr/bin/montage
/usr/bin/stream

Kiểm tra số phiên bản gói mới được cài đặt:

[root@MDMarra ~]# /usr/bin/convert -version
Version: ImageMagick 6.8.0-4 2012-11-07 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP    

Thưởng thức!!


Hừm. Hấp dẫn. Tôi đã không cài đặt djvulibre-devel, libwmf-devel, jasper-devel hoặc giflib-devel khi cố gắng xây dựng lại RPM. Hãy cho tôi một shot.
Organicveggie

Danh sách các gói * -devel cần thiết để xây dựng RPM được liệt kê trong lỗi tôi nhận được khi ban đầu chạy rpmbuildvới SRPM. Tôi cũng có thể tải lên tệp kết quả ... Nhưng tôi muốn phác thảo các bước tôi đã thực hiện.
ewwhite

Xem, tôi đã làm sai theo hướng dẫn đã nói với tôi để xây dựng lại SRPM trước. Bằng cách nào đó, bước đó cho phép tôi bỏ qua việc kiểm tra các RPM bị thiếu khi chạy rpmbuild. Kỳ dị. Cài đặt các RPM bị thiếu đã thực hiện thủ thuật! Tôi đã có thể xây dựng các RPM cuối cùng và cài đặt chúng mà không gặp trở ngại nào. Thử nghiệm cho thấy các nhị phân hoạt động hoàn hảo. Cảm ơn!
Organicveggie

10
TẠI SAO BẠN SSH VÀO TÔI? Điều này thực sự rất khó xử.
MDMarra

4
@MDMarra: Bạn sắp kết hôn. Hãy biết ơn cho bất kỳ hành động.
Scott Pack

5

Vì không ai đề cập đến một giải pháp thay thế "không rắc rối", tôi sẽ thêm một câu trả lời mới.

Nếu bạn không phiền khi sử dụng các kho lưu trữ không chính thức, bạn có thể kích hoạt repo Remi như được mô tả ở đây http://blog.famillecollet.com/pages/Config-en . Sau đó, chỉ cần gõ

yum install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64

Và bạn sẽ nhận được một trong những phiên bản mới nhất có sẵn, đã được đóng gói và với mọi phụ thuộc được giải quyết và xử lý chính xác bởi yum. Không cần phải biên dịch lại bất cứ điều gì.

Lưu ý: Nó không chính xác cập nhật với phiên bản bạn có thể tìm thấy trên trang web chính thức, nhưng có vẻ như không quá 1-2 tháng sau. Ví dụ: tại thời điểm viết phiên bản chính thức mới nhất là 6.8.8 (ngày 12 tháng 1 năm 2014) trong khi phiên bản tôi tìm thấy trên repi repo là 6.8.7 (ngày 15 tháng 12 năm 2013).


Hoặc bạn có thể tải xuống từ remi repo một lần vớisudo yum --enablerepo=remi install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64
user56reinstatemonica8

1

Tôi gặp vấn đề này với CentOS 7.2 và ImageMagick 6.9.3-9. Sau nhiều thử nghiệm và sai sót, tôi phát hiện ra rằng 6.9.3- 8 công trình, trong khi 6.9.3- 9 có phụ thuộc mà không quyết tâm. May mắn thay http://rpm.pbone.net/ đã tìm thấy một kho lưu trữ với phiên bản cũ hơn.

IMAGEMAGICK_VERSION=6.9.3-8
# Be warned, 6.9.3-9 does not work; dependencies fail to resolve
IMAGEMAGICK_LIBS_SHA1=c0919e4ef4b7edc1052ef40eef4cc34f7a86341c
IMAGEMAGICK_SHA1=f99eda483850dd116b08e5527d603be2a47db8c4

curl -O ftp://ftp.icm.edu.pl/vol/rzm4/ImageMagick/linux/CentOS/x86_64/ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && sha1sum ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm | grep $IMAGEMAGICK_LIBS_SHA1 \
    && yum install -y ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && rm ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && curl -O ftp://ftp.icm.edu.pl/vol/rzm4/ImageMagick/linux/CentOS/x86_64/ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && sha1sum ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm | grep $IMAGEMAGICK_SHA1 \
    && yum install -y ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && rm ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm

0

Có vẻ như bạn sẽ cần những điều sau đây hoặc ít nhất là một số điều sau đây:

OpenEXR-devel.i686
OpenEXR-devel.x86_64
OpenEXR-libs.i686
OpenEXR-libs.x86_64

yum install OpenEXR-devel.i686 OpenEXR-libs.i686 OpenEXR-devel.x86_64 OpenEXR-libs.x86_64

Cài đặt cả 4 không nên gây ra nhiều gánh nặng hoặc tăng sử dụng dung lượng ổ đĩa, nhưng đó là những gói được trả về khi tôi tìm kiếm trên http://rpm.pbone.net/ cho 'libHalf.so.4' hoặc ' libIlmImf.so.4 'chẳng hạn.


Tôi sẽ cập nhật bài viết của mình để làm rõ, nhưng tôi đã đi vào con đường đó. CentOS 6.3 có OpenEXR 1.6.1, bao gồm các phiên bản mới hơn của những thứ như libHalf( libHalf.so.6ví dụ).
Organicveggie

0

Nếu bạn cũng cần cài đặt phiên bản phát triển của ImageMagicK, bạn có thể chạy:

vòng / phút -ivh / rot

Bước này sẽ được yêu cầu nếu bạn có kế hoạch chạy các ràng buộc ImagicK (PHP). Để cài đặt loại iMagicK:

tưởng tượng cài đặt pecl

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.