[Bugme-janitors] [Bug 9509] New: make 'install' type actions shouldn't require gcc to install

bugme-daemon at bugzilla.kernel.org bugme-daemon at bugzilla.kernel.org
Wed Dec 5 18:40:27 PST 2007


http://bugzilla.kernel.org/show_bug.cgi?id=9509

           Summary: make 'install' type actions shouldn't require gcc to
                    install
           Product: Platform Specific/Hardware
           Version: 2.5
     KernelVersion: 2.6.23.9-vanilla(nopatches)
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: low
          Priority: P1
         Component: i386
        AssignedTo: platform_i386 at kernel-bugs.osdl.org
        ReportedBy: lkml at tlinx.org
                CC: platform_ia-64 at kernel-bugs.osdl.org


Problem Description:
I have a "server" that faces the net.  It's a "smallish" (P-III-Celeron,
900MHz, 512MB) machine so I don't do development on it.  When I do a kernel
build, I build it on faster, 'build machine'.

When done, to install, if nfs is working, I mount the directory where the built
kernel resides on the client and do a "make modules_install; make install".  If
nfs isn't working, I'll use 'rsync' over ssh as a backup and transfer the
entire build dir (doesn't take too long for few diffs).

Unfortunately, even though the kernel is "built" and should just be "installed"
into place, the build process calls "gcc" a few times to determine gcc
information.  

This is _likely_ not the right thing to do.  First problem is that the client
machine gets errors in 'installing' due to a missing gcc compiler.  Relevant
files (at least):
scripts/gcc-version.sh
scripts/gcc-x86_64-has-stack-protector.sh
---
"Aside": "gcc-x86_64-stack-protector.sh" appears poorly named (as it is also
used when building ia32).

Second reason for not using gcc during "install" --
The machine you are installing onto may have a different version of gcc
installed than what was installed on the build-machine.

The build-machine, for example, might also be running a cross-compiler on
x86_64 to produce code for the 32-bit ia32 architecture -- another reason why
the compiler versions might be different.

If the compiler version makes a difference when Installing, shouldn't it be
using the compiler version from the build machine?

While this code checks "gcc" -- does it work when using the intel compiler? 
Are the intel compiler versions compatible(isometric w/regard to code and bugs
produced per version) with gcc's versioning?  I doubt this is true, but don't
have an intel compiler to check with.

I'm not sure (don't have IA-64 build machine, yet -- its planned), but the same
problem may be present on IA-64 (thus 'cc'ing ia64 list).

Steps to reproduce:
make kernel on 1 machine; copy object directory (or entire build dir if built
"in-place") to a client with no gcc installed.  Try "make modules_install" or
"make install".  Bug doesn't *appear* to abort the "make" -- it appears to
ignore the error and proceed, but I'm not sure what these "gcc" specific tests
are used for during install.


-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


More information about the Bugme-janitors mailing list