Перейти к содержанию

ставлю гном, на меня орут


Рекомендуемые сообщения

поставил либпнг, кричат мол нема... че за лажа сия?

checking for cairo's PNG backend... 
configure: WARNING: Could not find libpng in the pkg-config search path
checking whether cairo's PNG backend could be enabled... no
configure: error: requested PNG backend could not be enabled
make[4]: *** [configure-work/main.d/cairo-1.4.14/configure] Error 1
make[4]: Leaving directory `/home/a/gnome/download/garnome-2.22.0/freedesktop/cairo'
make[3]: *** [../../freedesktop/cairo/cookies/main.d/install] Error 2
make[3]: Leaving directory `/home/a/gnome/download/garnome-2.22.0/platform/gtk+'
make[2]: *** [../../platform/gtk+/cookies/main.d/install] Error 2
make[2]: Leaving directory `/home/a/gnome/download/garnome-2.22.0/bindings/pygtk'
make[1]: *** [../../bindings/pygtk/cookies/main.d/install] Error 2
make[1]: Leaving directory `/home/a/gnome/download/garnome-2.22.0/desktop/alacarte'
make: *** [paranoid-install] Error 2
Ссылка на комментарий
Поделиться на другие сайты

Какой дистрибутив, нам догадываться? Если что-то из бинарных, Вы недостаточно поставили. Для сборки нужен не просто X, а X-devel

Ссылка на комментарий
Поделиться на другие сайты

чесно говоря я спецом не указал дистр - пакеты и депенденси весзде одинаковы... на генту я ставлю... нащёт X так я ничё таково не ставил... я нуб вощемта чё за X толком не шарю... тут я думаю ботва по поводу либпнг

update: насколько я понял мне нужен либпнг-девел... а почему из сурса нельзя его поставить? в чем разница между либпнг-девел и либпнг-девел3?

Ссылка на комментарий
Поделиться на другие сайты

cL0N31 писал(а) Mon, 21 April 2008 04:26

чесно говоря я спецом не указал дистр - пакеты и депенденси весзде одинаковы...

Убит наповал.

Цитата:

на генту я ставлю...

Раз ставите, то должны знать, каков принцип работы Генты и понимать, что в ней бессмысленно разделение на пакеты для пользователя и разработчика

Цитата:

нащёт X так я ничё таково не ставил... я нуб вощемта чё за X толком не шарю...

Хорошо, пусть будет ${X} - некоторая переменная величина, название пакета.

Цитата:

update: насколько я понял мне нужен либпнг-девел... а почему из сурса нельзя его поставить?

Можно. Только после этого нужно самостоятельно разбираться с сообщениями при сборке и решать их собственными силами, внимательно читая сообщения при конфигурировании и сборке и следуя им.

Ссылка на комментарий
Поделиться на другие сайты

cL0N31 писал(а) Wed, 23 April 2008 05:07

а где мне взять бинарник либпнг-девел для генты... пытал rpmfind.net но для генты нече не нашол... как быть?

Почитать документацию по Генте и понять, что там не бывает отдельных *devel пакетов.

Ссылка на комментарий
Поделиться на другие сайты

ок я прочитал что гента юзает ебилд скрипты которые сами скачивают и ставят пакеты... нашол я ебилд для либпнг, но для девела не нашол... че из этого?

Ссылка на комментарий
Поделиться на другие сайты

cL0N31 писал(а) Wed, 23 April 2008 17:41

ок я прочитал что гента юзает ебилд скрипты которые сами скачивают и ставят пакеты... нашол я ебилд для либпнг, но для девела не нашол... че из этого?

Неправильно прочитали. Гента юзает ебилды, которые сами скачивают _исходные коды_, на месте собирают из них бинарники и устанавливают в систему. Поскольку вся сборка происходит на месте, само собой, что вместе с пакетом ставятся и всех хедеры и библиотеки для линковки, которые в бинарных дистрибутивах находятся в отдельных devel-пакетах.

Ссылка на комментарий
Поделиться на другие сайты

EvilShadow:

если ебилд сам собирает бинарники и ставит их в систему, как этот принцип отличен от тривиальной make/make install процедуры? тем что ебилд только что сам скачивает? я уже делал make/make install либпнг'и и это не решало ошибку выше... конечно я попробую инсталл через ебилд, но главное - я хочу понять в чём различие

vpk:

я всё понимаю, но во-первых, я стараюсь всё сделать вручную чтобы больше понять, во-вторых на моём линух-боксе нема инета

Ссылка на комментарий
Поделиться на другие сайты

cL0N31 писал(а) Wed, 23 April 2008 22:29

EvilShadow:

если ебилд сам собирает бинарники и ставит их в систему, как этот принцип отличен от тривиальной make/make install процедуры? тем что ебилд только что сам скачивает? я уже делал make/make install либпнг'и и это не решало ошибку выше... конечно я попробую инсталл через ебилд, но главное - я хочу понять в чём различие

Различий очень много. Основное различие, касающееся Вашего вопроса, в том, что через emerge ПО устанавливается в системные каталоги. Когда Вы делали ./configure && make && make install, наверняка ПО было установлено в /usr/local. А поскольку pkg-config там ничего не ищет, нужно устанавливать либо в каталоги от корня (чего делать не рекомендуется), либо указывать при сборке других программ явно каталоги поиска для pkg-config. Запустите конфигурационный скрипт с ключом --help и посмотрите, сколько он принимает аргументов с именем *prefix. Система ебилдов проводит конфигурацию с нужными аргументами сама. Вручную их нужно указывать отдельно.

Ссылка на комментарий
Поделиться на другие сайты

при emerge libpng возникает сие

***** libpng-1.2.24-pngconf-setjmp.patch *****

==============================================

PATCH COMMAND:	 patch -p0 -g0 -E --no-backup-if-mismatch < /usr/portage/media-libs/libpng/files/libpng-1.2.24-pngconf-setjmp.patch

==============================================
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- libpng/pngconf.h
|+++ libpng/pngconf.h
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
==============================================

PATCH COMMAND:	 patch -p1 -g0 -E --no-backup-if-mismatch < /usr/portage/media-libs/libpng/files/libpng-1.2.24-pngconf-setjmp.patch

==============================================
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- libpng/pngconf.h
|+++ libpng/pngconf.h
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
==============================================

PATCH COMMAND:	 patch -p2 -g0 -E --no-backup-if-mismatch < /usr/portage/media-libs/libpng/files/libpng-1.2.24-pngconf-setjmp.patch

==============================================
missing header for unified diff at line 3 of patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- libpng/pngconf.h
|+++ libpng/pngconf.h
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
==============================================

PATCH COMMAND:	 patch -p3 -g0 -E --no-backup-if-mismatch < /usr/portage/media-libs/libpng/files/libpng-1.2.24-pngconf-setjmp.patch

==============================================
missing header for unified diff at line 3 of patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- libpng/pngconf.h
|+++ libpng/pngconf.h
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
==============================================

PATCH COMMAND:	 patch -p4 -g0 -E --no-backup-if-mismatch < /usr/portage/media-libs/libpng/files/libpng-1.2.24-pngconf-setjmp.patch

==============================================
missing header for unified diff at line 3 of patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- libpng/pngconf.h
|+++ libpng/pngconf.h
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored

вот сам патч файл

--- libpng/pngconf.h
+++ libpng/pngconf.h
@@ -323,8 +323,8 @@
      /* If you encounter a compiler error here, see the explanation
       * near the end of INSTALL.
       */
-         __pngconf.h__ already includes setjmp.h;
-         __dont__ include it again.;
+#warning  __pngconf.h__ already includes setjmp.h;
+#warning  __dont__ include it again.;
 #    endif
 #  endif /* __linux__ */
Ссылка на комментарий
Поделиться на другие сайты

Gentoo без интернета - удовольствие не для начинающих (IMHO). Подключитесь к интернету и сделайте хотя-бы emerge --sync , тем более, что, судя по libpng-1.2.24 - система довольно старая (сейчас уже libpng-1.2.26). Потом нужные пакеты можно будет выкачивать на другой машине и кидать в distfiles (на эту тему есть куча документации в интернете).

Ссылка на комментарий
Поделиться на другие сайты

vpk:

я вобщемта так и делаю через distfiles, либпнг обновил вручную до 1.2.26... там в этом ебилде просто используется патч 1.2.24 на котором emerge и не двигается дальше... вот сам ебилд:

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/media-libs/libpng/libpng-1.2.26-r1.ebuild,v 1.2 2008/04/15 01:19:05 rbu Exp $

inherit libtool multilib eutils

DESCRIPTION="Portable Network Graphics library"
HOMEPAGE="http://www.libpng.org/"
SRC_URI="mirror://sourceforge/libpng/${P}.tar.lzma"

LICENSE="as-is"
SLOT="1.2"
KEYWORDS="alpha amd64 ~arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc ~sparc-fbsd x86 ~x86-fbsd"
IUSE=""

RDEPEND="sys-libs/zlib"
DEPEND="${RDEPEND}
	app-arch/lzma-utils"

src_unpack() {
	unpack ${A}
	cd "${S}"
	epatch "${FILESDIR}"/${PN}-1.2.24-pngconf-setjmp.patch
	epatch "${FILESDIR}"/${P}-CVE-2008-1382.patch #217047
	# So we get sane .so versioning on FreeBSD
	elibtoolize
}

src_install() {
	emake DESTDIR="${D}" install || die
	dodoc ANNOUNCE CHANGES KNOWNBUG README TODO Y2KINFO
}

pkg_postinst() {
	# the libpng authors really screwed around between 1.2.1 and 1.2.3
	if [[ -f ${ROOT}/usr/$(get_libdir)/libpng.so.3.1.2.1 ]] ; then
		rm -f "${ROOT}"/usr/$(get_libdir)/libpng.so.3.1.2.1
	fi
}
Ссылка на комментарий
Поделиться на другие сайты

Вопрос не в ebuild'е и не в патчах, а в методе установки. emerge проверяет зависимости, и, при необходимости, доустанавливает нужные пакеты. Кроме того, как уже было сказано, при установке вручную все валится в /usr/local , а не в специфичные для Gentoo места. Что влечет необходимость вручную указывать пути и еще много чего. Кстати, при ручной установке и ищется все (либы, в-частности) тоже в стандартных, так сказать "общелинуксовых" местах, а не в специфичных для конкретного дистрибутива.

Ссылка на комментарий
Поделиться на другие сайты

vpk:

ты наверно меня не так понял... так как на моей линух тачке нету инета и я не могу заюзать --sync, то новые ебилды я скачиваю вручную и кидаю их в оверлэй... устанавливаю я всё через emerge... ты правильно подметил что emerge ставит сперва депенденси, поэтому при emerge libpng сначала у меня установились lzma-utils как указано в коде ебилда... эти lzma-utils установились успешно но потом когда начал устанавливаться сам либпнг - вышла вышеуказанная ошибка, где патч не смог

update: проблема решена... я успешно сделал emerge libpng версии 1.2.22... возникла другая трабла но о ней в другом топике... спасибо за объяснения о portage

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...