Bug 2790 - unpatched make 3.82 breaks eglibc-initial
Summary: unpatched make 3.82 breaks eglibc-initial
Status: RESOLVED FIXED
Alias: None
Product: Development Manual
Classification: Documentation
Component: development (show other bugs)
Version: 1.3
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.4
Assignee: Scott Rifenbark
QA Contact:
URL: http://git.yoctoproject.org/cgit/cgit...
Whiteboard: 8 Feb 2013: Resolved
Depends on:
Blocks:
 
Reported: 2012-07-18 12:17 UTC by Ross Burton
Modified: 2013-02-08 17:13 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ross Burton 2012-07-18 12:17:08 UTC
This is rather odd.  Build host is Debian Unstable (circa beginning of July) with GNU Make 3.82 from Experimental, and Poky as of 5ed19a.

ERROR: Function failed: do_install (see
/data/nightly-build-Uju/build/tmp/work/i586-poky-linux/eglibc-initial-2.15-r12+svnr19294/temp/log.do_install.10450
for further information)
ERROR: Logfile of failure stored in:
/data/nightly-build-Uju/build/tmp/work/i586-poky-linux/eglibc-initial-2.15-r12+svnr19294/temp/log.do_install.10450
Log data follows:
| DEBUG: SITE files ['endian-little', 'bit-32', 'ix86-common',
'common-linux', 'common-glibc', 'i586-linux', 'common']
| DEBUG: Executing shell function do_install
| NOTE: make PARALLELMFLAGS=-j 8 cross-compiling=yes
install_root=/data/nightly-build-Uju/build/tmp/work/i586-poky-linux/eglibc-initial-2.15-r12+svnr19294/image
includedir=/usr/include prefix=/usr install-bootstrap-headers=yes
install-headers
...
| make[1]: Entering directory
`/data/nightly-build-Uju/build/tmp/work/i586-poky-linux/eglibc-initial-2.15-r12+svnr19294/eglibc-2_15/libc'
| /usr/bin/install -c -m 644 include/limits.h /usr/include/limits.h
| /usr/bin/install: cannot remove `/usr/include/limits.h': Permission denied
| make[1]: *** [/usr/include/limits.h] Error 1
| make[1]: Leaving directory
`/data/nightly-build-Uju/build/tmp/work/i586-poky-linux/eglibc-initial-2.15-r12+svnr19294/eglibc-2_15/libc'
| make: *** [install-headers] Error 2
| ERROR: oe_runmake failed

If I go back to GNU Make 3.81, it works.
Comment 1 Radu Moisan 2012-10-03 12:42:54 UTC
could not reproduce

Build Configuration:
BB_VERSION        = "1.16.0"
TARGET_ARCH       = "i586"
TARGET_OS         = "linux"
MACHINE           = "qemux86"
DISTRO            = "poky"
DISTRO_VERSION    = "1.2+snapshot-20121003"
TUNE_FEATURES     = "m32 i586"
TARGET_FPU        = ""
meta              
meta-yocto        
meta-yocto-bsp    = "master:7da9f109e8dad5807f3b1d3615c295c349bc7f10"

is this the right configuration configuration?
Comment 2 Ross Burton 2012-10-04 14:31:13 UTC
| mkdir: cannot create directory `/usr/include/gnu': Permission denied

I can still replicate with gnu make 3.82.

(almost certainly a make 3.82 bug that is being exposed by eglibc)
Comment 3 Radu Moisan 2012-10-08 09:38:34 UTC
It seems this is a well known bug. There is already a fix for it in upstream but not in the stable release. In Yocto we already have this patch, added by Dexuan, see expand_MAKEFLAGS.patch
I don't know what can we do on host machine though.
Comment 4 Radu Moisan 2012-12-03 09:42:37 UTC
Ross, what do we do with this one?
Comment 5 Radu Moisan 2012-12-03 09:43:24 UTC
Changed to NEEDINFO.
Comment 6 Ross Burton 2012-12-03 10:01:55 UTC
I guess we need to document this as known breakage with unpatched GNU Make 3.82.  Presumably everyone who has 3.82 as the default is already carrying that patch.

Re-assigning to the docs.  Scott, the problem is that if the host has unpatched GNU Make 3.82 then eglibc-initial fails to build.  I suspect that every distro that ships 3.82 as the default already has the patch (as otherwise they couldn't have built the toolchain) but some distributions have 3.82 as an option (Debian, for example) which is unpatched.  Might be worth mentioning this in the release notes?
Comment 7 Scott Rifenbark 2013-02-08 17:13:27 UTC
Created a new section in the ref-manual called "Development Host System Issues" that is within the "Debugging Build Failures."  This new section can hold bulleted items that call out host issues that mess up a build.  This will be a good place for this information in the mainstream YP docs.

See the http://www.yoctoproject.org/docs/1.4/ref-manual/ref-manual.html#development-host-system-issues for the new section.

Scott