LINUX.ORG.RU

[gentoo][опрос]Сборка системы на новом GCC

 ,


0

1

Недавно обновился до gcc-4.5.3-r1. Не собирается Emacs, mplayer, но есть отговорка, что мол, это не основные пакеты. Ради эксперимента попробовал собрать только системные пакеты. Ошибки вываливались на app-text/djvu, app-text/poppler, дальше не проверял. На этот раз пакеты основные, так почему же, при неспособности сборки системы gcc, он попал в стабильную ветку? Я могу его замаскировать, но как быть новичкам, кто сейчас захочет поставить себе Gentoo? Он поскачет по этим граблям и перейдет на другой дистр. Напоследок вопрос: как на будущее исключить подобные проблемы? Неужели, собирать с новым gcc сначала в виртуалке?

★★★★★

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

> Сам понял, что сморозил?

Для тех, кто в танке: новичок в Gentoo.

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

> Сижу на 4.6.1 и не парюсь.

Парадокс в том, что он не в стабильной.

iVS ★★★★★
() автор топика

Это не gcc, это у тебя руки кривые. У меня с той же версией все перечисленное собралось.

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

> Это не gcc, это у тебя руки кривые. У меня с той же версией все перечисленное собралось.

Товарищу с завышенным ЧСВ: говорите это всем, и тогда, возможно, вам поверят.

iVS ★★★★★
() автор топика

[кривые руки][некрофилия]
поставь 4.6.1 и будет тебе счастье
прозреваю необходимость в revdep-rebuild...

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

> правильно - в золотых руках счастье что сделать я уже сказал - дальше сам думай

За дельные советы, вам и devl547'у, отдельное спасибо.

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

Так, в умелых руках и x** - поварешка. С этом-то кто спорит? =)

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

В таких случаях принято меряться флагами компиляции. Дерзайте, если на то огромное желание.

iVS ★★★★★
() автор топика
# gcc-config -l
 [1] x86_64-pc-linux-gnu-4.4.5
 [2] x86_64-pc-linux-gnu-4.5.3 *

все ОК!

sumrak_ss ★★
()

>На этот раз пакеты основные, так почему же, при неспособности сборки системы gcc, он попал в стабильную ветку?

А зачем использовать нестабильные флаги?

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

Так потому и в толксах =) Вот, например:

>>> Messages generated by process 10243 on 2011-10-01 12:21:17 EEST for package media-video/mplayer-1.0_rc4_p20101114:

ERROR: compile
ERROR: media-video/mplayer-1.0_rc4_p20101114 failed (compile phase):
  died running emake, base_src_make

Call stack:
    ebuild.sh, line   56:  Called src_compile
  environment, line 2912:  Called base_src_compile
  environment, line  623:  Called base_src_make
  environment, line  661:  Called die
The specific snippet of code:
          emake "$@" || die "died running emake, $FUNCNAME";

If you need support, post the output of 'emerge --info =media-video/mplayer-1.0_rc4_p20101114',
the complete build log and the output of 'emerge -pqv =media-video/mplayer-1.0_rc4_p20101114'.
The complete build log is located at '/var/tmp/portage/media-video/mplayer-1.0_rc4_p20101114/temp/build.log'.
The ebuild environment file is located at '/var/tmp/portage/media-video/mplayer-1.0_rc4_p20101114/temp/environment'.
S: '/var/tmp/portage/media-video/mplayer-1.0_rc4_p20101114/work/mplayer-1.0_rc4_p20101114'

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

Телепаты в треде? Не вижу ничего криминального:

CFLAGS="-march=native -mmmx -msse -msse2 -msse3 -O2 -pipe -fomit-frame-pointer"

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

А так?

libmpcodecs/vd_mpng.c: In function 'pngReadFN':
libmpcodecs/vd_mpng.c:77:19: error: dereferencing pointer to incomplete type
libmpcodecs/vd_mpng.c: In function 'decode':
libmpcodecs/vd_mpng.c:114:14: error: dereferencing pointer to incomplete type
libmpcodecs/vd_mpng.c:131:87: error: dereferencing pointer to incomplete type
make: *** [libmpcodecs/vd_mpng.o] Ошибка 1
make: *** Ожидание завершения заданий...
emake failed

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

Создавал в толксах. Чего-то не доглядел, сорри.

iVS ★★★★★
() автор топика

но как быть новичкам, кто сейчас захочет поставить себе Gentoo?

И да, в последних stage gcc-4.4.5

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

> И да, в последних stage gcc-4.4.5

Как камень с души снял. Спасибо тебе, добрый человечище!

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

>CFLAGS="-march=native -mmmx -msse -msse2 -msse3 -O2 -pipe -fomit-frame-pointer"

УМВР

libmpcodecs/vd_mpng.c: In function 'pngReadFN':

libmpcodecs/vd_mpng.c:77:19: error: dereferencing pointer to incomplete type



Больше похоже на несовместимые библиотеки.

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

конкретно - похоже на траблы со свежим libpng

около недели назад пытался обновить мир - libpng-1.5.* чуть не сломал мне всю систему

вчера уже нормально всё обновилось

anonymous
()

> Недавно обновился до gcc-4.5.3-r1

С разморозкой. Нормально пересобирал мир

gcc версия 4.6.1


Не собрался только psi (но он с любыми gcc не собирается) сейчас кажется починили, ибо я тот баг уже не могу найти в багзилле.

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

> около недели назад пытался обновить мир - libpng-1.5.* чуть не сломал мне всю систему

Так и есть: многие пакеты ссылаются на libpng14.so.14, поэтому приходится держать две версии libpng. Две недели не мог обновиться (инет только через проксю, не поддерживающей rsync), теперь разгребаю завалы.

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

> И - да - лично я не понимаю зачем новичку апгрейдить gcc. Скучно что ли?
Не скучно. Просто холодно. :)
У меня пока ни разу не было такого, что не собирается что-то именно из-за версии gcc. Обычно ступор связан с версиями библиотек. Из последнего - sys-libs/zlib-1.2.5.1-r1 что-то плохо прижился в системе. Несколько пакетов с ним не собирались.

NightSpamer
()
Ответ на: комментарий от Kroz

> Надеюсь, это читали: http://www.gentoo.org/doc/en/gcc-upgrading.xml

Да, читал. После того, как не собрались emacs, mplayer, использовал именно это руководство.

и перед тем как собирать какие-то пакеты, вы пересобрали системные пакеты.

Ну так, про сборку системных речь и идет. Большинство косяков всплыло из-за libpng, спасибо megabaks'у за наводку.

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

Так и есть: многие пакеты ссылаются на libpng14.so.14, поэтому приходится держать две версии libpng.

ну зачем ты опять врёшь?

[ root@desktop ] megabaks # equery f libpng
 * Searching for libpng ...
 * Contents of media-libs/libpng-1.5.5:
/usr
/usr/bin
/usr/bin/libpng-config -> libpng15-config
/usr/bin/libpng15-config
/usr/include
/usr/include/libpng15
/usr/include/libpng15/png.h
/usr/include/libpng15/pngconf.h
/usr/include/libpng15/pnglibconf.h
/usr/include/png.h -> libpng15/png.h
/usr/include/pngconf.h -> libpng15/pngconf.h
/usr/include/pnglibconf.h -> libpng15/pnglibconf.h
/usr/lib
/usr/lib/libpng.so -> libpng15.so
/usr/lib/libpng14.so.14
/usr/lib/libpng15.so -> libpng15.so.15.5.0
/usr/lib/libpng15.so.15 -> libpng15.so.15.5.0
/usr/lib/libpng15.so.15.5.0
/usr/lib/pkgconfig
/usr/lib/pkgconfig/libpng.pc -> libpng15.pc
/usr/lib/pkgconfig/libpng15.pc
/usr/share
/usr/share/doc
/usr/share/doc/libpng-1.5.5
/usr/share/doc/libpng-1.5.5/ANNOUNCE.bz2
/usr/share/doc/libpng-1.5.5/CHANGES.bz2
/usr/share/doc/libpng-1.5.5/README.bz2
/usr/share/doc/libpng-1.5.5/TODO.bz2
/usr/share/doc/libpng-1.5.5/libpng-manual.txt.bz2
/usr/share/man
/usr/share/man/man3
/usr/share/man/man3/libpng.3.bz2
/usr/share/man/man3/libpngpf.3.bz2
/usr/share/man/man5
/usr/share/man/man5/png.5.bz2
[ root@desktop ] megabaks # 

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

>Из последнего - sys-libs/zlib-1.2.5.1-r1 что-то плохо прижился в системе.
там во всех этих пакетах надо править кое-что
либо откатывать злиб

megabaks ★★★★
()
Ответ на: комментарий от megabaks
 equery f libpng
 * Searching for libpng ...
 * Contents of media-libs/libpng-1.4.8-r2:
/usr
/usr/lib
/usr/lib/libpng14.so.14
 * Contents of media-libs/libpng-1.5.5:
/usr
/usr/bin
/usr/bin/libpng-config -> libpng15-config
/usr/bin/libpng15-config
/usr/include
/usr/include/libpng15
/usr/include/libpng15/png.h
/usr/include/libpng15/pngconf.h
/usr/include/libpng15/pnglibconf.h
/usr/include/png.h -> libpng15/png.h
/usr/include/pngconf.h -> libpng15/pngconf.h
/usr/include/pnglibconf.h -> libpng15/pnglibconf.h
/usr/lib
/usr/lib/libpng.so -> libpng15.so
/usr/lib/libpng15.so -> libpng15.so.15.5.0
/usr/lib/libpng15.so.15 -> libpng15.so.15.5.0
/usr/lib/libpng15.so.15.5.0
/usr/lib/pkgconfig
/usr/lib/pkgconfig/libpng.pc -> libpng15.pc
/usr/lib/pkgconfig/libpng15.pc
/usr/share
/usr/share/doc
/usr/share/doc/libpng-1.5.5
/usr/share/doc/libpng-1.5.5/ANNOUNCE.bz2
/usr/share/doc/libpng-1.5.5/CHANGES.bz2
/usr/share/doc/libpng-1.5.5/README.bz2
/usr/share/doc/libpng-1.5.5/TODO.bz2
/usr/share/doc/libpng-1.5.5/libpng-manual.txt.bz2
/usr/share/man
/usr/share/man/man3
/usr/share/man/man3/libpng.3.bz2
/usr/share/man/man3/libpngpf.3.bz2
/usr/share/man/man5
/usr/share/man/man5/png.5.bz2
iVS ★★★★★
() автор топика
Ответ на: комментарий от iVS

плохо быть тобой :3

pkg_preinst() {
	has_version ${CATEGORY}/${PN}:1.4 && return 0
	preserve_old_lib /usr/$(get_libdir)/libpng14$(get_libname 14)
}

pkg_postinst() {
	has_version ${CATEGORY}/${PN}:1.4 && return 0
	preserve_old_lib_notify /usr/$(get_libdir)/libpng14$(get_libname 14)
}
[ root@desktop ] megabaks # qlist -Iv libpng
media-libs/libpng-1.5.5
[ root@desktop ] megabaks #

megabaks ★★★★
()
gcc-config -l
 [1] i686-pc-linux-gnu-4.5.3 *

Даже с моим изгибом рук все работает.

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

дабы не быть голословным

/usr/portage/www-client/chromium/chromium-15.0.874.54.ebuild:	sed -i '1i#define OF(x) x' \
/usr/portage/www-client/chromium/chromium-9999-r1.ebuild:	sed -i '1i#define OF(x) x' \
/usr/portage/www-client/chromium/chromium-14.0.835.163.ebuild:	sed -i '1i#define OF(x) x' \
/usr/portage/www-client/chromium/chromium-15.0.874.51.ebuild:	sed -i '1i#define OF(x) x' \
/usr/portage/www-client/chromium/chromium-16.0.891.0.ebuild:	sed -i '1i#define OF(x) x' \
/usr/portage/games-strategy/widelands/widelands-0.16.ebuild:	sed -i -e '74i#define OF(x) x' src/io/filesystem/{un,}zip.h || die
/usr/portage/games-strategy/widelands/widelands-0.16.ebuild:	sed -i -e '22i#define OF(x) x' src/io/filesystem/ioapi.h || die
/usr/portage/sci-libs/gdal/files/gdal-1.8.1-zlib_header_fix.patch:+#define OF(x) x
/usr/portage/www-servers/pound/files/pound-2.5-openssl-1.patch:+#define LHASH_OF(x) LHASH
/usr/portage/app-office/scribus/scribus-1.3.9-r2.ebuild:		-e '1i#define OF(x) x' \
/usr/portage/app-office/scribus/scribus-1.4.0_rc5.ebuild:	-e '1i#define OF(x) x' \
/usr/portage/dev-lang/R/files/R-2.13.1-zlib_header_fix.patch:+#define OF(x) x
/usr/portage/dev-libs/quazip/files/quazip-0.4.3-zlib.patch:+# define OF(x) x
/usr/portage/games-util/ucon64/files/ucon64-2.0.0-zlib.patch:+#define OF(x) x
/usr/portage/games-util/ucon64/files/ucon64-2.0.0-zlib.patch:+#define OF(x) x
/usr/portage/games-emulation/gens/gens-2.15.5.ebuild:	sed -i -e '1i#define OF(x) x' src/gens/util/file/unzip.h || die
/usr/portage/games-emulation/vbam/vbam-1.8.0.1009-r1.ebuild:	sed -i '1i#define OF(x) x' src/common/memgzio.c || die
/usr/portage/games-emulation/zsnes/zsnes-1.51-r2.ebuild:	sed -i -e '67i#define OF(x) x' zip/zunzip.h || die
/usr/portage/games-emulation/snes9x/snes9x-1.53.ebuild:	sed -i -e '75i#define OF(x) x' unzip/{un,}zip.h || die
/usr/portage/games-emulation/snes9x/snes9x-1.53.ebuild:	sed -i -e '22i#define OF(x) x' unzip/ioapi.h || die
/usr/portage/games-fps/openarena/openarena-0.8.5.ebuild:	sed -i -e '1i#define OF(x) x' $(find -name unzip.c) || die
/usr/portage/games-rpg/eternal-lands/eternal-lands-1.9.2-r1.ebuild:	sed -i '1i#define OF(x) x' `find -name "*.c"` || die "sed failed"

megabaks ★★★★
()

Я так и не переключил свой GCC 4.4 на что-то более новое.

ZenitharChampion ★★★★★
()

Обновился без проблем, с mplayer и всем остальным при пересборке мира проблем не наблюдал.

KUZMA
()
Ответ на: комментарий от megabaks

> проблема в zlib - и для неё во все ебыдлы теперь пихают костыль

Точнее, не в самом злибе. В нём лишь переименовали макрос, который с какого-то перепою юзали в стороннем коде.

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