Re: [gentoo-user] Re: Gcc 5.3
Paul Colquhounwrites: > On Wed, 30 Dec 2015 17:32:44 lee wrote: >> Neil Bothwick writes: >> > On Tue, 29 Dec 2015 19:21:01 +0100, lee wrote: > [...] >> >> So if I'd never explicitly update everything but run emerge --sync >> >> frequently, things would be updated over time, occasionally? >> > >> > No, nothing would get updated. To do that you need to run emerge @world >> > after emerge --sync. >> >> Well, yes, but what if want to install a package that hasn't been >> installed yet, or re-emerge an installed package with different USE >> flags, after updating the portage tree? Will a more recent version be >> installed than would have been installed before the tree was updated, >> maybe updating other packages to more recent versions because they are >> needed for the new package? > > > You have a couple of options. > > First, start with "emerge -p whatever" and see what update would happen with > no adjustments. > > Then try again, but specify the version you want and see if that works: > "emerge -p =whatever-1.2.3" > > If it is still trying to install updated versions of libraries or other > dependencies, make a file like /etc/portage/package.mask/whatever and block > anything higher than the library/dependency versions you already have. > > A bit more work, but probably not much. > > However, if you get too far behind, the versions you want may have been > removed from the portage tree. This is still not a deal breaker. Old ebuilds > are available from the Gentoo attic at > https://sources.gentoo.org/cgi-bin/viewvc.cgi and can be installed in a local > overlay. (I put mine in > /usr/local/portage). Just put "PORTDIR_OVERLAY=/usr/local/portage" into > /etc/portage/make/conf and you should be set. > > You could also use the local overlay to just add the updated ebuilds for > things you do want to upgrade (and required dependency upgrades, etc) but I > think that would quickly become very unwieldy. Thank you for the explanation. I've installed gcc 5.2.0 and am running into trouble when trying to compile the test application. That just won't work. It also runs out of memory too easily. OTOH, I've compiled a kernel with it (unless the compilation somehow picks a different version automatically), and it works fine. >> > Exactly, run gcc-config, compile/emerge the program, run gcc-config again. >> >> And what about ccache? Will it use the new version automatically and >> detect that the compiler version has changed so that files in the cache >> need to be recompiled? To answer my own question: That also works without any further ado.
Re: [gentoo-user] Re: Gcc 5.3
On 12/26/2015 06:44 AM, Paul Colquhoun wrote: > Yes, using gcc-5.3.0 to recompile 5.3.0 with +jit worked. Doing the same right now. Does JIT make any difference yet when I recompile something with a JIT-enabled gcc? Does any code in current gentoo actually use that already?
Re: [gentoo-user] Re: Gcc 5.3
Neil Bothwickwrites: > On Tue, 29 Dec 2015 19:21:01 +0100, lee wrote: > >> > As 4.9.3 is marked stable, I guess that's what'd you get per >> > default. >> >> 4.8.5 >> >> I'd have to run emerge --sync to know about more recent versions. How >> is that supposed to be used, btw? I only run that when I do want to >> update everything. Now if I didn't want to update anything but gcc, >> could I run emerge --sync and install gcc 5.x without having trouble > > Emerge --sync only updates the portage tree, so > > emerge --sync > emerge -a sys-devel/gcc:5 > >> with anything else I might install before actually updating everything? >> So if I'd never explicitly update everything but run emerge --sync >> frequently, things would be updated over time, occasionally? > > No, nothing would get updated. To do that you need to run emerge @world > after emerge --sync. Well, yes, but what if want to install a package that hasn't been installed yet, or re-emerge an installed package with different USE flags, after updating the portage tree? Will a more recent version be installed than would have been installed before the tree was updated, maybe updating other packages to more recent versions because they are needed for the new package? Other distributions usually (want to) update a lot of packages once you update the information about available packages. >> > Stuff compiled with older gcc's should run with newer libgcc*[0], but >> > stuff compililed with a newer gcc might not run with the older >> > libgcc*. Same goes, with more problems IIRC, for libstdc++. >> > So beware of that. Apart from that? I'm not aware of problems. >> >> Uhm ... So I might break the system by switching between compiler >> versions? > > That's highly unlikely as software that has been compiled with the old > compiler will still work. And if not? Just yesterday I tried to update a Fedora install and it failed so that the machine is now unusable because it only keeps rebooting. I expected it to fail, just not that badly ... If I could find my USB stick, I'd be putting Gentoo on it now. > You may find that some programs fail to > recompile with the new compiler, but I didn't experience that with the > 4.9>5 step, although I had some that would build with 4.8 but not 4.9. > > I have an application which I would like to compile with gcc >> 5.x just to see if that's even possible. I could switch, try it, and >> then switch back. > > Exactly, run gcc-config, compile/emerge the program, run gcc-config again. And what about ccache? Will it use the new version automatically and detect that the compiler version has changed so that files in the cache need to be recompiled?
Re: [gentoo-user] Re: Gcc 5.3
On Wed, 30 Dec 2015 17:32:44 lee wrote: > Neil Bothwickwrites: > > On Tue, 29 Dec 2015 19:21:01 +0100, lee wrote: > >> > As 4.9.3 is marked stable, I guess that's what'd you get per > >> > default. > >> > >> 4.8.5 > >> > >> I'd have to run emerge --sync to know about more recent versions. How > >> is that supposed to be used, btw? I only run that when I do want to > >> update everything. Now if I didn't want to update anything but gcc, > >> could I run emerge --sync and install gcc 5.x without having trouble > > > > Emerge --sync only updates the portage tree, so > > > > emerge --sync > > emerge -a sys-devel/gcc:5 > > > >> with anything else I might install before actually updating everything? > >> So if I'd never explicitly update everything but run emerge --sync > >> frequently, things would be updated over time, occasionally? > > > > No, nothing would get updated. To do that you need to run emerge @world > > after emerge --sync. > > Well, yes, but what if want to install a package that hasn't been > installed yet, or re-emerge an installed package with different USE > flags, after updating the portage tree? Will a more recent version be > installed than would have been installed before the tree was updated, > maybe updating other packages to more recent versions because they are > needed for the new package? You have a couple of options. First, start with "emerge -p whatever" and see what update would happen with no adjustments. Then try again, but specify the version you want and see if that works: "emerge -p =whatever-1.2.3" If it is still trying to install updated versions of libraries or other dependencies, make a file like /etc/portage/package.mask/whatever and block anything higher than the library/dependency versions you already have. A bit more work, but probably not much. However, if you get too far behind, the versions you want may have been removed from the portage tree. This is still not a deal breaker. Old ebuilds are available from the Gentoo attic at https://sources.gentoo.org/cgi-bin/viewvc.cgi and can be installed in a local overlay. (I put mine in /usr/local/portage). Just put "PORTDIR_OVERLAY=/usr/local/portage" into /etc/portage/make/conf and you should be set. You could also use the local overlay to just add the updated ebuilds for things you do want to upgrade (and required dependency upgrades, etc) but I think that would quickly become very unwieldy. > Other distributions usually (want to) update a lot of packages once you > update the information about available packages. > > >> > Stuff compiled with older gcc's should run with newer libgcc*[0], but > >> > stuff compililed with a newer gcc might not run with the older > >> > libgcc*. Same goes, with more problems IIRC, for libstdc++. > >> > So beware of that. Apart from that? I'm not aware of problems. > >> > >> Uhm ... So I might break the system by switching between compiler > >> versions? > > > > That's highly unlikely as software that has been compiled with the old > > compiler will still work. > > And if not? > > Just yesterday I tried to update a Fedora install and it failed so that > the machine is now unusable because it only keeps rebooting. I expected > it to fail, just not that badly ... If I could find my USB stick, I'd > be putting Gentoo on it now. > > > You may find that some programs fail to > > recompile with the new compiler, but I didn't experience that with the > > 4.9>5 step, although I had some that would build with 4.8 but not 4.9. > > > > I have an application which I would like to compile with gcc > > > >> 5.x just to see if that's even possible. I could switch, try it, and > >> then switch back. > > > > Exactly, run gcc-config, compile/emerge the program, run gcc-config again. > > And what about ccache? Will it use the new version automatically and > detect that the compiler version has changed so that files in the cache > need to be recompiled? -- Reverend Paul Colquhoun, ULC. http://andor.dropbear.id.au/ Asking for technical help in newsgroups? Read this first: http://catb.org/~esr/faqs/smart-questions.html#intro
Re: [gentoo-user] Re: Gcc 5.3
David Hallerwrites: > Hello, > > On Tue, 29 Dec 2015, lee wrote: >>Andrew Savchenko writes: >>> There will be no 5.3.1 likely. Numeration scheme is changed from 5.x >>> series: what was middle version is now major, what was minor is now >>> middle. So 5.3 is a patch version of 5.0 the same as 4.9.3 is a >>> patch version of 4.9.0. >> >>What do you currently get as default when you update, and can you easily >>go back to a previous version, or have several versions installed and >>switch between them? > > I'd guess 4.9.3. And yes and yes. > > # eix sys-devel/gcc > [I] sys-devel/gcc > Available versions: > (2.95.3) ~2.95.3-r10^s > (3.3.6) (~)3.3.6-r1^s > (3.4.6) 3.4.6-r2^s > (4.0.4) **4.0.4^s > (4.1.2) 4.1.2^s > (4.2.4) (~)4.2.4-r1^s > (4.3.6) 4.3.6-r1^s > (4.4.7) 4.4.7^s > (4.5.4) 4.5.4^s > (4.6.4) 4.6.4^s > (4.7) 4.7.4^s > (4.8) (~)4.8.0^s (~)4.8.1-r1^s (~)4.8.2^s 4.8.3^s 4.8.4^s 4.8.5^s > (4.9) ~*4.9.0^s ~*4.9.1^s (~)4.9.2^s 4.9.3^s{tbz2} > (5)**5.1.0^s **5.2.0^s (~)5.3.0^s{tbz2} > [..] > Installed versions: 4.9.3(4.9)^s{tbz2}[..] > 5.3.0(5)^s{tbz2}[..] > [..] > > # gcc-config -l > [1] x86_64-pc-linux-gnu-4.9.3 * > [2] x86_64-pc-linux-gnu-5.3.0 > > Basically, you can install one of each slot, i.e. the first column in > () of the eix output. From (2.95.3) to (5). And switch as you like. > > As 4.9.3 is marked stable, I guess that's what'd you get per default. 4.8.5 I'd have to run emerge --sync to know about more recent versions. How is that supposed to be used, btw? I only run that when I do want to update everything. Now if I didn't want to update anything but gcc, could I run emerge --sync and install gcc 5.x without having trouble with anything else I might install before actually updating everything? So if I'd never explicitly update everything but run emerge --sync frequently, things would be updated over time, occasionally? > Stuff compiled with older gcc's should run with newer libgcc*[0], but > stuff compililed with a newer gcc might not run with the older > libgcc*. Same goes, with more problems IIRC, for libstdc++. > So beware of that. Apart from that? I'm not aware of problems. Uhm ... So I might break the system by switching between compiler versions? I have an application which I would like to compile with gcc 5.x just to see if that's even possible. I could switch, try it, and then switch back. > BTW: why is gcc not also handled via eselect? Even if that'd just > call gcc-config? What about ccache? How's that handled when you have multiple versions of gcc installed? > HTH, > -dnh > > [0] e.g. old Loki games, probably compiled with 2.95.x or even older > still run fine on a system built with gcc-4.6 If they were 64bit ... Too bad that there basically aren't any games anymore.
Re: [gentoo-user] Re: Gcc 5.3
On Tue, 29 Dec 2015 19:21:01 +0100, lee wrote: > > As 4.9.3 is marked stable, I guess that's what'd you get per > > default. > > 4.8.5 > > I'd have to run emerge --sync to know about more recent versions. How > is that supposed to be used, btw? I only run that when I do want to > update everything. Now if I didn't want to update anything but gcc, > could I run emerge --sync and install gcc 5.x without having trouble Emerge --sync only updates the portage tree, so emerge --sync emerge -a sys-devel/gcc:5 > with anything else I might install before actually updating everything? > So if I'd never explicitly update everything but run emerge --sync > frequently, things would be updated over time, occasionally? No, nothing would get updated. To do that you need to run emerge @world after emerge --sync. > > Stuff compiled with older gcc's should run with newer libgcc*[0], but > > stuff compililed with a newer gcc might not run with the older > > libgcc*. Same goes, with more problems IIRC, for libstdc++. > > So beware of that. Apart from that? I'm not aware of problems. > > Uhm ... So I might break the system by switching between compiler > versions? That's highly unlikely as software that has been compiled with the old compiler will still work. You may find that some programs fail to recompile with the new compiler, but I didn't experience that with the 4.9>5 step, although I had some that would build with 4.8 but not 4.9. I have an application which I would like to compile with gcc > 5.x just to see if that's even possible. I could switch, try it, and > then switch back. Exactly, run gcc-config, compile/emerge the program, run gcc-config again. > > BTW: why is gcc not also handled via eselect? Even if that'd just > > call gcc-config? There was a gcc eselect module but it was dropped in favour of gcc-config as it didn't do what was needed of it. This is not unique to gcc, we also have binutils-config. As to why no one has written an eselect wrapper for either of these, I'd guess it's harder than it sounds or no one who can do it feels the need. -- Neil Bothwick Windows Error #02: Multitasking attempted. System confused. pgpPu15BfbPHb.pgp Description: OpenPGP digital signature
Re: [gentoo-user] Re: Gcc 5.3
Hello, On Tue, 29 Dec 2015, lee wrote: >Andrew Savchenkowrites: >> There will be no 5.3.1 likely. Numeration scheme is changed from 5.x >> series: what was middle version is now major, what was minor is now >> middle. So 5.3 is a patch version of 5.0 the same as 4.9.3 is a >> patch version of 4.9.0. > >What do you currently get as default when you update, and can you easily >go back to a previous version, or have several versions installed and >switch between them? I'd guess 4.9.3. And yes and yes. # eix sys-devel/gcc [I] sys-devel/gcc Available versions: (2.95.3) ~2.95.3-r10^s (3.3.6) (~)3.3.6-r1^s (3.4.6) 3.4.6-r2^s (4.0.4) **4.0.4^s (4.1.2) 4.1.2^s (4.2.4) (~)4.2.4-r1^s (4.3.6) 4.3.6-r1^s (4.4.7) 4.4.7^s (4.5.4) 4.5.4^s (4.6.4) 4.6.4^s (4.7) 4.7.4^s (4.8) (~)4.8.0^s (~)4.8.1-r1^s (~)4.8.2^s 4.8.3^s 4.8.4^s 4.8.5^s (4.9) ~*4.9.0^s ~*4.9.1^s (~)4.9.2^s 4.9.3^s{tbz2} (5)**5.1.0^s **5.2.0^s (~)5.3.0^s{tbz2} [..] Installed versions: 4.9.3(4.9)^s{tbz2}[..] 5.3.0(5)^s{tbz2}[..] [..] # gcc-config -l [1] x86_64-pc-linux-gnu-4.9.3 * [2] x86_64-pc-linux-gnu-5.3.0 Basically, you can install one of each slot, i.e. the first column in () of the eix output. From (2.95.3) to (5). And switch as you like. As 4.9.3 is marked stable, I guess that's what'd you get per default. Stuff compiled with older gcc's should run with newer libgcc*[0], but stuff compililed with a newer gcc might not run with the older libgcc*. Same goes, with more problems IIRC, for libstdc++. So beware of that. Apart from that? I'm not aware of problems. BTW: why is gcc not also handled via eselect? Even if that'd just call gcc-config? HTH, -dnh [0] e.g. old Loki games, probably compiled with 2.95.x or even older still run fine on a system built with gcc-4.6 -- Unsubscribing from a mailing list you subscribed to is a basic IQ test for Internet users. -- Author unknown, seen on the PCR-1000 list
Re: [gentoo-user] Re: Gcc 5.3
Andrew Savchenkowrites: > On Fri, 25 Dec 2015 12:40:48 -0800 walt wrote: >> On Thu, 24 Dec 2015 10:18:27 -0500 >> Alan Grimes wrote: >> >> > Hey, thanks for putting out gcc 5.3... >> > >> > Unfortunately, it fails to bootstrap on my machine. I am getting >> > differences between the stage 2 and stage 3 compilers and it's >> > dying... =( >> >> I'm waiting for 5.3.1 before I even try to install it on my main >> desktop machine. > > There will be no 5.3.1 likely. Numeration scheme is changed from 5.x > series: what was middle version is now major, what was minor is now > middle. So 5.3 is a patch version of 5.0 the same as 4.9.3 is a > patch version of 4.9.0. What do you currently get as default when you update, and can you easily go back to a previous version, or have several versions installed and switch between them?
Re: [gentoo-user] Re: Gcc 5.3
On Fri, 25 Dec 2015 12:40:48 -0800 walt wrote: > On Thu, 24 Dec 2015 10:18:27 -0500 > Alan Grimeswrote: > > > Hey, thanks for putting out gcc 5.3... > > > > Unfortunately, it fails to bootstrap on my machine. I am getting > > differences between the stage 2 and stage 3 compilers and it's > > dying... =( > > I'm waiting for 5.3.1 before I even try to install it on my main > desktop machine. There will be no 5.3.1 likely. Numeration scheme is changed from 5.x series: what was middle version is now major, what was minor is now middle. So 5.3 is a patch version of 5.0 the same as 4.9.3 is a patch version of 4.9.0. [offtopic] I really dislike this version race started mostly by chrome and systemd, but more and more software strives now for a high increment rate of major version. I wonder what they will do when large numbers like 1000 or 1 will be reached. [/offtopic] Best regards, Andrew Savchenko pgpQZr78y9x78.pgp Description: PGP signature
Re: [gentoo-user] Re: Gcc 5.3
Hello, On Fri, 25 Dec 2015, walt wrote: >On Thu, 24 Dec 2015 10:18:27 -0500 >Alan Grimeswrote: > >> Hey, thanks for putting out gcc 5.3... >> >> Unfortunately, it fails to bootstrap on my machine. I am getting >> differences between the stage 2 and stage 3 compilers and it's >> dying... =( [..] >You can work around the failure by installing 5.3.0 with the -jit >useflag (which should succeed) and *then* switch to 5.3.0 using >gcc-config before re-installing 5.3.0 with +jit. > >David mentioned that he succeeded by using gcc-4.9 but I had to use the >workaround I described above. # eix sys-devel/gcc$ [..] Installed versions: 4.9.3(4.9)^s{tbz2}(18:19:02 23/10/15)(cilk cxx doc fortran gcj graphite multilib nls nptl objc objc++ objc-gc openmp sanitize -altivec -awt -debug -fixed-point -go -hardened -libssp -multislot -nopie -nossp -regression-test -vanilla) 5.3.0(5)^s{tbz2}(20:14:23 24/12/15)(cilk cxx doc fortran gcj graphite multilib nls nptl objc objc++ objc-gc openmp sanitize -altivec -awt -debug -fixed-point -go -hardened -jit -libssp -multislot -nopie -nossp -regression-test -vanilla) # gcc-config -l [1] x86_64-pc-linux-gnu-4.9.3 * [2] x86_64-pc-linux-gnu-5.3.0 No wonder I didn't stumble on that ... ;) -dnh -- The steady state of disks is full.-- Ken Thompson
Re: [gentoo-user] Re: Gcc 5.3
151225 walt wrote: > You can work around the failure by installing 5.3.0 > with the -jit useflag (which should succeed) and *then* switch to 5.3.0 > using gcc-config before re-installing 5.3.0 with +jit. So this is one of the 50 % cases where USE="-* ... " helps (smile). -- ,, SUPPORT ___//___, Philip Webb ELECTRIC /] [] [] [] [] []| Cities Centre, University of Toronto TRANSIT`-O--O---' purslowatchassdotutorontodotca
Re: [gentoo-user] Re: Gcc 5.3
On Sat, 26 Dec 2015 14:00:55 Paul Colquhoun wrote: > On Fri, 25 Dec 2015 12:40:48 walt wrote: > > On Thu, 24 Dec 2015 10:18:27 -0500 > > > > Alan Grimeswrote: > > > Hey, thanks for putting out gcc 5.3... > > > > > > Unfortunately, it fails to bootstrap on my machine. I am getting > > > differences between the stage 2 and stage 3 compilers and it's > > > dying... =( > > > > I'm waiting for 5.3.1 before I even try to install it on my main > > desktop machine. But I've installed it in a virtual gentoo ~amd64 > > machine, so I know that the failure you are seeing was introduced when > > the 'jit' useflag was added to the gcc ebuild. > > > > You can work around the failure by installing 5.3.0 with the -jit > > useflag (which should succeed) and *then* switch to 5.3.0 using > > gcc-config before re-installing 5.3.0 with +jit. > > > > David mentioned that he succeeded by using gcc-4.9 but I had to use the > > workaround I described above. > > I disabled the 'jit' flag for gcc, and 5.3.0 compiled cleanly. > > Now to turn the flag back on and see if that works. Yes, using gcc-5.3.0 to recompile 5.3.0 with +jit worked. Thanks. -- Reverend Paul Colquhoun, ULC. http://andor.dropbear.id.au/ Asking for technical help in newsgroups? Read this first: http://catb.org/~esr/faqs/smart-questions.html#intro
[gentoo-user] Re: Gcc 5.3
On Thu, 24 Dec 2015 10:18:27 -0500 Alan Grimeswrote: > Hey, thanks for putting out gcc 5.3... > > Unfortunately, it fails to bootstrap on my machine. I am getting > differences between the stage 2 and stage 3 compilers and it's > dying... =( I'm waiting for 5.3.1 before I even try to install it on my main desktop machine. But I've installed it in a virtual gentoo ~amd64 machine, so I know that the failure you are seeing was introduced when the 'jit' useflag was added to the gcc ebuild. You can work around the failure by installing 5.3.0 with the -jit useflag (which should succeed) and *then* switch to 5.3.0 using gcc-config before re-installing 5.3.0 with +jit. David mentioned that he succeeded by using gcc-4.9 but I had to use the workaround I described above.
Re: [gentoo-user] Re: Gcc 5.3
On Fri, 25 Dec 2015 12:40:48 walt wrote: > On Thu, 24 Dec 2015 10:18:27 -0500 > > Alan Grimeswrote: > > Hey, thanks for putting out gcc 5.3... > > > > Unfortunately, it fails to bootstrap on my machine. I am getting > > differences between the stage 2 and stage 3 compilers and it's > > dying... =( > > I'm waiting for 5.3.1 before I even try to install it on my main > desktop machine. But I've installed it in a virtual gentoo ~amd64 > machine, so I know that the failure you are seeing was introduced when > the 'jit' useflag was added to the gcc ebuild. > > You can work around the failure by installing 5.3.0 with the -jit > useflag (which should succeed) and *then* switch to 5.3.0 using > gcc-config before re-installing 5.3.0 with +jit. > > David mentioned that he succeeded by using gcc-4.9 but I had to use the > workaround I described above. I disabled the 'jit' flag for gcc, and 5.3.0 compiled cleanly. Now to turn the flag back on and see if that works. -- Reverend Paul Colquhoun, ULC. http://andor.dropbear.id.au/ Asking for technical help in newsgroups? Read this first: http://catb.org/~esr/faqs/smart-questions.html#intro