Eric Martin writes:

> Dan Farrell wrote:
> > You might consider building packages but not installing them -- I think
> > could use --buildpkgonly (aka -B) to achieve this end.  If the world
> > emerge with a -B flag finishes successfully, I think that means all
> > packages were built and you are ready to emerge world with --usepkgonly
> > (-K) without having to worry about build-time issues that could cause
> > conflicting packages on the system.
> >
> > But what does everyone else think?
>
> I like it.  The only problem is it might not work in some situations
> where you need program A to compile program B (kde4 requires qt4).  I've
> never gone from a non-hardened system -> hardened though so take my
> comments with a grain of salt.  This could also work on other tricky
> upgrades.

Nice idea. Maybe next time... I already had started the migration.

And screwed up. I forgot about distcc being active, so some other boxes 
helped in compiling, but they do not have the hardened profile, and thus no 
hardened gcc. So, in fact nothing was compiled on the local machine.

I emerged -e again, this time without distcc and ccache. All compiled fine, 
except for media-video/mplayer-1.0_rc2_p24929-r1 (vf_decimate.c:26: error: 
can't find a register in class `BREG' while reloading `asm') and 
net-nntp/pan-0.132-r1, which claims to need about 300 more megabytes of 
memory to compile.

I did not reboot yet as I am not near the machine, but so far things work 
well. Mplayer is not needed on that machine anyway.


I then decided to harden my desktop PC, too. I want to get some experience 
with the hardened setup, and I want that machine to be able to act as a 
distcc server for another hardened machine which will be set up soon.

Here, also mplayer and some more packages failed.

x11-misc/xaos-3.2:
i386.c: In function `_control87':
i386.c:31: error: PIC register `bx' clobbered in `asm'
Solved by using the vanilla gcc.

x11-misc/xscreensaver-5.04:
lockward.c:59: error: syntax error before "uint8_t"

app-emulation/dosemu-1.3.3:
vga.c: In function `pcivga_init':
vga.c:493: error: `PCI_CLASS_DISPLAY_VGA' undeclared (first use in this 
function)

mplayer: compiles with vanilla gcc.

But most annoying is that the nvidia drivers do not seem to work. First, 
they refused to compile telling me that this would do more harm than good 
with a hardened setup. I put them into packages.unmask, now they compile 
and the nvidia module loads, but still X has no GLX, xorg.0.log 
says "Failed to initialize GLX extension (NVIDIA X driver not found)", 
glxinfo segfaults. I guess I will try to re-compile all X stuff with the 
vanilla gcc.

Would it be possible to make these changes permanent, that is, can I tell 
portage to compile specific packages with a specific 
compiler? /etc/portage/package.compilerflavor or something?

If this makes things complicated, I think I will go back to a normal setup 
at least for my desktop machine. Thre hardened gcc will stay for distcc 
purposes (I will run two distccs on different ports, one for the hardened, 
one for the vanilla gcc), but I prefer to have a system which will run 
OpenGL.

        Wonko
-- 
gentoo-user@lists.gentoo.org mailing list

Reply via email to