странный баг с tar архивами [РЕШЕНО]

Обнаружилось что не могу пере собрать пакет sys-apps/kbd-2.0.2::gentoo

* Package: sys-apps/kbd-2.0.2
* Repository: gentoo
* Maintainer:

* USE: abi_x86_64 amd64 elibc_glibc kernel_linux nls pam userland_GNU
* FEATURES: preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
>>> Unpacking kbd-2.0.2.tar.xz to /var/tmp/portage/sys-apps/kbd-2.0.2/work
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
* ERROR: sys-apps/kbd-2.0.2::gentoo failed (unpack phase):
* unpack: failure unpacking kbd-2.0.2.tar.xz
*
* Call stack:
* ebuild.sh, line 93: Called src_unpack
* environment, line 2670: Called default
* phase-functions.sh, line 763: Called default_src_unpack
* phase-functions.sh, line 790: Called __eapi0_src_unpack
* phase-helpers.sh, line 736: Called unpack 'kbd-2.0.2.tar.xz'
* phase-helpers.sh, line 509: Called __unpack_tar 'xz -d'
* phase-helpers.sh, line 317: Called __assert_sigpipe_ok 'unpack: failure unpacking kbd-2.0.2.tar.xz'
* isolated-functions.sh, line 41: Called __helpers_die 'unpack: failure unpacking kbd-2.0.2.tar.xz'
* isolated-functions.sh, line 117: Called die

По началу я забил на это дело, так как при пере сборки всего мира только этот пакет не ставился, да и распаковать я его тоже руками не смог.
Но когда вывалился dev-qt/qtcore-4.8.7 меня это начало напрягать.

* Package: dev-qt/qtcore-4.8.7
* Repository: gentoo
* Maintainer:

* Upstream: https://bugreports.qt.io/
* USE: abi_x86_32 abi_x86_64 amd64 elibc_glibc exceptions glib iconv icu kernel_linux qt3support ssl userland_GNU
* FEATURES: preserve-libs sandbox userpriv usersandbox
tar: Skipping to next header
tar: Exiting with failure status due to previous errors
* ERROR: dev-qt/qtcore-4.8.7::gentoo failed (unpack phase):
* unpack: failure unpacking qt-everywhere-opensource-src-4.8.7.tar.gz
*
* Call stack:
* ebuild.sh, line 93: Called src_unpack
* environment, line 3231: Called qt4-build-multilib_src_unpack
* environment, line 2766: Called default
* phase-functions.sh, line 763: Called default_src_unpack
* phase-functions.sh, line 790: Called __eapi0_src_unpack
* phase-helpers.sh, line 736: Called unpack 'qt-everywhere-opensource-src-4.8.7.tar.gz'
* phase-helpers.sh, line 386: Called __unpack_tar 'gzip -d'
* phase-helpers.sh, line 317: Called __assert_sigpipe_ok 'unpack: failure unpacking qt-everywhere-opensource-src-4.8.7.tar.gz'
* isolated-functions.sh, line 41: Called __helpers_die 'unpack: failure unpacking qt-everywhere-opensource-src-4.8.7.tar.gz'
* isolated-functions.sh, line 117: Called die
* The specific snippet of code:
* die "$@"

Пробовал пере собрать все в системе от чего зависит tar и зависимости его зависимостей, но это делу не помогает.
Что делать даже не знаю, по этому прошу сообщество направить в нужную сторону. Отпишитесь кто какие мысли имеет по этому поводу.

Portage не обновлялся

Portage не обновлялся недавно? Emerge portage а затем снова попробовать. Ну так, на всякий случай

В таре нет бага!По-крайней

В таре нет бага!
По-крайней мере такого, каким вы его описываете. Проверено на сотнях серверов лично! :) Это все ошибки вашей и только вашей системы.
Присоединяюсь к совету предыдущего оратора об обновлении портажа, только от себя добавлю, что если обновлялся glibc, то рекомендую пересобрать мир и перезагрузиться или хотя бы просто перезагрузиться. А если обновлялся gcc, то должны быть выполнены все соответствующие процедуры, описанные на gentoo.org.

P.S. Проверьте файловые системы и dmesg на отсутствие ошибок.

Если мажорная версия

Если мажорная версия компилятора изменилась - да, надо мучиться. Если не изменилась - ничего не надо. Равно, как и глупая пересборка мира после обновления glibc

Пользуясь моментом, хочу передать привет друзьям, которые также пользуются "Моментом"

Tzar написал(а): Если

Tzar написал(а):
Если мажорная версия компилятора изменилась - да, надо мучиться. Если не изменилась - ничего не надо. Равно, как и глупая пересборка мира после обновления glibc

"мажорная" это первая цифра? т.е. пересборка понадобится после перехода на gcc-5...?

На счет того, что в таре нет

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

Вот сейчас не вспомню для чего, но пришлось перейти на стабильные версии пакетов, по моему глюки примерно с того времени и пошли.
Но я точно при переходе пере собирал мир на пару раз для.

/etc/portage/package.keywords/package.keywords

dev-libs/glib -~amd64
dev-cpp/glibmm -~amd64
net-libs/glib-networking -~amd64
dev-libs/gobject-introspection -~amd64
dev-libs/gobject-introspection-common -~amd64
dev-util/gdbus-codegen -~amd64
app-accessibility/at-spi2-atk -~amd64
dev-cpp/atkmm -~amd64
dev-libs/atk -~amd64
sys-devel/gcc -~amd64
app-arch/tar -~amd64
dev-python/chardet -~amd64
dev-util/gtk-update-icon-cache -~amd64

P.S. Проверьте файловые системы и dmesg на отсутствие ошибок.

Ошибок на фаловых системах нет, ну в dmesg есть ошибки, но они связаны с инициализацией видео подсистемы.

Вопрос немного не по теме

Знак "минус" в -~amd64 - это вся система собрана как ~amd64, и только эти пакеты будут стабильными, или как?

Просто с "минусом" просто в package.* мне как-то не приходилось сталкиваться, разве что видел что-то подобное для размаскировки отдельных hard-masked USE-флагов (типа того же qt5 сейчас в некоторых пакетах).

.

WiseLord написал(а):
размаскировки отдельных hard-masked USE-флагов (типа того же qt5 сейчас в некоторых пакетах)

Ваша неправда - всё давно открыто (и флаг и сами кути - ведь от четвёртых плазма отплёвывается)

Мы тоже не всего читали Шнитке!.. © В. Вишневский

Специально проверил с твоей версией - никаких проблем!

kott написал(а):
На счет того, что в таре нет бага, я бы так категорично утверждать не стал, возможно мне удалось создать условия для его появления. ...

Ага, собирая отдельные пакеты от разных архитектур вперед-назад... :D

kott написал(а):
...пришлось перейти на стабильные версии пакетов, по моему глюки примерно с того времени и пошли.
...

Возможно несовместимость с библиотеками..

Для каких еще разных

Для каких еще разных архитектур? Что за бред? Не нашел ни одного упоминания в теме про сборку пакетов ПОД РАЗНЫЕ архитектуры

ЗЫ. кейворд с тильдой или нет - это не разные архитектуры.

НЕсовместимость с библиотеками - тоже умно. Пересборка конечно может помочь.

ТС - прогони-ка по старой памяти revdep-rebuild, потому как в портеже не всегда аналогичная фича работает корректно.

Пользуясь моментом, хочу передать привет друзьям, которые также пользуются "Моментом"

Ну не бред, конечно,

Tzar написал(а):
Для каких еще разных архитектур? Что за бред? Не нашел ни одного упоминания в теме про сборку пакетов ПОД РАЗНЫЕ архитектуры

Ну не бред, конечно, :) но согласен, что использовал неточный термин для краткости. Тестовая и стабильная ветки как-то длинно показалось. Надеялся что сей жаргонизм поймут...

Tzar написал(а):
ЗЫ. кейворд с тильдой или нет

А вот это диковато звучит...

Tzar написал(а):
НЕсовместимость с библиотеками - тоже умно. Пересборка конечно может помочь.

И таки-да, помогает!.. ;) Конечно, если есть понимание процесса и ситуации, то обЪем пересборки можно существенно уменьшить, но заочно это обЪяснить порой затруднительно...

Tzar написал(а):
ТС - прогони-ка по старой памяти revdep-rebuild, потому как в портеже не всегда аналогичная фича работает корректно.

A вот тут я с вами абсолютно согласен.

revdep-rebuild ничего не дал,

revdep-rebuild ничего не дал, да как и пере сборка мира без этих пакетов тоже, правда пришлось исключить все dev-qt/qt*

Как ни странно dev-qt/qtcore-4.8.6 собирается нормально, как и dev-qt/qtcore-5.*
А вот sys-apps/kbd-* ни как.

Еще варианты будут? Я вот уже склоняюсь к переустановки всего с 0.

З.Ы.
А для чего еще нужен 8 ядерный Core i7-4710MQ 2.50GHz ? (вся пере сборка мира с либреофисом и мозилками менее 7 часов.)

Покажи emerge --info и emerge

Покажи emerge --info и emerge tar kbd -pv

emerge --info

emerge --info
Portage 2.2.20 (python 3.3.5-final-0, default/linux/amd64/13.0, gcc-4.8.4, glibc-2.20-r2, 4.1.1-gentoo-r1 x86_64)
=================================================================
System uname:

KiB Mem: 7835196 total, 5883780 free
KiB Swap: 0 total, 0 free
Timestamp of repository gentoo: Thu, 09 Jul 2015 02:30:01 +0000
sh bash 4.3_p39
ld GNU ld (Gentoo 2.25 p1.2) 2.25
app-shells/bash: 4.3_p39::gentoo
dev-java/java-config: 2.2.0::gentoo
dev-lang/perl: 5.20.2-r1::gentoo
dev-lang/python: 2.7.10::gentoo, 3.3.5-r1::gentoo, 3.4.3::gentoo
dev-util/cmake: 3.2.3::gentoo
dev-util/pkgconfig: 0.28-r3::gentoo
sys-apps/baselayout: 2.2::gentoo
sys-apps/openrc: 0.17::gentoo
sys-apps/sandbox: 2.6-r1::gentoo
sys-devel/autoconf: 2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake: 1.11.6-r1::gentoo, 1.12.6::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils: 2.25-r1::gentoo
sys-devel/gcc: 4.8.4::gentoo
sys-devel/gcc-config: 1.8::gentoo
sys-devel/libtool: 2.4.6-r1::gentoo
sys-devel/make: 4.1-r1::gentoo
sys-kernel/linux-headers: 4.1::gentoo (virtual/os-headers)
sys-libs/glibc: 2.20-r2::gentoo
Repositories:

gentoo
location: /usr/portage
sync-type: rsync
sync-uri: rsync://rsync.gentoo.org/gentoo-portage
priority: -1000

science
location: /var/lib/layman/science
masters: gentoo
priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1 Oracle-BCLA-JavaSE AdobeFlash-11.x skype-4.0.0.7-copyright Vivaldi"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -fomit-frame-pointer -march=core-avx2 -ftree-vectorize -fno-align-labels -ftree-loop-if-convert"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -fomit-frame-pointer -march=core-avx2 -ftree-vectorize -fno-align-labels -ftree-loop-if-convert"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask=n --load-average 8 --jobs 7"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildsyspkg collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync metadata-transfer news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/"
LANG="en_US.utf8"
LDFLAGS="-Wl,--as-needed"
MAKEOPTS="-j9 -s"
PKGDIR="/usr/portage/packages"
PORTAGE_BUNZIP2_COMMAND="lbunzip2 -n7"
PORTAGE_BZIP2_COMMAND="lbzip2 -n7"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac aacplus acl acpi alsa amd64 bash-completion berkdb bluetooth bzip2 cjk cleartype cli consolekit cpudetection cracklib crypt cups curl custom-optimization cxx dbus djvu dri dri2 drm egl eselect exif fontconfig fontforge fortran gdbm gles gles1 gles2 glib gsm gtk iconv introspection ipv6 jpeg jpeg2k kde libnotify lm_sensors lzma mmx mmxext modules multilib ncurses nls nptl opengl openmp pam pcre pda png pulseaudio python3_3 qt4 raw readline session sna sse sse2 ssl startup-notification system-sqlite tcpd theora tiff truetype udev unicode usb v4l v4l2 vaapi wifi wmf xcomposite xinerama xorg xv xvmc zlib" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev keyboard mouse void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer pdfimport" LINGUAS="ru en ru_RU en_US" LIRC_DEVICES="audio audio_alsa serial" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7 python3_3" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" SANE_BACKENDS="epson epson2 hp hp3500 hp3900 hp4200 hp5400 hp5590 hpljm1005 hpsj5s mustek mustek_pp mustek_usb net xerox_mfp" USERLAND="GNU" VIDEO_CARDS="intel i965 nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.7 3.3"
Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

emerge tar kbd -pv

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild R ] app-arch/tar-1.27.1-r2::gentoo USE="-acl -minimal -nls (-selinux) -static -xattr" 0 KiB
[ebuild R ] sys-apps/kbd-2.0.2::gentoo USE="nls pam {-test}" 0 KiB

Предлагаю, как минимум,

Предлагаю, как минимум, добавить nls к tar'у, поскольку у kbd он стоит и возможно где-то используется.
У меня еще и acl активирован, возможно и тебе он не помешает. ;)

А сам тар что пишет? Например

А сам тар что пишет? Например при запаковывании

tar -cf - file | xz -9 -c - > file.tar.xz

и распаковывании

tar xf file.tar.xz

А свои архивы он всегда

А свои архивы он всегда откроет!
Фишка в том, как они создавались на стороне, т.е. какие были настройки у ФС и самого тар'а.
Видимо потому только кбд глючит, что он у автора на системе с другой кодировкой сделан.

/

SysA написал(а):
А свои архивы он всегда откроет!
Фишка в том, как они создавались на стороне, т.е. какие были настройки у ФС и самого тар'а.
Видимо потому только кбд глючит, что он у автора на системе с другой кодировкой сделан.

Вы меня конечно извините что встреваю, но…
В общем случае (не вникая в конкретное сообщение об ошибке): А-вот-фиг!!!
Ибо так, как иногда внезапно выясняется, тару рознь.
Способ наблюдения: берётся старая (с до-юникодной консолью, что ныне деется я х.з.) версия FreeBSD.
Создаётся дерево каталогов с кириллицей в именах файлов (ога!).
Закатывается в стандартнейший tar-архив.
Который приносится на Linux (честно признаюсь, с Древними не экспериментировал).
Пробуешь распаковать архив вроде бы тем же, стандартнейшим tar'ом.
И…
Получаешь повод для удивления.

:wq
--
Live free or die

Читай внимательно!

Я имел ввиду, что если сам запаковал, то на ТОЙ же машине тем же тар'ом всегда распакует!
А про некоторую несовместимость версий и платформ давно известно...

tar -cf - IVR.wav | xz -9 -c

tar -cf - IVR.wav | xz -9 -c - > IVR.tar.xz

md5sum IVR.wav
9d7d13b9541063a7b9413f9de2266591 IVR.wav

tar xf IVR.tar.xz

md5sum IVR.wav
9d7d13b9541063a7b9413f9de2266591 IVR.wav

Да я пробовал собирать tar со всеми флагами (и по отдельности) и тестил, результат одинаков проверял не влияет ли оптимизация под камень,
Да я даже на gcc стабильный перешел.

Что самое удивительное при всем обилии пакетов в системе, а их больше 2К только эти так себя ведут.

А у тебя tar, file, xz-utils

А у тебя tar, file, xz-utils и coreutils из одной ветки ([un]stable)? А то может, что "твоя моя не понимай".

.

sspphheerraa написал(а):
и распаковывании

tar xf file.tar.xz

Нечто ИИ зопилили?
Во времена compress/gunzip для разворачивания пожатого архива требовалось добавление опции z.
Вместе с bunzip2 пришла новая опция — j.
Неужто для новомодных алгоритмов сжатия (xz) никаких опций указывать не нужно?

:wq
--
Live free or die

Anarchist написал(а): Неужто

Anarchist написал(а):
Неужто для новомодных алгоритмов сжатия (xz) никаких опций указывать не нужно?

Чего там зопилили не знаю, но у меня работает и так (tar xf 22.tar.xz). У тебя нет?

Зачем ИИ?

Anarchist написал(а):
Нечто ИИ зопилили?
Во времена compress/gunzip для разворачивания пожатого архива требовалось добавление опции z.
Вместе с bunzip2 пришла новая опция — j.
Неужто для новомодных алгоритмов сжатия (xz) никаких опций указывать не нужно?

Как бы

file [TAR-file name] 

вполне справляется! :)

Хотя и -J вполне себе существует.

Сравниваем вывод распаковки таром.

Прошу сделать тестовый прогон с помощью strace "strace -ostrace_tar.log tar xvf kbd-2.0.2.tar.xz"

Найти строку в фале "kbd-2.0.2/docs/doc/utf/ethiopic" А именно это тот файл на котором tar спотыкается.

У меня так:
openat(AT_FDCWD, "kbd-2.0.2/docs/doc/utf/ethiopic", O_WRONLY|O_CREAT|O_EXCL|O_NOCTTY|O_NONBLOCK|O_CLOEXEC, 0600) = 4
write(4, "List of codes (in Unicode and UT"..., 2560) = 2560
read(3, "IOPIC SYLLABLE SHI (xi)\n123B "..., 10240) = 10240
write(4, "IOPIC SYLLABLE SHI (xi)\n123B "..., 10240) = 10240
read(3, " SYLLABLE TZU (`Su)\n1342 \341\215\202 "..., 10240) = 10240
write(4, " SYLLABLE TZU (`Su)\n1342 \341\215\202 "..., 2475) = 2475
fstat(4, {st_mode=S_IFREG|0600, st_size=15275, ...}) = 0
utimensat(4, NULL, {{1437402831, 907691405}, {1377636333, 0}}, 0) = 0
fchown(4, 500, 500) = 0
fchmod(4, 0644) = 0
close(4) = 0
write(2, "tar: ", 5) = 5
write(2, "Skipping to next header", 23) = 23
write(2, "\n", 1) = 1

qt-everywhere-opensource-src-4.8.7

openat(AT_FDCWD, "qt-everywhere-opensource-src-4.8.7/src/sql/sql.pro", O_WRONLY|O_CREAT|O_EXCL|O_NOCTTY|O_NONBLOCK|O_CLOEXEC, 0600) = 4
write(4, "TARGET\t = QtSql\nQPRO_PWD = $"..., 819) = 819
fstat(4, {st_mode=S_IFREG|0600, st_size=819, ...}) = 0
utimensat(4, NULL, {{1437400895, 333730922}, {1431008088, 0}}, 0) = 0
fchown(4, 1001, 1001) = 0
fchmod(4, 0644) = 0
close(4) = 0
write(2, "tar: ", 5) = 5
write(2, "Skipping to next header", 23) = 23
write(2, "\n", 1)

Решение всех моих проблем

Во первых:
я как-то пропустил этот багрепорт.
https://bugs.gentoo.org/show_bug.cgi?id=526926

меняем в CFLAGS= "-ftree-vectorize" на "-mfpmath=sse".

И все работает.

Ну так отпишитесь на

Ну так отпишитесь на багзиллу, а то там до сих пор Unconfirmed.

Прочитайте внимательно коменты в багзиле

Там и без меня все удачно подтверждают.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".