Opened 11 years ago

Closed 11 years ago

#3410 closed task (fixed)

make-4.0

Reported by: ken@… Owned by: Matthew Burgess
Priority: normal Milestone: 7.5
Component: Book Version: SVN
Severity: normal Keywords:
Cc:

Description

Release announcement http://article.gmane.org/gmane.comp.gnu.make.devel/916 - looks as if there is one thing with the potential to break some Makefiles (hopefully, not many of them) -

New feature: "!=" shell assignment operator as an alternative to the
  $(shell ...) function.  Implemented for compatibility with BSD makefiles.
  Note there are subtle differences between "!=" and $(shell ...).  See the
  description in the GNU make manual.
  WARNING: Backward-incompatibility!
  Variables ending in "!" previously defined as "variable!= value" will now be
  interpreted as shell assignment.  Change your assignment to add whitespace
  between the "!" and "=": "variable! = value"

Change History (12)

comment:1 by ken@…, 11 years ago

This comes just when I thought there was nothing 'interesting' in prospect and I could get on with other things. It builds a 3.11.1 kernel on a machine already using 3.11, and that kernel seems to work as expected. I'll start a full desktop build - this will take some days.

I'll note any issues here, but feel free to take the ticket once longindex is sorted.

comment:2 by ken@…, 11 years ago

NB this is svn-20130915 (r10347) with the old 3.11.1 kernel headers - I seem to have updated my repo after that but failed to recreate my copy of the book. [ edited ]

First failure is in glibc once I get to chroot :

checking version of gawk... 4.1.0, ok
checking for nm... nm
checking for autoconf... no
configure: error:
*** These critical programs are missing or too old: make
*** Check the INSTALL file for required versions.
Last edited 11 years ago by ken@… (previous) (diff)

comment:3 by ken@…, 11 years ago

Looks as if the following will fix the glibc build (in chapter 5 too)

sed -i 's/\(3..89..\)/\1 | 4.0/' configure

I think I'd prefer:

set -r -i 's/(3..89..)/\1 | 4.*/' configure
Last edited 11 years ago by bdubbs@… (previous) (diff)

comment:4 by ken@…, 11 years ago

Got to the end of chapter 6 (ignoring udev-from-systemd for the moment), but I now see I've missed several package updates after 15th October. Starting again, in case there are any other issues.

comment:5 by ken@…, 11 years ago

I'm now running a current LFS desktop - got as far as firefox in *my* build sequence, the only make issue was glibc. I'm running eudev (as you do), but udev from systemd did build and do a DESTDIR install, and all its binaries seemed to be correctly linked.

I've probably got several days more of building, but at the moment it looks as if make-4.0 will not severely impact things - I think I've hit my first BLFS issue now in a minor package, still trying to understand it.

Feel free to take this if interested.

comment:6 by bdubbs@…, 11 years ago

It appears that make-4.0 now tries to build with guile by default. --without-guile fixes it, but do we now need to add make to BLFS if the guile extensions are needed?

comment:7 by ken@…, 11 years ago

For me, it is happy to build without any switch.

checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GUILE... no
checking for GUILE... no
checking for getloadavg... yes

and at the end of the configure there is no comment or warning

config.status: creating build.sh
make  all-recursive
make[1]: Entering directory '/building/make-4.0'
Making all in glob

I don't have any opinion on the guile extensions (don't have guile on my system).

comment:8 by bdubbs@…, 11 years ago

I had a build error that I traced to guile and added --without-guile. My log now omits the checking for GUILE lines completely. I do have guile in my Chapter 5 environment, but it's not in /tools of course. If it did link, it would probably fail in Chapter 6.

The --without-guile switch is probably needed for Chapter 5 for those who have it, but I suspect it's not needed in Chapter 6 because it would never be found there.

My build has not gotten to make yet in Chapter 6. I just now removed the --without-guile switch and we'll see it it's necessary there. It's doing the gcc checks now, so it will probably be a couple of hours.

comment:9 by ken@…, 11 years ago

On reflection, I agree that the switch will be a good idea in chapter 5.

comment:10 by Matthew Burgess, 11 years ago

Owner: changed from lfs-book@… to Matthew Burgess
Status: newassigned

comment:11 by Matthew Burgess, 11 years ago

Fixed in r10359.

comment:12 by Matthew Burgess, 11 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.