First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 133303
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Thomas Cort (RETIRED) <tcort@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Ferris McCormick <fmccor@gentoo.org>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
qimlate-avoid-sym-conflicts.patch qimlate-avoid-sym-conflicts.patch patch solar 2006-05-14 10:09 0000 3.16 KB Details | Diff
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 133303 depends on: Show dependency tree
Bug 133303 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: 2006-05-14 09:56 0000
On my SB1000, gcc-3.4.6-r1 system, portage-utils-0.1.17 will not build without
help, because the compiler seems to define the symbol sparc=1, and then
qimlate.c will not compile because of an enum {unknown = 0, ..., sparc, ... };

(With earlier versions of portage-utils, there is no qimlate.c to cause the
compiler grief.)

As a test case, this tiny program:
================================
#include <stdio.h>
main() {
        printf("sparc=%d\n",sparc);
        return sparc;
}
================================
prints "sparc=1"
(With gcc-3.3.5-xxx compilers, sparc is not defined at all, so this seems to be
a change in the compiler.)
==================================
Here's the 'emerge --info' info.
==============================
==============================
Portage 2.1_rc1-r1 (default-linux/sparc/sparc64/2006.0, gcc-3.4.6,
glibc-2.3.6-r3, 2.6.15-gentoo-r4-SB1000 sparc64)
=================================================================
System uname: 2.6.15-gentoo-r4-SB1000 sparc64 sun4u
Gentoo Base System version 1.6.14
distcc 2.18.3 sparc-unknown-linux-gnu (protocols 1 and 2) (default port 3632)
[disabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5-r2, 2.4.2
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  0.4.2
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r4
ACCEPT_KEYWORDS="sparc"
AUTOCLEAN="yes"
CBUILD="sparc-unknown-linux-gnu"
CFLAGS="-O2 -pipe -mcpu=ultrasparc3"
CHOST="sparc-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config
/usr/spool/PBS /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo
/etc/texmf/web2c /etc/env.d"
CXXFLAGS="-O2 -pipe -mcpu=ultrasparc3"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache confcache cvs distlocks metadata-transfer
parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo
ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/
http://gentoo.chem.wisc.edu/gentoo/
http://mirror.phy.olemiss.edu/mirror/gentoo"
LC_ALL="en_US.utf8"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress
--force --whole-file --delete --delete-after --stats --timeout=180
--exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="sparc X Xaw3d apache2 avi berkdb bitmap-fonts bzip2 cairo cli crypt cscope
cups dba dlloader dri eds encode esd examples fbcon firebird foomaticdb fortran
gcc64 gd gdbm gif glx graphviz gstreamer gtk gtk2 imlib jpeg kerberos libwww
lzw-tiff mad mikmod motif mpeg mysql ncurses nls nptl ogg opengl oss pam pcre
pdf pdflib perl png python qt readline reflection ruby ruby18 sdl session spell
spl sqlite ssl stroke tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts
udev vorbis xml xmms xorg xv zlib elibc_glibc input_devices_evdev
input_devices_keyboard input_devices_mouse kernel_linux userland_GNU
video_cards_dummy video_cards_fbdev video_cards_sunffb"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS,
LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS

===============================

------- Comment #1 From solar 2006-05-14 10:09:37 0000 -------
Created an attachment (id=86755) [edit]
qimlate-avoid-sym-conflicts.patch

tcort, 
Perhaps something like this would do the trick?

------- Comment #2 From Thomas Cort (RETIRED) 2006-05-14 10:32:56 0000 -------
(In reply to comment #0)
> the compiler seems to define the symbol sparc=1

Weird, usually the compiler only defines __arch. gcc-3.4.6-r1 on my alpha
defines __alpha, but not alpha. Anyway, thanks for the clear explaination of
the problem. solar, thanks for the patch! It has been reviewed, tested, and
applied.

------- Comment #3 From Harald van Dijk 2006-05-14 10:57:09 0000 -------
On x86, gcc 4.1.0 defines both i386 and __i386 when compiling with
-std=gnu[89]9 (or the default), but compiling with -std=c[89]9 (or -ansi) makes
sure i386 does not get defined. Similarly with unix and linux. Perhaps it would
be a good idea to compile with that (-std=c99), even if in this particular case
the problem is worked around already?

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