View previous topic :: View next topic |
Author |
Message |
incubator Guru
Joined: 05 Jun 2003 Posts: 584 Location: Belgium
|
Posted: Sat Dec 03, 2005 10:50 am Post subject: |
|
|
I've been using gcc 3.4.4 for ome time now but during this time
emerge -pv gcc always wanted to insstall gcc-3.3.6 in a different slot, even now too.
And I dont want that, I want to get rid of this gcc 3.3.6 dependency :s _________________ Programming today is a race between Software Engineers striving to build bigger and better idiot-proof Programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning! |
|
Back to top |
|
|
ash-nazg n00b
Joined: 26 Feb 2005 Posts: 18 Location: Alabama
|
Posted: Sat Dec 03, 2005 10:51 am Post subject: emerge system and emerge world are redundant? |
|
|
I ran emerge -e system overnight, and have now kicked off emerge -e world, only to see it recompiling everything it just recompiled during the system emerge. Is that intentional? Do all those system packages need to be recompiled twice? If not, is there an additional emerge flag that will specify to emerge -e world that is should only rebuild the packages that emerge -e system didn't already just rebuild? _________________ "One Gene to rule them all..." |
|
Back to top |
|
|
thomasvk Guru
Joined: 19 Mar 2005 Posts: 597
|
Posted: Sat Dec 03, 2005 10:51 am Post subject: |
|
|
Paapaa wrote: | Hmm, it seemed that Portage automatically switched my system to use the new gcc-3.4.4 right after emerging it.
Code: | * Switching native-compiler to i686-pc-linux-gnu-3.4.4 ... [ ok ]
* If you intend to use the gcc from the new profile in an already
* running shell, please remember to do:
* # source /etc/profile |
This was verified by the next command:
Code: |
$ gcc-config -l
[1] i686-pc-linux-gnu-3.3.6
[2] i686-pc-linux-gnu-3.3.6-hardened
[3] i686-pc-linux-gnu-3.3.6-hardenednopie
[4] i686-pc-linux-gnu-3.3.6-hardenednopiessp
[5] i686-pc-linux-gnu-3.3.6-hardenednossp
[6] i686-pc-linux-gnu-3.4.4 *
[7] i686-pc-linux-gnu-3.4.4-hardened
[8] i686-pc-linux-gnu-3.4.4-hardenednopie
[9] i686-pc-linux-gnu-3.4.4-hardenednopiessp
[10] i686-pc-linux-gnu-3.4.4-hardenednossp |
So the next command in the migration guide was not needed:
Code: |
gcc-config i686-pc-linux-gnu-3.4.4
|
Is this really intended behaviour? I thought emerging gcc-3.4.4 should NOT make it the default compiler automagically? |
Indeed:
|
|
Back to top |
|
|
Proteus Guru
Joined: 14 Jul 2002 Posts: 346 Location: Hamburg, Germany
|
Posted: Sat Dec 03, 2005 11:14 am Post subject: Advantage? |
|
|
Ok, I realize that this might be a very dumb question. Still I haven't found an answer so I'm
asking here now:
What is the advantage of switching to the new gcc version? Will my system be faster, more stable?
Or is it not important for an average user?
Thanks for any help! _________________ Greetings,
Proteus |
|
Back to top |
|
|
sigmalll Guru
Joined: 24 Aug 2003 Posts: 332
|
Posted: Sat Dec 03, 2005 11:41 am Post subject: Re: Advantage? |
|
|
Proteus wrote: | Ok, I realize that this might be a very dumb question. Still I haven't found an answer so I'm
asking here now:
What is the advantage of switching to the new gcc version? Will my system be faster, more stable? |
http://gcc.gnu.org/gcc-3.4/changes.html |
|
Back to top |
|
|
tecknojunky Veteran
Joined: 19 Oct 2002 Posts: 1937 Location: Montréal
|
Posted: Sat Dec 03, 2005 11:43 am Post subject: |
|
|
emerge -e system & emerge -e world ?!?!
Are you guys crazy??? This will take at least 1 week on my box.
Forget it. I'm sorry to tell, you have done that all for nothing because I wont upgrage. _________________ (7 of 9) Installing star-trek/species-8.4.7.2::talax. |
|
Back to top |
|
|
UncleOwen Veteran
Joined: 27 Feb 2003 Posts: 1493 Location: Germany, Hamburg
|
Posted: Sat Dec 03, 2005 11:56 am Post subject: |
|
|
tecknojunky wrote: | emerge -e system & emerge -e world ?!?!
Are you guys crazy??? This will take at least 1 week on my box.
Forget it. I'm sorry to tell, you have done that all for nothing because I wont upgrage. |
Reading the upgrade guide might help. There's an alternative. |
|
Back to top |
|
|
RiverRat n00b
Joined: 07 Oct 2004 Posts: 65 Location: Colorado
|
Posted: Sat Dec 03, 2005 12:00 pm Post subject: |
|
|
t0maz wrote: | Can I just keep on working on my computer while everything is compiling? Because I bet it will take a few days, but I need my computer for work. |
Yes, but I'd make backups often. I have a bad habbit of upgrading things and then not rebooting/restarting programs as they get upgraded. (This can be seen with the command "lsof +L1" that will show all the files that are still in use but that have been deleted from the filesystem.) I ususally don't have that many problems but after a week or two certain things seem to spontaneously restart, die, or otherwise misbehave. That's why I recommend making backups until you get a chance to reboot into a completely upgraded system. For instance, I have upgraded to Firefox 1.5 but haven't restarted it and I've lost the ability to "Save Link target as.." and probably other things. _________________ RiverRat |
|
Back to top |
|
|
tecknojunky Veteran
Joined: 19 Oct 2002 Posts: 1937 Location: Montréal
|
Posted: Sat Dec 03, 2005 12:00 pm Post subject: |
|
|
UncleOwen wrote: | There's an alternative. | ... which might miss some softwares.
I was trolling a bit. Seriously, I think I will wait for gcc-4.x making it stable. _________________ (7 of 9) Installing star-trek/species-8.4.7.2::talax. |
|
Back to top |
|
|
sigmalll Guru
Joined: 24 Aug 2003 Posts: 332
|
Posted: Sat Dec 03, 2005 12:01 pm Post subject: |
|
|
Just to clarify, I don't have to rebuild my kernel if I dont want to?
(I have a box with an unsupported raid card and have patched the kernel myself, it works, I don't really want to mess with it as the 2TB raid array connected to it is kinda mission critical) |
|
Back to top |
|
|
dodvan n00b
Joined: 11 Aug 2004 Posts: 2
|
Posted: Sat Dec 03, 2005 12:04 pm Post subject: Problem with nvidia-kernel |
|
|
I've emerged gcc-3.4.4 and switched to it (gcc-config i686-pc-linux-gnu-3.4.4 && source /etc/profile). After compiling kernel 2.6.14.2, I've tried to re-emerge nvidia-kernel:
Code: |
>>> emerge (1 of 1) media-video/nvidia-kernel-1.0.6629-r4 to /
...
>>> md5 src_uri ;-) NVIDIA-Linux-x86-1.0-6629-pkg1.run
* Determining the location of the kernel source code
* Found kernel source directory:
* /usr/src/linux
* Found sources for kernel version:
* 2.6.14-gentoo-r2
* Checking for MTRR support ... [ ok ]
>>> Unpacking source...
Creating directory NVIDIA-Linux-x86-1.0-6629-pkg1
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86 1.0-6629............................
* Applying nv-shutup-warnings.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1155389.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1165235.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1171869.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1175225.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1182399.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1189413.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1201042.diff ... [ ok ]
* Applying 2.6 kernel patches
* Applying conftest_koutput_includes.patch ... [ ok ]
* Applying nv-disable-preempt-on-smp_processor_id.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1161283.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-agp_bridge_data.patch ... [ ok ]
* Converting NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/Makefile.kbuild to use M= instead of SUBDIRS= ... [ ok ]
>>> Source unpacked.
* Preparing nvidia module
NVIDIA: calling KBUILD...
make CC=cc KBUILD_VERBOSE=1 -C /usr/src/linux M=/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv modules
mkdir -p /var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/.tmp_versions
make -f scripts/Makefile.build obj=/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv
echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -n 1`\" > /var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv_compiler.h
cc -Wp,-MD,/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/.nv.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include -D__KERNEL__ -Iinclude -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2 -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=i686 -mtune=pentium4 -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement -I/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wno-multichar -Werror -O -fno-common -MD -Wno-cast-qual -Wno-error -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=6629 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -UDEBUG -U_DEBUG -DNDEBUG -DNV_REMAP_PFN_RANGE_PRESENT -DNV_CHANGE_PAGE_ATTR_PRESENT -DNV_PCI_DISABLE_DEVICE_PRESENT -DNV_PCI_GET_CLASS_PRESENT -DMODULE -DKBUILD_BASENAME=nv -DKBUILD_MODNAME=nvidia -c -o /var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.o /var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.c
En el fichero incluído de /var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.c:14:
/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv-linux.h:207:5: aviso: "NV_ENABLE_MEM_TRACKING" no está definido
/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv-linux.h:235:5: aviso: "NV_ENABLE_MEM_TRACKING" no está definido
/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.c:225:5: aviso: "NV_ENABLE_MEM_TRACKING" no está definido
/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.c:1118:5: aviso: "NV_ENABLE_MEM_TRACKING" no está definido
cc1: error: invalid option `tune=pentium4'
cc1: error: unrecognized option `-Wdeclaration-after-statement'
cc1: error: unrecognized option `-fno-unit-at-a-time'
distcc[2945] ERROR: compile /var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.c on pilipc failed
make[3]: *** [/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.o] Error 1
make[2]: *** [_module_/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv] Error 2
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[1]: *** [module] Error 1
make: *** [module] Error 2
!!! ERROR: media-video/nvidia-kernel-1.0.6629-r4 failed.
!!! Function linux-mod_src_compile, Line 505, Exitcode 2
!!! Unable to make IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux SYSOUT=/usr/src/linux clean module.
!!! If you need support, post the topmost build error, NOT this status message.
|
Same error with unstable (~x86) nvidia-kernel-1.0.7676-r1. Of course, everything goes fine if I switch back to gcc-3.3.6.
The problem seems to be at nv-linux.h, where you can read:
Code: |
#ifdef DEBUG
#define NV_ENABLE_MEM_TRACKING 1
#endif
#if NV_ENABLE_MEM_TRACKING
... blah blah blah...
#endif
|
It should read:
Code: |
#ifdef DEBUG
#define NV_ENABLE_MEM_TRACKING 1
#else
#define NV_ENABLE_MEM_TRACKING 0
#endif
|
Somehow the following references to the undefined preprocessor symbol NV_ENABLE_MEM_TRACKING seems to work with gcc-3.3.6 but not with gcc-3.4.4. Making that change to nv-linux.h the modules compiles perfectly. I've not made a patch, though. Any volunteer? |
|
Back to top |
|
|
magowiz Veteran
Joined: 17 Feb 2005 Posts: 1029 Location: Italy/Milan/Bresso
|
Posted: Sat Dec 03, 2005 12:10 pm Post subject: Re: Problem with nvidia-kernel |
|
|
dodvan wrote: | I've emerged gcc-3.4.4 and switched to it (gcc-config i686-pc-linux-gnu-3.4.4 && source /etc/profile). After compiling kernel 2.6.14.2, I've tried to re-emerge nvidia-kernel:
Code: |
>>> emerge (1 of 1) media-video/nvidia-kernel-1.0.6629-r4 to /
...
>>> md5 src_uri ;-) NVIDIA-Linux-x86-1.0-6629-pkg1.run
* Determining the location of the kernel source code
* Found kernel source directory:
* /usr/src/linux
* Found sources for kernel version:
* 2.6.14-gentoo-r2
* Checking for MTRR support ... [ ok ]
>>> Unpacking source...
Creating directory NVIDIA-Linux-x86-1.0-6629-pkg1
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86 1.0-6629............................
* Applying nv-shutup-warnings.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1155389.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1165235.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1171869.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1175225.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1182399.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1189413.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1201042.diff ... [ ok ]
* Applying 2.6 kernel patches
* Applying conftest_koutput_includes.patch ... [ ok ]
* Applying nv-disable-preempt-on-smp_processor_id.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-1161283.patch ... [ ok ]
* Applying NVIDIA_kernel-1.0-6629-agp_bridge_data.patch ... [ ok ]
* Converting NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/Makefile.kbuild to use M= instead of SUBDIRS= ... [ ok ]
>>> Source unpacked.
* Preparing nvidia module
NVIDIA: calling KBUILD...
make CC=cc KBUILD_VERBOSE=1 -C /usr/src/linux M=/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv modules
mkdir -p /var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/.tmp_versions
make -f scripts/Makefile.build obj=/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv
echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -n 1`\" > /var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv_compiler.h
cc -Wp,-MD,/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/.nv.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include -D__KERNEL__ -Iinclude -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -ffreestanding -O2 -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boundary=2 -fno-unit-at-a-time -march=i686 -mtune=pentium4 -Iinclude/asm-i386/mach-default -Wdeclaration-after-statement -I/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wno-multichar -Werror -O -fno-common -MD -Wno-cast-qual -Wno-error -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVEL=6629 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -UDEBUG -U_DEBUG -DNDEBUG -DNV_REMAP_PFN_RANGE_PRESENT -DNV_CHANGE_PAGE_ATTR_PRESENT -DNV_PCI_DISABLE_DEVICE_PRESENT -DNV_PCI_GET_CLASS_PRESENT -DMODULE -DKBUILD_BASENAME=nv -DKBUILD_MODNAME=nvidia -c -o /var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.o /var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.c
En el fichero incluído de /var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.c:14:
/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv-linux.h:207:5: aviso: "NV_ENABLE_MEM_TRACKING" no está definido
/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv-linux.h:235:5: aviso: "NV_ENABLE_MEM_TRACKING" no está definido
/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.c:225:5: aviso: "NV_ENABLE_MEM_TRACKING" no está definido
/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.c:1118:5: aviso: "NV_ENABLE_MEM_TRACKING" no está definido
cc1: error: invalid option `tune=pentium4'
cc1: error: unrecognized option `-Wdeclaration-after-statement'
cc1: error: unrecognized option `-fno-unit-at-a-time'
distcc[2945] ERROR: compile /var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.c on pilipc failed
make[3]: *** [/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv/nv.o] Error 1
make[2]: *** [_module_/var/tmp/portage/nvidia-kernel-1.0.6629-r4/work/NVIDIA-Linux-x86-1.0-6629-pkg1/usr/src/nv] Error 2
NVIDIA: left KBUILD.
nvidia.ko failed to build!
make[1]: *** [module] Error 1
make: *** [module] Error 2
!!! ERROR: media-video/nvidia-kernel-1.0.6629-r4 failed.
!!! Function linux-mod_src_compile, Line 505, Exitcode 2
!!! Unable to make IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux SYSOUT=/usr/src/linux clean module.
!!! If you need support, post the topmost build error, NOT this status message.
|
Same error with unstable (~x86) nvidia-kernel-1.0.7676-r1. Of course, everything goes fine if I switch back to gcc-3.3.6.
The problem seems to be at nv-linux.h, where you can read:
Code: |
#ifdef DEBUG
#define NV_ENABLE_MEM_TRACKING 1
#endif
#if NV_ENABLE_MEM_TRACKING
... blah blah blah...
#endif
|
It should read:
Code: |
#ifdef DEBUG
#define NV_ENABLE_MEM_TRACKING 1
#else
#define NV_ENABLE_MEM_TRACKING 0
#endif
|
Somehow the following references to the undefined preprocessor symbol NV_ENABLE_MEM_TRACKING seems to work with gcc-3.3.6 but not with gcc-3.4.4. Making that change to nv-linux.h the modules compiles perfectly. I've not made a patch, though. Any volunteer? |
I think you must first try to compile this package without distcc feature, perhaps you have some pc in your distcc network that doesn't use the same compiler. |
|
Back to top |
|
|
sigmalll Guru
Joined: 24 Aug 2003 Posts: 332
|
Posted: Sat Dec 03, 2005 12:17 pm Post subject: |
|
|
RiverRat wrote: | (This can be seen with the command "lsof +L1" .........) |
emerge lsof |
|
Back to top |
|
|
Paapaa l33t
Joined: 14 Aug 2005 Posts: 955 Location: Finland
|
Posted: Sat Dec 03, 2005 12:46 pm Post subject: |
|
|
t0maz wrote: | Paapaa wrote: |
Is this really intended behaviour? I thought emerging gcc-3.4.4 should NOT make it the default compiler automagically? |
Indeed:
|
This is a possible bug and apparently reported here:
https://bugs.gentoo.org/show_bug.cgi?id=114341 |
|
Back to top |
|
|
RiverRat n00b
Joined: 07 Oct 2004 Posts: 65 Location: Colorado
|
Posted: Sat Dec 03, 2005 12:59 pm Post subject: Re: emerge system and emerge world are redundant? |
|
|
ash-nazg wrote: | I ran emerge -e system overnight, and have now kicked off emerge -e world, only to see it recompiling everything it just recompiled during the system emerge. Is that intentional? Do all those system packages need to be recompiled twice? If not, is there an additional emerge flag that will specify to emerge -e world that is should only rebuild the packages that emerge -e system didn't already just rebuild? |
System is part of World. The reason that we do the system first is to make sure that when the packages in world are compiled that they are compiled and linked against the 3.4 headers and sources and linked to a glibc that was compiled with a 3.4 compiler. I'm just glad we don't have to re-run bootstrap.sh. _________________ RiverRat |
|
Back to top |
|
|
Paapaa l33t
Joined: 14 Aug 2005 Posts: 955 Location: Finland
|
Posted: Sat Dec 03, 2005 1:01 pm Post subject: |
|
|
The guide tells you to unmerge older gcc after "emerge -e system && emerge -e world". Then the guide tells you might need to remerge gcc once more because of some possibly removed files (/sbin/fix_libtool_files.sh).
Why can't I unmerge gcc-3.3* right after "emerge -e system" and BEFORE the final "emerge -e world"?? This way I wouldn't have to remerge gcc for the 4th time. |
|
Back to top |
|
|
amne Bodhisattva
Joined: 17 Nov 2002 Posts: 6378 Location: Graz / EU
|
Posted: Sat Dec 03, 2005 1:15 pm Post subject: |
|
|
Paapaa wrote: | The guide tells you to unmerge older gcc after "emerge -e system && emerge -e world". Then the guide tells you might need to remerge gcc once more because of some possibly removed files (/sbin/fix_libtool_files.sh).
|
You only need to re-emerge gcc if you lose those files (or you even ignore the fact they are missing in case you don't need them). There are also workarounds that don't involve re-emerging gcc such as copying the files over.
Paapaa wrote: | Why can't I unmerge gcc-3.3* right after "emerge -e system" and BEFORE the final "emerge -e world"?? This way I wouldn't have to remerge gcc for the 4th time. |
I think that would be possible, but you won't be able to use the programs from world that are compiled against gcc 3.3.x until you're finished recompiling. Don't blame me if it wrecks your system though.
Just a general note: The guide (and especially the second method) are designed to keep the whole upgrade safe, which means some extra compiling could be included, but it should reduce potential breakage. There are lots of shortcuts and ways to vary it, but in case something breaks some people may tell you to follow the guide. _________________ Dinosaur week! (Ok, this thread is so last week) |
|
Back to top |
|
|
Olis Apprentice
Joined: 29 Sep 2004 Posts: 177 Location: Germany
|
Posted: Sat Dec 03, 2005 2:43 pm Post subject: |
|
|
Hi,
upgraded to gcc 3.4.4 today. I used tcupdate.sh (https://forums.gentoo.org/viewtopic-t-282474.html) to update the toolchain. It compiled the following packages:
Code: | Sat Dec 3 10:55:48 2005 >>> sys-devel/gcc-config-1.3.12-r4
Sat Dec 3 11:32:09 2005 >>> sys-devel/gcc-3.4.4-r1
Sat Dec 3 12:06:18 2005 >>> sys-libs/glibc-2.3.5-r2
Sat Dec 3 12:12:06 2005 >>> sys-devel/binutils-2.16.1
Sat Dec 3 12:43:36 2005 >>> sys-devel/gcc-3.4.4-r1
Sat Dec 3 13:16:27 2005 >>> sys-libs/glibc-2.3.5-r2
Sat Dec 3 13:22:17 2005 >>> sys-devel/binutils-2.16.1
Sat Dec 3 13:53:25 2005 >>> sys-devel/gcc-3.4.4-r1
Sat Dec 3 13:53:54 2005 >>> sys-apps/portage-2.0.51.22-r3 |
Then I found the link to the gcc upgrade guide and decided to go the save way...
Since GCC 3.4.4 was already installed (and already activated) I did a Code: | # gcc-config i686-pc-linux-gnu-3.4.4
# source /etc/profile | and then started "emerge -e system". It compiled 4 packages successfully Code: | Sat Dec 3 14:40:24 2005 >>> sys-devel/patch-2.5.9
Sat Dec 3 14:42:03 2005 >>> dev-lang/tcl-8.4.9
Sat Dec 3 14:42:15 2005 >>> sys-devel/binutils-config-1.8-r6
Sat Dec 3 14:42:28 2005 >>> sys-devel/gnuconfig-20050602 |
but aborted on gettext: Code: | i686-pc-linux-gnu-gcc -O2 -march=pentium4 -pipe -fomit-frame-pointer -o .libs/msgexec msgexec-msgexec.o ./.libs/libgettextsrc.so /var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools/lib/.libs/libgettextlib.so -lc
creating msgexec
/bin/sh ../libtool --tag=CC --mode=link i686-pc-linux-gnu-gcc -O2 -march=pentium4 -pipe -fomit-frame-pointer -o msginit msginit-msginit.o msginit-plural-count.o msginit-localealias.o ../intl/localename.lo libgettextsrc.la
i686-pc-linux-gnu-gcc -O2 -march=pentium4 -pipe -fomit-frame-pointer -o .libs/msggrep msggrep-msggrep.o ../libgrep/libgrep.a ./.libs/libgettextsrc.so /var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools/lib/.libs/libgettextlib.so -lc
creating msggrep
/bin/sh ../libtool --tag=CC --mode=link i686-pc-linux-gnu-gcc -O2 -march=pentium4 -pipe -fomit-frame-pointer -o msguniq msguniq-msguniq.o libgettextsrc.la
i686-pc-linux-gnu-gcc -O2 -march=pentium4 -pipe -fomit-frame-pointer -o .libs/msgfilter msgfilter-msgfilter.o ./.libs/libgettextsrc.so /var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools/lib/.libs/libgettextlib.so -lc
creating msgfilter
i686-pc-linux-gnu-gcc -O2 -march=pentium4 -pipe -fomit-frame-pointer -o .libs/msginit msginit-msginit.o msginit-plural-count.o msginit-localealias.o ../intl/.libs/localename.o ./.libs/libgettextsrc.so /var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools/lib/.libs/libgettextlib.so -lc
creating msginit
i686-pc-linux-gnu-gcc -O2 -march=pentium4 -pipe -fomit-frame-pointer -o .libs/msguniq msguniq-msguniq.o ./.libs/libgettextsrc.so /var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools/lib/.libs/libgettextlib.so -lc
creating msguniq
make[4]: Leaving directory `/var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools/src'
make[3]: Leaving directory `/var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools/src'
Making all in po
make[3]: Entering directory `/var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools/po'
make[3]: Für das Ziel »all« ist nichts zu tun.
make[3]: Leaving directory `/var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools/po'
Making all in projects
make[3]: Entering directory `/var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools/projects'
make[3]: Für das Ziel »all« ist nichts zu tun.
make[3]: Leaving directory `/var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools/projects'
Making all in misc
make[3]: Entering directory `/var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools/misc'
WARNING: Warnings can be ignored. :-)
if test "emacs" != no; then \
set x; \
list='start-po.el po-mode.el po-compat.el'; for p in $list; do \
if test -f "$p"; then d=; else d="./"; fi; \
set x "$@" "$d$p"; shift; \
done; \
shift; \
EMACS="emacs" /bin/sh ../../build-aux/elisp-comp "$@" || exit 1; \
else : ; fi
Symbol's value as variable is void: load
make[3]: *** [elc-stamp] Fehler 1
make[3]: Leaving directory `/var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools/misc'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools'
make[1]: *** [all] Fehler 2
make[1]: Leaving directory `/var/tmp/portage/gettext-0.14.4/work/gettext-0.14.4/gettext-tools'
make: *** [all-recursive] Fehler 1
!!! ERROR: sys-devel/gettext-0.14.4 failed.
!!! Function src_compile, Line 65, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message. |
Any ideas what's wrong here?
emerge --info: Code: | Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.14-gentoo-r2 i686)
=================================================================
System uname: 2.6.14-gentoo-r2 i686 Intel(R) Pentium(R) 4 CPU 3.20GHz
Gentoo Base System version 1.6.13
ccache version 2.3 [enabled]
dev-lang/python: 2.3.5-r2, 2.4.2
sys-apps/sandbox: 1.2.12
sys-devel/autoconf: 2.13, 2.59-r6
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
sys-devel/libtool: 1.5.20
virtual/os-headers: 2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /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="-O2 -march=pentium4 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://pandemonium.tiscali.de/pub/gentoo/"
LANG="de_DE.UTF-8"
LC_ALL="de_DE.UTF-8"
LINGUAS="de"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.de/gentoo-portage"
USE="x86 X aalib acl acpi alsa apm arts artswrappersuid audiofile avi bash-completion berkdb bitmap-fonts browserplugin bzip2 bzlib cdb cdparanoia cdr crypt cups curl dbm dbus divx4linux doc dvd dvdr dvdread emacs emboss encode esd ethereal exif expat fam fbcon ffmpeg firefox flac font-server foomaticdb fortran gd gdbm gif gimpprint glut gpg gphoto2 gpm gstreamer gtk gtk2 hal icq idn ieee1394 imagemagick imap imlib ipv6 java jikes jpeg junit kde lcms libg++ libwww lirc lm_sensors logrotate logwatch lzw-tiff mad mbox mhash mikmod milter mime mmg mmx mng moneyplex motif mozsvg mp3 mpeg mplayer musicbrainz ncurses nls nptl nptlonly nsplugin nvidia ogg oggvorbis openexr opengl oss pam pcre pda pdflib perl php png ppds python qt quicktime readline real recode samba scanner sdl sensord slang smime sockets spell sse sse2 ssl svga tcltk tcpd tetex tidy tiff toolbar tools truetype truetype-fonts type1-fonts udev unicode usb userlocales v4l v4l2 vcd visualization vorbis webdav win32codecs wxwindows xine xml2 xmms xosd xscreensaver xv xvid zlib linguas_de userland_GNU kernel_linux elibc_glibc"
Unset: ASFLAGS, CTARGET, LDFLAGS |
|
|
Back to top |
|
|
amne Bodhisattva
Joined: 17 Nov 2002 Posts: 6378 Location: Graz / EU
|
Posted: Sat Dec 03, 2005 2:50 pm Post subject: |
|
|
There were some problems with gcc-config switching back to 3.3.x when running emerge -e system/world, so the guide wa s changed to emerge libstdc++v3 before that (it doesn't get merged then at all, hence no switching around). Changes will go live in a few minutes.
About the initial paragraph saying nothing happens, it will most likely be changed soon.
edit: Actually the initial paragraph is right, but due to some bug it switches to 3.4.4 even though it shouldn't. _________________ Dinosaur week! (Ok, this thread is so last week)
Last edited by amne on Sat Dec 03, 2005 8:10 pm; edited 1 time in total |
|
Back to top |
|
|
dalek Veteran
Joined: 19 Sep 2003 Posts: 1353 Location: Mississippi USA
|
Posted: Sat Dec 03, 2005 3:09 pm Post subject: |
|
|
Well, it looks like a tornado here so I think I will wait until the dust settles and a few houses gets rebuilt. I just did a re-install, moved to another hard drive so might as well. I just don't want to do all that typing again. Plus I can't email my lady when I redo it.
I'll keep a eye on this thread for a while and see who gets their house up first. Sort of make sure my hammer and nails can hold it's own.
Smart huh?
Later
_________________ My rig: Gigabyte GA-970A-UD3P mobo, AMD FX-8350 Eight-Core CPU, ZALMAN CNPS10X Performa CPU cooler,
G.SKILL 32GB DDR3 PC3 12800 Memory Nvidia GTX-650 video card LG W2253 Monitor
60TBs of hard drive space using LVM
Cooler Master HAF-932 Case |
|
Back to top |
|
|
thomasvk Guru
Joined: 19 Mar 2005 Posts: 597
|
Posted: Sat Dec 03, 2005 3:16 pm Post subject: |
|
|
So what does that -1 do in Code: | emerge -1 sys-libs/libstdc++-v3 | ?
PS.
Just done with system, but I guess I'll just start over again lol. |
|
Back to top |
|
|
dalek Veteran
Joined: 19 Sep 2003 Posts: 1353 Location: Mississippi USA
|
Posted: Sat Dec 03, 2005 3:19 pm Post subject: |
|
|
t0maz wrote: | So what does that -1 do in Code: | emerge -1 sys-libs/libstdc++-v3 | ?
|
Quote: | --oneshot (-1)
Emerge as normal, but do not add the packages to the world profile for later updating. |
That help?
_________________ My rig: Gigabyte GA-970A-UD3P mobo, AMD FX-8350 Eight-Core CPU, ZALMAN CNPS10X Performa CPU cooler,
G.SKILL 32GB DDR3 PC3 12800 Memory Nvidia GTX-650 video card LG W2253 Monitor
60TBs of hard drive space using LVM
Cooler Master HAF-932 Case |
|
Back to top |
|
|
Lori Guru
Joined: 30 Mar 2004 Posts: 338 Location: Barcelona, Spain
|
Posted: Sat Dec 03, 2005 3:26 pm Post subject: Help, please! |
|
|
OK, so I am dumb. Actually I was just in a hurry and not thinking... And the result was devastating. So here's what I've done:
Code: |
emerge -uDav system
|
I saw gcc was updated, but since it's slotted it left back 3.3.6. My answer to that was quick and thoughtless:
Now I don't have python, so I don't have emerge anymore, bacuse libstdc++.so.5 is missing.
Any hints how to recover without messing up my system even worse...?
Thanks in advance,
Lori _________________ "The hunt is sweeter then the kill."
Registered Linux User #176911 |
|
Back to top |
|
|
thomasvk Guru
Joined: 19 Mar 2005 Posts: 597
|
Posted: Sat Dec 03, 2005 3:33 pm Post subject: |
|
|
Hrrrm, I looked in emerge --help | grep -i 1, but couldn't find it. Must be in the man page. Thanks!
@Lori:
I think I read about this somewhere. Making a dir /rescue, extracting a stage tarball, chrooting and making a package of gcc in there (emerge -B =gcc-version) and installing that into your main installation (emerge -K =gcc-version), but I'm not too sure about that.
Perhaps it's best to open a new topic and have some more professional people help you. :/ Pretty fooked up situation. |
|
Back to top |
|
|
Proteus Guru
Joined: 14 Jul 2002 Posts: 346 Location: Hamburg, Germany
|
Posted: Sat Dec 03, 2005 3:38 pm Post subject: Re: Advantage? |
|
|
sigmalll wrote: | Proteus wrote: | Ok, I realize that this might be a very dumb question. Still I haven't found an answer so I'm
asking here now:
What is the advantage of switching to the new gcc version? Will my system be faster, more stable? |
http://gcc.gnu.org/gcc-3.4/changes.html |
Thanks sigmalll.
I read that page but I am afraid it didn't really help me with my questions.
I don't really know a lot about compilers or GCC. Is there a page where things are described for dummies like me?
I only want to know if it is worth the time to recompile my whole system or if it is not important at all.
My mind circles around the following questions: Will this version be standard in the gentoo future? If not why not? Why did the devs chose
not to make it standard after it stabilized?
I think that it is very possible that other gentoo users might have the same questions (especially because gcc is stable but not switched to
per default). Maybe it would be good to have a doc or frontpage post that explains things a bit more.
Thanks for your time again! _________________ Greetings,
Proteus |
|
Back to top |
|
|
|