Opened 11 years ago
Closed 11 years ago
#3410 closed task (fixed)
make-4.0
Reported by: | 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 , 11 years ago
comment:2 by , 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.
comment:3 by , 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
comment:4 by , 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 , 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 , 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 , 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 , 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 , 11 years ago
On reflection, I agree that the switch will be a good idea in chapter 5.
comment:10 by , 11 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:12 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
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.