Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 329849

Summary: app-arch/gzip-1.4 - build fails when supported assembler is detected (USE=-pic on x86)
Product: Gentoo Linux Reporter: Alex Bidu <bidu.alex>
Component: [OLD] Core systemAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED DUPLICATE    
Severity: normal CC: bidu.alex, jer
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Alex Bidu 2010-07-26 02:00:55 UTC
emerge app-arch/gzip-1.4 will crash when update from gzip 1.3.12


Reproducible: Always

Steps to Reproduce:
1.emerge gzip
2.
3.




cat /var/tmp/portage/app-arch/gzip-1.4/temp/build.log
 * CPV:  app-arch/gzip-1.4
 * REPO: gentoo
 * USE:  elibc_glibc kernel_linux nls userland_GNU x86
>>> Unpacking source...
>>> Unpacking gzip-1.4.tar.gz to /var/tmp/portage/app-arch/gzip-1.4/work
 * Applying gzip-1.3.8-install-symlinks.patch ...                                                                                                                                                                                                                       [ ok ]
>>> Source unpacked in /var/tmp/portage/app-arch/gzip-1.4/work
>>> Compiling source in /var/tmp/portage/app-arch/gzip-1.4/work/gzip-1.4 ...
 * econf: updating gzip-1.4/build-aux/config.sub with /usr/share/gnuconfig/config.sub
 * econf: updating gzip-1.4/build-aux/config.guess with /usr/share/gnuconfig/config.guess
./configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether i686-pc-linux-gnu-gcc accepts -g... yes
checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking dependency style of i686-pc-linux-gnu-gcc... gcc3
checking for i686-pc-linux-gnu-gcc option to accept ISO C99... -std=gnu99
checking for i686-pc-linux-gnu-gcc -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99
checking whether i686-pc-linux-gnu-gcc -std=gnu99 and cc understand -c and -o together... yes
checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -std=gnu99 -E
checking for i686-pc-linux-gnu-nm... i686-pc-linux-gnu-nm
checking whether ln -s works... yes
checking for i686-pc-linux-gnu-ranlib... i686-pc-linux-gnu-ranlib
checking for a POSIX-compliant shell... /bin/sh
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for working alloca.h... yes
checking for alloca... yes
checking for size_t... yes
checking whether malloc, realloc, calloc are POSIX compliant... yes
checking for inline... inline
checking for uid_t in sys/types.h... yes
checking for unistd.h... (cached) yes
checking for working chown... yes
checking whether chown dereferences symlinks... yes
checking for chown... yes
checking for fchown... yes
checking for dup2... yes
checking for fchdir... yes
checking for fcntl... yes
checking for fdopendir... yes
checking for __fpending... yes
checking for vasnprintf... no
checking for fpurge... no
checking for __fpurge... yes
checking for __freading... yes
checking for gettimeofday... yes
checking for nanotime... no
checking for lchmod... no
checking for lstat... yes
checking for mbsinit... yes
checking for mbrtowc... yes
checking for mprotect... yes
checking for pipe... yes
checking for futimes... yes
checking for futimesat... yes
checking for futimens... yes
checking for utimensat... yes
checking for lutimes... yes
checking for iswcntrl... yes
checking for fchmod... yes
checking for siginterrupt... yes
checking whether chown honors trailing slash... yes
checking whether chown always updates ctime... yes
checking whether the preprocessor supports include_next... yes
checking for dirent.h... yes
checking for errno.h... yes
checking for fcntl.h... yes
checking for float.h... yes
checking for stdio_ext.h... yes
checking for getopt.h... yes
checking for sys/time.h... yes
checking for math.h... yes
checking for sys/mman.h... yes
checking for unistd.h... (cached) yes
checking for stddef.h... yes
checking for stdint.h... (cached) yes
checking for wchar.h... yes
checking for stdio.h... yes
checking for stdlib.h... (cached) yes
checking for sys/socket.h... yes
checking for string.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for time.h... yes
checking for utime.h... yes
checking for wctype.h... yes
checking for limits.h... yes
checking for memory.h... (cached) yes
checking whether system is Windows or MSDOS... no
checking whether // is distinct from /... no
checking for complete errno.h... yes
checking whether strerror_r is declared... yes
checking for strerror_r... yes
checking whether strerror_r returns char *... yes
checking for mode_t... yes
checking for promoted mode_t type... mode_t
checking for working fcntl.h... yes
checking for stdint.h... yes
checking for inttypes.h... yes
checking whether printf supports size specifiers as in C99... yes
checking whether printf supports 'long double' arguments... yes
checking whether printf supports infinite 'double' arguments... yes
checking whether byte ordering is bigendian... no
checking whether printf supports infinite 'long double' arguments... no
checking whether printf supports the 'a' and 'A' directives... yes
checking whether printf supports the 'F' directive... yes
checking whether printf supports the 'n' directive... no
checking whether printf supports the 'ls' directive... yes
checking whether printf supports POSIX/XSI format strings with positions... yes
checking whether printf supports the grouping flag... yes
checking whether printf supports the left-adjust flag correctly... yes
checking whether printf supports the zero flag correctly... yes
checking whether printf supports large precisions... yes
checking whether printf survives out-of-memory conditions... yes
checking for long long int... yes
checking for wchar_t... yes
checking for wint_t... yes
checking for intmax_t... yes
checking for snprintf... yes
checking for strnlen... yes
checking for wcslen... yes
checking for wcsnlen... yes
checking for mbrtowc... (cached) yes
checking for wcrtomb... yes
checking whether _snprintf is declared... no
checking whether stdin defaults to large file offsets... yes
checking whether getcwd (NULL, 0) allocates memory for result... yes
checking whether getcwd is declared... yes
checking for getopt.h... (cached) yes
checking for getopt_long_only... yes
checking whether optreset is declared... no
checking whether getopt is POSIX compatible... yes
checking for working GNU getopt function... yes
checking whether getenv is declared... yes
checking for C/C++ restrict keyword... __restrict
checking for struct timeval... yes
checking where to find the exponent in a 'float'... word 0 bit 23
checking for nl_langinfo and CODESET... yes
checking whether getc_unlocked is declared... yes
checking whether we are using the GNU C Library 2.1 or newer... yes
checking whether lstat correctly handles trailing slash... yes
checking for mbstate_t... yes
checking for a traditional japanese locale... none
checking for a transitional chinese locale... none
checking for a french Unicode locale... none
checking for mmap... yes
checking for MAP_ANONYMOUS... yes
checking for memchr... yes
checking whether memchr works... yes
checking whether memrchr is declared... yes
checking whether unlink honors trailing slashes... yes
checking for ptrdiff_t... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for unsigned long long int... yes
checking whether strdup is declared... yes
checking for working strerror function... yes
checking whether stat file-mode macros are broken... no
checking for struct timespec in <time.h>... yes
checking whether the utimes function works... yes
checking for struct utimbuf... yes
checking whether <wchar.h> uses 'inline' correctly... yes
checking for alloca as a compiler built-in... yes
checking for GNU libc compatible calloc... yes
checking whether this system has an arbitrary file name length limit... yes
checking for library containing clock_gettime... -lrt
checking for clock_gettime... yes
checking for clock_settime... yes
checking for d_ino member in directory struct... yes
checking for dirfd... yes
checking whether dirfd is declared... yes
checking whether dirfd is a macro... no
checking whether // is distinct from /... (cached) no
checking whether dup2 works... yes
checking for error_at_line... yes
checking whether fcntl handles F_DUPFD correctly... yes
checking whether fcntl understands F_DUPFD_CLOEXEC... needs runtime check
checking whether fdopendir works... yes
checking whether fflush works on input streams... no
checking whether __fpending is declared... yes
checking for ptrdiff_t... (cached) yes
checking whether fpurge is declared... no
checking whether frexp() can be used without linking with libm... yes
checking whether frexp works... yes
checking whether frexpl() can be used without linking with libm... yes
checking whether frexpl works... yes
checking whether frexpl is declared... yes
checking for fseeko... yes
checking for ftello... yes
checking whether getcwd handles long file names properly... no, but it is partly working
checking for getpagesize... yes
checking whether getcwd aborts when 4k < cwd_length < 16k... no
checking for gettimeofday with POSIX signature... yes
checking whether gettimeofday clobbers localtime buffer... no
checking whether the compiler generally respects inline... yes
checking whether isnan(double) can be used without linking with libm... yes
checking whether isnan(float) can be used without linking with libm... yes
checking whether isnan(float) works... yes
checking whether isnan(long double) can be used without linking with libm... yes
checking whether isnanl works... no
checking where to find the exponent in a 'long double'... word 2 bit 0
checking for lchown... yes
checking whether lseek detects pipes... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking whether NAN macro works... yes
checking whether HUGE_VAL works... yes
checking whether mbrtowc handles incomplete characters... guessing yes
checking whether mbrtowc works as well as mbtowc... guessing yes
checking whether mbrtowc handles a NULL string argument... guessing yes
checking whether mbrtowc has a correct return value... guessing yes
checking whether mbrtowc returns 0 when parsing a NUL character... guessing yes
checking whether mbrtowc handles incomplete characters... (cached) guessing yes
checking whether mbrtowc works as well as mbtowc... (cached) guessing yes
checking for mempcpy... yes
checking for memrchr... yes
checking whether mkdir handles trailing slash... yes
checking whether mkdir handles trailing dot... yes
checking whether open recognizes a trailing slash... yes
checking for fchmodat... yes
checking for fstatat... yes
checking for mkdirat... yes
checking for openat... yes
checking for unlinkat... yes
checking for fchownat... yes
checking whether fchownat works with AT_SYMLINK_NOFOLLOW... yes
checking whether frexp can be used without linking with libm... (cached) yes
checking whether frexp works... (cached) yes
checking whether ldexp can be used without linking with libm... yes
checking whether frexpl can be used without linking with libm... (cached) yes
checking whether frexpl works... (cached) yes
checking whether frexpl is declared... (cached) yes
checking whether ldexpl can be used without linking with libm... yes
checking whether ldexpl works... yes
checking whether ldexpl is declared... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for rmdir... yes
checking whether rmdir works... yes
checking for signbit macro... yes
checking for signbit compiler built-ins... yes
checking for stdint.h... (cached) yes
checking for SIZE_MAX... yes
checking whether stat handles trailing slashes on directories... yes
checking whether stat handles trailing slashes on files... yes
checking for struct stat.st_atim.tv_nsec... yes
checking whether struct stat.st_atim is of type struct timespec... yes
checking for struct stat.st_birthtimespec.tv_nsec... no
checking for struct stat.st_birthtimensec... no
checking for struct stat.st_birthtim.tv_nsec... no
checking whether NULL can be used in arbitrary expressions... yes
checking whether stdint.h conforms to C99... yes
checking whether fseeko is declared without a macro... yes
checking whether ftello is declared without a macro... yes
checking for random.h... no
checking for struct random_data... yes
checking for strdup... yes
checking for nlink_t... yes
checking whether environ is declared without a macro... yes
checking whether unlink honors trailing slashes... (cached) yes
checking for ptrdiff_t... (cached) yes
checking for ptrdiff_t... (cached) yes
checking whether iswcntrl works... yes
checking for stdint.h... (cached) yes
checking for underline in external names... no
checking for an assembler syntax supported by this package... yes, with -Wa,--noexecstack
checking for library containing strerror... none required
checking for an ANSI C-conforming const... yes
checking for ANSI C header files... (cached) yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking return type of signal handlers... void
checking for size_t... (cached) yes
checking for off_t... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating lib/Makefile
config.status: creating lib/config.h
config.status: executing depfiles commands
make -j2 
Making all in lib
make[1]: Entering directory `/var/tmp/portage/app-arch/gzip-1.4/work/gzip-1.4/lib'

i686-pc-linux-gnu-gcc -std=gnu99 -E  -DNO_UNDERLINE _match.S > _match.i
sed '/^ * < _match.i > match_.s
/bin/sh: -c: line 0: unexpected EOF while looking for matching `''
/bin/sh: -c: line 1: syntax error: unexpected end of file
make[3]: *** [match.o] Error 2
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/var/tmp/portage/app-arch/gzip-1.4/work/gzip-1.4/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/app-arch/gzip-1.4/work/gzip-1.4/lib'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/var/tmp/portage/app-arch/gzip-1.4/work/gzip-1.4/lib'
make: *** [all-recursive] Error 1
 * ERROR: app-arch/gzip-1.4 failed:
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line  54:  Called src_compile
 *   environment, line 5772:  Called die
 * The specific snippet of code:
 *       emake || die
 * 
 * If you need support, post the output of 'emerge --info =app-arch/gzip-1.4',
 * the complete build log and the output of 'emerge -pqv =app-arch/gzip-1.4'.
 * The complete build log is located at '/var/tmp/portage/app-arch/gzip-1.4/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-arch/gzip-1.4/temp/environment'.
 * S: '/var/tmp/portage/app-arch/gzip-1.4/work/gzip-1.4'
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2010-07-26 02:10:30 UTC
Please post your `emerge --info' too.
Comment 2 Jory A. Pratt gentoo-dev 2010-07-27 04:43:41 UTC
sed '/^ * < _match.i > match_.s
/bin/sh: -c: line 0: unexpected EOF while looking for matching `''
/bin/sh: -c: line 1: syntax error: unexpected end of file
make[3]: *** [match.o] Error 2
make[3]: *** Waiting for unfinished jobs....


looks like a bash issue, resync, re-emerge bash, sed then try your gzip again. The failure is waiting for unfinished job I have yet to reproduce this on amd64 hardened.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2010-07-27 18:34:02 UTC
The entire line in lib/Makefile should have been:
sed '/^ *#/d; s,//.*,,; s/% /%/g; s/\. /./g' < _match.i > match_.s

But over here that never gets executed.

The difference I find is in configure:
checking for an assembler syntax supported by this package... no

while Alex has:
checking for an assembler syntax supported by this package... yes, with
-Wa,--noexecstack


Still waiting for `emerge --info'...
Comment 4 Alex Bidu 2010-07-29 15:17:26 UTC
emerge --info =app-arch/gzip-1.4
Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.4.3, glibc-2.11.2-r0, 2.6.29-gentoo-r5 i686)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.29-gentoo-r5-i686-Intel-R-_Pentium-R-_4_CPU_2.00GHz-with-gentoo-1.12.13
Timestamp of tree: Sat, 24 Jul 2010 20:15:01 +0000
ccache version 2.4 [disabled]
app-shells/bash:     4.0_p37
dev-lang/python:     2.4.4-r13, 2.5.4-r2, 2.6.5-r2, 3.1.2-r3
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.65
sys-devel/automake:  1.4_p6, 1.10.2, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.1.2, 4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans"
GENTOO_MIRRORS="http://ftp.roedu.net/pub/mirrors/gentoo.org/ ftp://ftp.roedu.net/pub/mirrors/gentoo.org/ ftp://ftp.romnet.org/gentoo/ http://ftp.romnet.org/gentoo/ http://mirrors.evolva.ro/gentoo/ ftp://mirrors.evolva.ro/gentoo/ http://mirrors.xservers.ro/gentoo/ "
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="(-java-external) acl apache2 berkdb bzip2 cgi cli cracklib crypt cups curl cxx dri exif fortran ftp gdbm gmp gpm hash iconv imap ipv6 ldap* mhash modules mudflap mysql mysql* ncurses nls nptl nptlonly openmp pam pcre perl postgres* pppd python readline reflection session sharedmem simplexml snmp soap sockets spl ssl sysfs tcpd truetype unicode x86 xml xmlreader xmlrpc xmlwriter xorg xsl zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="suexec actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config cgi fastcgi logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa via vmware voodoo" 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" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 5 SpanKY gentoo-dev 2010-07-31 17:32:53 UTC

*** This bug has been marked as a duplicate of bug 309079 ***