# [solved: is a bug] emerge --> unpack: failure

## strangerthandreams

Hallo allerseits,

hat jemand von euch schon einmal folgenden tollen Fehler gehabt? Ich finde dazu im Netz so gut wie nichts und der einzig mir brauchbare Tipp war, den owner:group neu zu setzen in den distfiles. Scheinbar gab es da mal Probleme mit Java. Nur waren dort als owner:group root:root eingetragen. In meinem Fall hier cyrus-sasl-2.1.26.tar.gz stimmt es mit portage:portage.

Mein Freund hier stirbt mit "tac: write error: Broken pipe" & "unpack: failure unpacking cyrus-sasl-2.1.26.tar.gz".

Von Hand kann man das Archiv aber durchaus auspacken, auch mit gzip. Gzip habe ich aus einer Laune heraus schon mal vorsichtshalber neu gebaut. Bringt jedoch nichts. Die Checksums stimmen auch.

EDIT #1: Mit "gunzip" als Entpacker meldet er mir auch eine "broken pipe". Hmmmm...

emerge --info (pastebin)

```
cip2ltemplate packages # emerge -1 cyrus-sasl

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

Calculating dependencies... done!

[ebuild  N     ] dev-libs/cyrus-sasl-2.1.26-r9:2::gentoo  USE="berkdb gdbm pam ssl -authdaemond -java -kerberos -ldapdb -mysql -openldap -postgres -sample (-selinux) -sqlite -srp -static-libs -urandom" ABI_X86="32 (64) (-x32)" 0 KiB

Total: 1 package (1 new), Size of downloads: 0 KiB

Would you like to merge these packages? [Yes/No] 

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) dev-libs/cyrus-sasl-2.1.26-r9::gentoo

 * cyrus-sasl-2.1.26.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                                                                                 [ ok ]

tac: write error: Broken pipe

>>> cfg-update-1.8.2-r1: Creating checksum index...

>>> Unpacking source...

>>> Unpacking cyrus-sasl-2.1.26.tar.gz to /var/tmp/portage/dev-libs/cyrus-sasl-2.1.26-r9/work

gzip: stdout: Broken pipe

 * ERROR: dev-libs/cyrus-sasl-2.1.26-r9::gentoo failed (unpack phase):

 *   unpack: failure unpacking cyrus-sasl-2.1.26.tar.gz

 * 

 * Call stack:

 *               ebuild.sh, line  115:  Called src_unpack

 *             environment, line 5583:  Called default

 *      phase-functions.sh, line  807:  Called default_src_unpack

 *      phase-functions.sh, line  834:  Called __eapi0_src_unpack

 *        phase-helpers.sh, line  739:  Called unpack 'cyrus-sasl-2.1.26.tar.gz'

 *        phase-helpers.sh, line  386:  Called __unpack_tar 'gzip -d'

 *        phase-helpers.sh, line  317:  Called __assert_sigpipe_ok 'unpack: failure unpacking cyrus-sasl-2.1.26.tar.gz'

 *   isolated-functions.sh, line   41:  Called __helpers_die 'unpack: failure unpacking cyrus-sasl-2.1.26.tar.gz'

 *   isolated-functions.sh, line  117:  Called die

 * The specific snippet of code:

 *              die "$@"

 * 

 * If you need support, post the output of `emerge --info '=dev-libs/cyrus-sasl-2.1.26-r9::gentoo'`,

 * the complete build log and the output of `emerge -pqv '=dev-libs/cyrus-sasl-2.1.26-r9::gentoo'`.

!!! When you file a bug report, please include the following information:

GENTOO_VM=  CLASSPATH="" JAVA_HOME="/etc/java-config-2/current-system-vm"

JAVACFLAGS="" COMPILER=""

and of course, the output of emerge --info =cyrus-sasl-2.1.26

 * The complete build log is located at '/var/tmp/portage/dev-libs/cyrus-sasl-2.1.26-r9/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/dev-libs/cyrus-sasl-2.1.26-r9/temp/environment'.

 * Working directory: '/var/tmp/portage/dev-libs/cyrus-sasl-2.1.26-r9/work'

 * S: '/var/tmp/portage/dev-libs/cyrus-sasl-2.1.26-r9/work/cyrus-sasl-2.1.26'

>>> Failed to emerge dev-libs/cyrus-sasl-2.1.26-r9, Log file:

>>>  '/var/tmp/portage/dev-libs/cyrus-sasl-2.1.26-r9/temp/build.log'

 * 

 * The following package has failed to build, install, or execute postinst:

 * 

 *  (dev-libs/cyrus-sasl-2.1.26-r9:2/2::gentoo, ebuild scheduled for merge), Log file:

 *   '/var/tmp/portage/dev-libs/cyrus-sasl-2.1.26-r9/temp/build.log'

 * 

cip2ltemplate packages # 

```

----------

## 3PO

Evtl. hat ja Dein gzip eine Macke?

Ich würde den einfach mal neu bauen.  :Wink: 

```
emerge app-arch/gzip
```

----------

## strangerthandreams

Der Übeltäter ist tar und nicht gzip. Da muss man aber auch erst einmal darauf kommen. Ich habe einfach mal geraten.

Wenn ich einen Symlink auf busybox setze, läuft emerge ohne Probleme durch. Hängt das mit dem zuletzt angebotenen Update auf gcc-4.9.4 zusammen?

Falls ja, wie komme ich um den kompletten Neubau des Systems herum? Jemand eine Idee? Ich würde den Symlink ungern eine Leben lang auf busybox gesetzt lassen.

edit:  Ich glaube ich selbst bin der Übeltäter. Vor einer Weile bin ich mit der VM von einer Maschine zur nächsten gezogen. Es sind beides mal core i7-CPUs verbaut. Was ich nicht bedacht habe ist jedoch, dass die CPUFLAGS nicht mehr stimmen. Scheinbar macht die neue CPU kein sse3 mehr. Muss ich wohl oder übel doch das ganze System neu bauen.

Ich berichte, wenn der Fehler damit behoben werden kann.

edit #2 --> Lösung: Auch ein komplettes Neubauen des betroffenen Systems hat keine Änderung gebracht. Ich habe aber gelesen, dass es ein hässlicher Bug ist. Nachzulesen hier https://bugs.gentoo.org/show_bug.cgi?id=583576 und unter https://forums.gentoo.org/viewtopic-t-1045082-view-previous.html?sid=1fcee45b3019de77a3f93c6bab7bc1e5.

Lösung bei mir war jetzt, sich per SSH an dem Rechner anzumelden (als normaler Nutzer), dann su - und das cyrus-sasl emergen. Was für ein Mist...[/url]

----------

