LINUX.ORG.RU

cairo-features.h: Нет такого файла или каталога


0

1

Дистрибутив: Ubuntu 10.10 32-бит + все доступные на текущий момент апдейты

Безуспешно пытаюсь скомпилять libgdiplus-2.10, пробовал разные скрипты и версии исходников - результат один - не видит cairo. При конфигурировании (оно проходит автоматически, полную сборку делает скрипт, автор Nathan) говорит что увидело «cairo: 1.10 system», в системе стоит libcairo2-dev и libcairo2 и libcairo-gobject2. Вообще, скрипт ставит все зависимости сам, вызывая APT...

Дома сборка проходит успешно (64 бита), в виртуальной машине (32) - тоже. На рабочем компьютере вылезает такая ошибка:

/bin/bash ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include       -I/usr/include/freetype2     -I/usr/include/libexif   -Wall -Wno-unused -Wno-format    -g -O2 -pthread -MT graphics.lo -MD -MP -MF .deps/graphics.Tpo -c -o graphics.lo graphics.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libexif -Wall -Wno-unused -Wno-format -g -O2 -pthread -MT graphics.lo -MD -MP -MF .deps/graphics.Tpo -c graphics.c  -fPIC -DPIC -o .libs/graphics.o
graphics.c:38: fatal error: cairo-features.h: Нет такого файла или каталога
compilation terminated.

в инете встречал такие же сообщения с этой ошибкой, но решения нет

/usr/include/cairo$ ls
cairo-deprecated.h  cairo-gl.h       cairo-pdf.h                 cairo-svg.h      cairo-xlib.h
cairo-features.h    cairo-gobject.h  cairo-ps.h                  cairo-version.h  cairo-xlib-xrender.h
cairo-ft.h          cairo.h          cairo-script-interpreter.h  cairo-xcb.h
★★★★★

Последнее исправление: I-Love-Microsoft (всего исправлений: 1)

Ответ на: комментарий от Jetty

да, точно... не понятно почему на других компьютерах оно находит cairo и включает путь при configure, а на одном компе - пишет нашло cairo 1.10 и вроде бы должно все пахать, а при компиляции не добавляет... загадка... с другими библиотеками проблем нет, ну разве что с libpng - так еще гадость, версии несовместимые иногда оказываются внезапно

попробую export CFLAGS=«${CFLAGS} -I/usr/include/cairo»

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от Jetty

не помогло, там libtool и другая фигня, оно игнорирует эти переменные окружения

надо попытаться вылечить проблему на корню, не могу уловить отличия между различными компами чтобы понять почему оно выкидывает путь к cairo...

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Посмотри какой механизм поиска заголовком использует...

Jetty ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Не CFLAGS, а CPPFLAGS нужно указать, autotools должны это учитывать.

Чтобы понять причину, надо выхлоп configure смотреть.

unsigned ★★★★
()
Ответ на: комментарий от unsigned
CPPFLAGS=-I/usr/include/cairo
CCFLAGS=-I/usr/include/cairo
CFLAGS=-I/usr/include/cairo

результат одинаков, там ведь libtool - как это libtool заставить видеть дополнительные каталоги?

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

libtool использует информацию, которую дает autoconf, а autoconf учитывает переменную CPPFLAGS. export CPPFLAGS не забыл?

Вообще, раз confugure находит cairo, значит проблема где-то еще. Я бы почитал этот сборочный скрипт (вызов apt-get - это уже нехорошие слова в адрес автора), ну и в Makefile.am может быть баг теоретически.

Я бы посмотрел пакет, но у меня *.bz2 заблочено.

unsigned ★★★★
()
Ответ на: комментарий от Novell-ch

да, было такое предположение, но в /usr/include/cairo все файлы имеют одинаковые права доступа -rw-r--r-- 1 root root

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от unsigned

CPPFLAGS такого нет. Есть CFLAGS и CXXFLAGS. В данном случае должны использоваться CFLAGS. Скорее всего надо сделать

CFLAGS=-I..... ./configure
make

Reset ★★★★★
()
Ответ на: комментарий от Novell-ch

какие нафиг права? видно же, что gcc вызывается не с теми флагами. это косяк libgdiplus-2.10

Reset ★★★★★
()
Ответ на: комментарий от Reset

CPPFLAGS - это ключи препроцессора, -I как раз к ним относится. Об этом, в частности, пишет ./configure --help.

unsigned ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.