Gentoo Archives: gentoo-user

From: Dale <rdalek1967@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Gcc compiling, is this normal?
Date: Sun, 12 May 2013 21:53:35
Message-Id: 51900F4D.2060907@gmail.com
In Reply to: Re: [gentoo-user] Gcc compiling, is this normal? by Alan McKinnon
1 Alan McKinnon wrote:
2 > On 12/05/2013 23:16, Dale wrote:
3 >> Howdy,
4 >>
5 >> I been noticing something weird when I upgrade gcc. Is this normal?
6 >>
7 >> root@fireball / # genlop -c
8 >>
9 >> Currently merging 2 out of 5
10 >>
11 >> * sys-devel/gcc-4.4.7
12 >>
13 >> current merge time: 6 seconds.
14 >> ETA: 24 minutes and 27 seconds.
15 >>
16 >> Currently merging 3 out of 5
17 >>
18 >> * net-misc/curl-7.30.0
19 >>
20 >> current merge time: 7 seconds.
21 >> ETA: 18 minutes and 50 seconds.
22 >>
23 >> Currently merging 2 out of 5
24 >>
25 >> * sys-devel/gcc-4.4.7
26 >>
27 >> current merge time: 7 seconds.
28 >> ETA: 21 minutes and 14 seconds.
29 >> root@fireball / #
30 >>
31 >>
32 >> I'm not worried about curl. It just happened to be there. This is the
33 >> list of packages it is supposed to update:
34 >>
35 >> root@fireball / # emerge -uvaDN world
36 >>
37 >> These are the packages that would be merged, in order:
38 >>
39 >> Calculating dependencies... done!
40 >> [ebuild R ] sys-devel/gcc-4.5.4:4.5 USE="gtk mudflap (multilib)
41 >> nls nptl openmp (-altivec) -cxx -doc (-fixed-point) -fortran -gcj
42 >> (-hardened) (-libssp) -lto -multislot -nopie -nossp -objc -objc++
43 >> -objc-gc {-test} -vanilla (-graphite%)" 0 kB
44 >> [ebuild R ] sys-devel/gcc-4.4.7:4.4 USE="gtk mudflap (multilib)
45 >> nls nptl openmp (-altivec) -cxx -doc (-fixed-point) -fortran -gcj
46 >> (-hardened) (-libssp) -multislot -nopie -nossp -objc -objc++ -objc-gc
47 >> {-test} -vanilla (-graphite%)" 0 kB
48 >> [ebuild U ] net-misc/curl-7.30.0 [7.29.0-r1] USE="ipv6 ssl threads
49 >> -adns -idn -kerberos -ldap -metalink -rtmp -ssh -static-libs {-test}"
50 >> CURL_SSL="openssl -axtls -cyassl -gnutls -nss -polarssl" 0 kB
51 >> [ebuild U ] app-misc/tmux-1.8 [1.6] USE="-vim-syntax" 0 kB
52 >> [ebuild U ~] kde-base/kdelibs-4.10.3-r2:4 [4.10.3:4] USE="3dnow alsa
53 >> bzip2 fam handbook jpeg2k lzma mmx nls opengl (policykit)
54 >> semantic-desktop spell sse sse2 ssl udev udisks upower zeroconf -acl
55 >> (-altivec) (-aqua) -debug -doc -kerberos -openexr {-test}" 0 kB
56 >>
57 >> Total: 5 packages (3 upgrades, 2 reinstalls), Size of downloads: 0 kB
58 >>
59 >> Would you like to merge these packages? [Yes/No] y
60 >>
61 >> I noticed this one or twice before. It is compiling the same compiler
62 >> version twice when it should be upgrading/recompiling two *different*
63 >> versions. I read before that gcc compiles three times or something but
64 >> the thing is, it can compile for HOURS and never finish. Usually I stop
65 >> it and restart emerge and it compiles as it should, one for each version
66 >> and finishes as it should time wise. I once started the upgrade and
67 >> went to take a nap. I woke up around 5 or 6 hours later to find gcc
68 >> compiling twice on the same version. Even libreoffice only takes a hour
69 >> or so.
70 >>
71 >> Anyone else see this before? Now to go stop this one and get it to
72 >> update right and not take all week.
73 > What have you got in world for gcc?
74
75
76 root@fireball / # cat /var/lib/portage/world | grep gcc
77 sys-devel/gcc:4.4
78 sys-devel/gcc:4.5
79 root@fireball / #
80
81 I generally keep two versions. Got bit once. Long time ago but still,
82 no fun to fix.
83
84
85 > What's in make.conf?
86
87 This is the USE line. I'm not sure if you want all the rest. Rest is
88 normal stuff, pretty much. lol
89
90 USE="3dnow 3dnowext X a52 acpi alsa aml apng automount avahi \
91 bash-completion bzip2 -cairo cddb cdr chroot cleartype clucene
92 corefonts \
93 cups curl dbus declarative dri dvd dvdr embedded escreen esd \
94 exif faac ffmpeg fontconfig -fortran gif gimp gkrellm gphoto2 \
95 gtk hbci hddtemp iostats ipv6 java javascript jbig jpeg2k \
96 justify kde kmod libwww logrotate loop-aes lvm lzma \
97 mdnsresponder-compat melt mmx mmxext mng mp3 mplayer mysql nls
98 nsplugin \
99 nvidia offensive ofx opengl openrc parport pdf pdfimport \
100 policykit ppds ppp qt4 sasl seamonkey semantic-desktop sift smp \
101 sse sse2 sse4a syslog tcl threads tiff tk truetype type1 udev \
102 usb vcd webkit win32codecs wma wmf yahoo zeroconf -acl \
103 -bluetooth -branding -doc -dts -eds -fftw -gcj -gnome -jabber \
104 -jingle -ldap -musepack -openldap -oss -otr sqlite -sqlite3 -theora \
105 -v41 -xulrunner -h -crypt -cxx"
106
107
108 >
109 > gcc's build system does cause gcc tro be built three times[1], but
110 > that's internal to gcc and has nothing to do with portage. There should
111 > still only be one emerge for a SLOT. If it's doing the same package
112 > twice, then the files in /var/tmp/portage are liable to get continually
113 > clobbered and who knows what will happen.
114 >
115 >
116 > [1] The logic goes something like this: it's a compiler, so the code it
117 > produces must be consistently identical for identical inputs. So, the
118 > current compiler builds gcc, giving version Y built by version X. That
119 > instance of gcc in turn builds a gcc, giving version Y built by version Y.
120 >
121 > Now you should have two copies of the same version of gcc, and they
122 > should be identical, plus the output code must also be identical. The
123 > gcc builds system checks for this by actually doing compiles and
124 > comparing the results. I've gotten a bit hazy on what specific bits
125 > actually do what, but that's the general concept. But all this
126 > rebuilding is internal and you only see it if you examine the console
127 > output scrolling by, it will never show up in any portage tools.
128 >
129
130 I think your memory is right. That is what I remember too and I think
131 it was you explaining it but that was a while back. Here is the thing.
132 After my last post, I stopped the emerge. I emerged one version of gcc
133 and it emerged fine in the normal time of around 20 minutes. I then did
134 a emerge -uvaDN world and it compiled the other version and the rest as
135 it should. It seems when there is two versions of gcc to upgrade,
136 something gets weird. When I do one at a time, it works fine. I'm just
137 not sure why tho. Is it having two versions in world at the same time?
138 Surely not. I been doing that for a long time and this double thing
139 started a month or so ago. Thought it was a fluke at first.
140
141 Weird huh?
142
143 Dale
144
145 :-) :-)
146
147 --
148 I am only responsible for what I said ... Not for what you understood or how you interpreted my words!

Replies

Subject Author
Re: [gentoo-user] Gcc compiling, is this normal? Alan McKinnon <alan.mckinnon@×××××.com>