[devel] GraphicsMagick-1.3.18-alt1: Sisyphus/x86_64 test rebuild failed [7]

Andrey Liakhovets aoliakh на altlinux.org
Ср Авг 7 10:51:14 MSK 2013


On Wed, 07 Aug 2013 01:34:17 +0300 Viacheslav Dubrovskyi wrote:
>Здравствуйте.
>
>Сломалась сборка GraphicsMagick. Подскажите пожалуйста как исправить,
>т.к. не силен в С ?
>
>Спасибо.
>
>05.08.2013 15:31, ALT beekeeper пишет:
>
>> Package: GraphicsMagick-1.3.18-alt1
>> Status: Sisyphus/x86_64 test rebuild failed
 ...
>> LDFLAGS = -L"/usr"/lib -L/usr/lib
 ...
>> /bin/sh ./libtool --tag=CC --mode=compile x86_64-alt-linux-gcc
>-std=gnu99 -DHAVE_CONFIG_H -I. -I./magick -I/usr/include/libxml2
>-pipe -Wall -g -O2
>-DGRAPHICSMAGICK_DOCS_PATH=\"/usr/share/doc/GraphicsMagick-1.3.18/www/index.html\"
>-Wall -pthread -c -o magick/magick_libGraphicsMagick_la-command.lo `test
>-f 'magick/command.c' || echo './'`magick/command.c
>> libtool: compile: x86_64-alt-linux-gcc -std=gnu99 -DHAVE_CONFIG_H -I.
>-I./magick -I/usr/include/libxml2 -pipe -Wall -g -O2
>-DGRAPHICSMAGICK_DOCS_PATH=\"/usr/share/doc/GraphicsMagick-1.3.18/www/index.html\"
>-Wall -pthread -c magick/command.c -o
>magick/magick_libGraphicsMagick_la-command.o
>> magick/command.c: In function 'VersionCommand':
>> magick/command.c:16980:51: error: 'usr' undeclared (first use in this
>function)
>> magick/command.c:16980:51: note: each undeclared identifier is
>reported only once for each function it appears in
>> magick/command.c:16980:51: error: expected ')' before string constant
>> make: *** [magick/magick_libGraphicsMagick_la-command.lo] Error 1
 ...

В чруте за 20130423 было так:
-----------------------------
$ pkg-config freetype2 --variable exec_prefix
/usr
из libfreetype-devel-2.4.11-alt1.1 (/usr/lib/pkgconfig/freetype2.pc)

А сейчас стало так:
-------------------
$ pkg-config freetype2 --variable exec_prefix
"/usr"
из libfreetype-devel-2.4.12-alt1 (/usr/lib/pkgconfig/freetype2.pc)

$ diff -Nau {g,G}/chroot/usr/lib/pkgconfig/freetype2.pc
--- g/chroot/usr/lib/pkgconfig/freetype2.pc 2013-03-19 18:56:06.000000000 +0400
+++ G/chroot/usr/lib/pkgconfig/freetype2.pc 2013-06-15 20:31:20.000000000 +0400
@@ -1,11 +1,11 @@
-prefix=/usr
-exec_prefix=/usr
-libdir=/usr/lib
-includedir=/usr/include
+prefix="/usr"
+exec_prefix="/usr"
+libdir="/usr/lib"
+includedir="/usr/include"
 
 Name: FreeType 2
 Description: A free, high-quality, and portable font engine.
-Version: 16.0.10
+Version: 16.1.10
 Requires:
 Libs: -lfreetype
 Libs.private: -lz

Дальше получаем:
----------------
$ /usr/bin/freetype-config --exec-prefix
"/usr"

$ grep -r freetype_exec_prefix .
./configure: freetype_exec_prefix=`${freetype_config} --exec-prefix`
./configure: LDFLAGS="$LDFLAGS -L${freetype_exec_prefix}/lib"
./configure.ac: freetype_exec_prefix=`${freetype_config} --exec-prefix`
./configure.ac: LDFLAGS="$LDFLAGS -L${freetype_exec_prefix}/lib"

$ grep -r GM_BUILD_LDFLAGS .
./config.status:D["GM_BUILD_LDFLAGS"]=" \"-L\"/usr\"/lib -L/usr/lib\""
./config.log:#define GM_BUILD_LDFLAGS "-L"/usr"/lib -L/usr/lib"
./configure:#define GM_BUILD_LDFLAGS "${LDFLAGS}"
./magick/magick_config.h:#define GM_BUILD_LDFLAGS "-L"/usr"/lib -L/usr/lib"
./magick/magick_config.h.in:#undef GM_BUILD_LDFLAGS
./magick/command.c:#if defined(GM_BUILD_LDFLAGS)
./magick/command.c: (void) fprintf(stdout," LDFLAGS = %.1024s\n", GM_BUILD_LDFLAGS);
./magick/command.c:#endif /* defined(GM_BUILD_LDFLAGS) */
./configure.ac:AC_DEFINE_UNQUOTED(GM_BUILD_LDFLAGS,"${LDFLAGS}",[LDFLAGS used for linking])

С дополнительными " везде всё хорошо (вроде бы), кроме magick/command.c,
где получаем внутри GM_BUILD_LDFLAGS вместо одной строки - деление
строки на неизвестную переменную usr и т.д. :)

Не знаю, как правильно исправлять.
По-хорошему, в C с такими #define надо бы поаккуратнее.
Но по-быстрому можно поправить в /usr/lib/pkgconfig/freetype2.pc .

Андрей Ляховец


Подробная информация о списке рассылки Devel