First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 73239
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: PPC Porters <ppc@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Armando Di Cianno (RETIRED) <fafhrd@gentoo.org>
Add CC:
CC:
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
ppc-make.patch Allows build to complete on ppc patch Armando Di Cianno (RETIRED) 2004-12-03 10:09 0000 430 bytes Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 73239 depends on: Show dependency tree
Bug 73239 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2004-12-03 09:51 0000
I did a world rebuild the other day, and the only package that failed to build
(and continues to fail to build) is procps.

Reproducible: Always
Steps to Reproduce:
1. emerge any rev of gcc-3.4.3
2. emerge procps
3. watch it fail

Actual Results:  
nephiliah root # emerge procps
Calculating dependencies ...done!
>>> emerge (1 of 1) sys-apps/procps-3.2.3-r1 to /
>>> md5 src_uri ;-) procps-3.2.3.tar.gz
>>> Unpacking source...
>>> Unpacking procps-3.2.3.tar.gz to /var/tmp/portage/procps-3.2.3-r1/work
>>> Source unpacked.
gcc -D_GNU_SOURCE -I proc -I/usr/include/ncurses -MM -MG proc/alloc.c
proc/devname.c proc/escape.c proc/ksym.c proc/pwcache.c proc/readproc.c
proc/sig.c proc/slab.c proc/status.c proc/sysinfo.c proc/version.c
proc/whattime.c > proc/.depend
gcc -D_GNU_SOURCE -I proc -I/usr/include/ncurses -fno-common -ffast-math -W
-Wall -Wshadow -Wcast-align -Wredundant-decls -Wbad-function-cast -Wcast-qual
-Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -O1
-pipe
-mcpu=G4 -mabi=altivec -malign-natural -ftracer -fsched-spec -fstrength-reduce
-frerun-loop-opt -falign-loops -fpeel-loops -fno-delayed-branch
-fschedule-insns
-freduce-all-givs -fcse-follow-jumps -fexpensive-optimizations
-Wdeclaration-after-statement -Wpadded -Wstrict-aliasing -frename-registers
-fomit-frame-pointer
-fno-inline-functions -m64 -c -o uptime.o uptime.c
gcc -c -D_GNU_SOURCE -I proc -I/usr/include/ncurses -fno-common -ffast-math -W
-Wall -Wshadow -Wcast-align -Wredundant-decls -Wbad-function-cast -Wcast-qual
-Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -O1
-pipe -mcpu=G4 -mabi=altivec -malign-natural -ftracer -fsched-spec
-fstrength-reduce -frerun-loop-opt -falign-loops -fpeel-loops
-fno-delayed-branch -fschedule-insns -freduce-all-givs -fcse-follow-jumps
-fexpensive-optimizations -Wdeclaration-after-statement -Wpadded
-Wstrict-aliasing -frename-registers -fomit-frame-pointer -fno-inline-functions
-m64 -DSHARED=1 -fpic proc/alloc.c -o proc/alloc.o
gcc -c -D_GNU_SOURCE -I proc -I/usr/include/ncurses -fno-common -ffast-math -W
-Wall -Wshadow -Wcast-align -Wredundant-decls -Wbad-function-cast -Wcast-qual
-Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -O1
-pipe -mcpu=G4 -mabi=altivec -malign-natural -ftracer -fsched-spec
-fstrength-reduce -frerun-loop-opt -falign-loops -fpeel-loops
-fno-delayed-branch -fschedule-insns -freduce-all-givs -fcse-follow-jumps
-fexpensive-optimizations -Wdeclaration-after-statement -Wpadded
-Wstrict-aliasing -frename-registers -fomit-frame-pointer -fno-inline-functions
-m64 -DSHARED=1 -fpic proc/devname.c -o proc/devname.o
proc/alloc.c: In function `xcalloc':
proc/alloc.c:21: internal compiler error: in print_operand_address, at
config/rs6000/rs6000.c:9678
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/> for instructions.
{standard input}: Assembler messages:
{standard input}:0: Warning: end of file not at end of a line; newline inserted
{standard input}:34: Error: syntax error; found `
proc/devname.c:52: warning: padding struct size to alignment boundary
Preprocessed source stored into
/var/tmp/portage/procps-3.2.3-r1/temp/cc3lgJYv.out file, please attach this to
your bugreport.
make: *** [proc/alloc.o] Error 1
make: *** Waiting for unfinished jobs....
proc/devname.c: In function `load_drivers':
proc/devname.c:107: internal compiler error: in print_operand_address, at
config/rs6000/rs6000.c:9678
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.gentoo.org/> for instructions.
{standard input}: Assembler messages:
{standard input}:0: Warning: end of file not at end of a line; newline inserted
{standard input}:40: Error: syntax error; found `
Preprocessed source stored into
/var/tmp/portage/procps-3.2.3-r1/temp/ccNl4YVP.out file, please attach this to
your bugreport.
make: *** [proc/devname.o] Error 1

!!! ERROR: sys-apps/procps-3.2.3-r1 failed.
!!! Function src_compile, Line 40, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

Expected Results:  
The software should've actually built. :-)

I'm actually writing an article on CFLAGS on ppc at this very moment, so I'm
pretty sure it's not my CFLAGS. (Actually I'm very sure, 'cause even with
CFALGS="" this still fails).  But specifically, mine are:
---
CFLAGS="-O1 -pipe -mcpu=G4 -mabi=altivec -malign-natural -ftracer -fsched-spec
-fstrength-reduce -frerun-loop-opt -falign-loops -fpeel-loops
-fno-delayed-branch -fschedule-insns -freduce-all-givs -fcse-follow-jumps
-fexpensive-optimizations"
---
... this is only part of -O2 and -O3.

If you notice, the build adds in "-m64" for some reason.

Here is my current emerge info, but be aware I tried this with CFLAGS="" as
already stated, and gcc-3.4.3 and gcc-3.4.3-r1 (testing gcc-3.4.3-r1 atm, and,
as I said, _every_ other ebuild on the system built with it).
---Portage 2.0.51-r7 (default-linux/ppc/2004.3, gcc-3.4.3,
glibc-2.3.4.20041102-r0, 2.6.9-gentoo-r8-patches1 ppc)
=================================================================
System uname: 2.6.9-gentoo-r8-patches1 ppc 7447A, altivec supported
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.3 [2.3.3 (#1, Dec  1 2004, 23:32:43)]
dev-lang/python:     2.3.3
sys-devel/autoconf:  2.59-r5
sys-devel/automake:  1.8.5-r1
sys-devel/binutils:  2.15.90.0.3-r3
sys-devel/libtool:   1.5.2-r7
virtual/os-headers:  2.6.8.1-r1
ACCEPT_KEYWORDS="ppc"
AUTOCLEAN="yes"
CFLAGS="-O1 -pipe -mcpu=G4 -mabi=altivec -malign-natural -ftracer -fsched-spec
-fstrength-reduce -frerun-loop-opt -falign-loops -fpeel-loops
-fno-delayed-branch -fschedule-insns -freduce-all-givs -fcse-follow-jumps
-fexpensive-optimizations"
CHOST="powerpc-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O1 -pipe -mcpu=G4 -mabi=altivec -malign-natural -ftracer
-fsched-spec
-fstrength-reduce -frerun-loop-opt -falign-loops -fpeel-loops
-fno-delayed-branch -fschedule-insns -freduce-all-givs -fcse-follow-jumps
-fexpensive-optimizations"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache cvs distlocks nostrip sandbox sfperms
userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/home/armando/Projects/GENTOO/gentoo-x86"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aalib alsa altivec berkdb bitmap-fonts cdr cups dvd f77 flac fortran
gdbm
gif gnustep gpm gstreamer gtk gtk2 guile imagemagick imlib ipv6 jack jpeg
kerberos ldap libwww mad mysql ncurses nptl nptlonly oggvorbis opengl oss pam
pdflib
perl png postgres ppc python readline samba snmp speex sqlite ssl tetex tiff
truetype unicode xml xml2 zlib"
---

Marking the bug a "Major" only 'cause this is procps we're talking about -- it
shouldn't be failing!

------- Comment #1 From Armando Di Cianno (RETIRED) 2004-12-03 10:09:27 0000 -------
Created an attachment (id=45214) [details]
Allows build to complete on ppc

The procps Makefile is broken.	This simple patch cures the symptoms (build
failing) but not the bug (Makefile being broken).

------- Comment #2 From Armando Di Cianno (RETIRED) 2004-12-03 10:11:30 0000 -------
This is the code that failing:
--snip--
check_gcc = $(shell if $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) dummy.c $(ALL_LDFLAGS) $(1) -o /dev/null $(CURSES) > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
--snip--
... and then,
--snip--
m64 := $(call check_gcc,-m64,)
ALL_CFLAGS += $(m64)
--snip--

This may not even be particular to gcc-3.4.3, but possibly a kernel version, bash version, etceteras.

------- Comment #3 From Armando Di Cianno (RETIRED) 2004-12-03 10:26:02 0000 -------
Just for fun, let's exercise the "64-bit test" the Makefile uses, in a fresh
untarred directory of the sources:

armando@nephiliah procps-3.2.3 $ for i in `ls -1 --color=never *.c`; do if gcc
$i -m64 -o /dev/null > /dev/null 2>&1; then echo "$i: true"; else echo "$i:
false"; fi; done
dummy.c: true
free.c: false
minimal.c: true
pgrep.c: false
pmap.c: false
skill.c: false
slabtop.c: false
sysctl.c: false
tload.c: false
top.c: false
uptime.c: false
vmstat.c: false
w.c: false
watch.c: false

... so that's 2 false positives out of 14, and one of the false positives is
supposed to be the test for all this to begin with!

*sigh* I really don't know why I find this bug so damned annoying and yet
amusing.

------- Comment #4 From Armando Di Cianno (RETIRED) 2004-12-04 15:44:34 0000 -------
procps-3.2.4 has a fix in the ebuild for this already, but procps-3.2.3-r1 is
still marked as stable for ppc, and 3.2.4 is not

------- Comment #5 From Daniel Black 2004-12-08 06:14:55 0000 -------
procps-3.2.4 marked ppc stable.

------- Comment #6 From Albert Cahalan 2005-01-06 11:18:23 0000 -------
The Makefile code is derived from code found in the
kernel Makefile. It had better work.

It's interesting that your gcc randomly accepts options
that don't work.

With gcc on a non-Gentoo box, you'd get a reproducable
message sent to stderr and a proper exit code. Here is
the error message:

            cc1: invalid option `64'

I don't know how you ended up with a gcc that doesn't
bother to sanity check the command options, but you need
to get that fixed ASAP. The kernel Makefile relys on
very similar code.


First Last Prev Next    No search results available      Search page      Enter new bug