Bug 20725

Summary: Overbloated dependencies
Product: Sisyphus Reporter: Sir Raorn <raorn>
Component: libImageMagick-develAssignee: Anton Farygin <rider>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P3 CC: at, cas, crux, ender, ktirf, lav, ldv, mike, placeholder, qa_viy, rider, shaba, viy
Version: unstable   
Hardware: all   
OS: Linux   

Description Sir Raorn 2009-07-09 15:52:47 MSD
$ for i in Magick++ Magick MagickCore MagickWand Wand; do $i-config --libs; done       -lMagick++ -lMagickWand -lMagickCore -llcms -ltiff -lfreetype -ljpeg -llqr-1 -lglib-2.0 -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lpthread 
 -lMagickCore -llcms -ltiff -lfreetype -ljpeg -llqr-1 -lglib-2.0 -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lpthread 
 -lMagickCore -llcms -ltiff -lfreetype -ljpeg -llqr-1 -lglib-2.0 -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lpthread 
 -lMagickWand -lMagickCore -llcms -ltiff -lfreetype -ljpeg -llqr-1 -lglib-2.0 -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lpthread 
 -lMagickWand -lMagickCore -llcms -ltiff -lfreetype -ljpeg -llqr-1 -lglib-2.0 -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lpthread 

Вся эта пачка библотек требуется при линковке, отсутствует в зависимостях -devel пакета и на самом деле для динамической линковке не нужна.  Зависимости у заголовочных файлов:

$ grep -h '#include' /usr/include/ImageMagick/**/*.* | sort -u | grep -v '[Mm]agick+\?+\?/' | grep -v 'wand/'                                             
#include <algorithm>
#include <exception>
#include <functional>
#include <iterator>
#include <list>
#include <map>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <sys/types.h>
#include <time.h>
#include <utility>

Это glibc-devel и libstdc++-devel (которые вытянутся через gcc и gcc-c++ соответственно).

ImageMagick/configure.ac:

-MAGICK_LIBS="-lMagickCore $MAGICK_DEP_LIBS $MAGICK_API_LIBLTDL"
+MAGICK_LIBS="-lMagickCore"

После чего *-config и *.pc становятся чистыми и красивыми.  С такой библиотекой (и отключенным HDRI) вполне удачно собрался RMagick.
Comment 1 Repository Robot 2011-04-26 16:45:42 MSK
ImageMagick-6.6.9.6-alt1 -> sisyphus:

* Tue Apr 26 2011 Anton Farygin <rider@altlinux> 6.6.9.6-alt1
- new version
- removed extra dependencies in magick-config (closes: #20725)