"make modules_install" breaks with new /bin/cp
PATCH 1/1 "make modules_install" breaks with new /bin/cp
linux-2.4.15-pre6, fileutils-4.1.1-1.i386.rpm
With my configuration (details not important), "make modules_install" results in:
mkdir -p /lib/modules/2.4.15-pre6/kernel/drivers/sound/
cp soundcore.o sound.o cs4232.o ad1848.o pss.o ad1848.o mpu401.o cs4232.o uart401.o ad1848.o mpu401.o uart6850.o v_midi.o btaudio.o /lib/modules/2.4.15-pre6/kernel/drivers/sound/
cp: will not overwrite just-created /lib/modules/2.4.15-pre6/kernel/drivers/sound/ad1848.o' with ad1848.o'
cp: will not overwrite just-created /lib/modules/2.4.15-pre6/kernel/drivers/sound/cs4232.o' with cs4232.o'
cp: will not overwrite just-created /lib/modules/2.4.15-pre6/kernel/drivers/sound/ad1848.o' with ad1848.o'
cp: will not overwrite just-created /lib/modules/2.4.15-pre6/kernel/drivers/sound/mpu401.o' with mpu401.o'
make[2]: *** [_modinst__] Error 1
This hasn't been a problem with earlier version of /bin/cp (upto fileutils-4.1-4.i386.rpm in RH7.2), but /bin/cp from fileutils-4.1.1-1.i386.rpm (in the Rawhide collection) is more pedantic about multiple copies of the same file.
This patch works around this "feature". It would be better if the Makefiles were changed to only install modules once, but thats a deeper problem.
Rules.make renamed from Rules.make.orig +1 -1
@@ -173,7 +173,7 @@ _modinst__: dummy ifneq "$(strip $(ALL_MOBJS))" "" mkdir -p $(MODLIB)/kernel/$(MOD_DESTDIR) - cp $(ALL_MOBJS) $(MODLIB)/kernel/$(MOD_DESTDIR)$(MOD_TARGET) + for i in $(ALL_MOBJS);do cp $$i $(MODLIB)/kernel/$(MOD_DESTDIR)$(MOD_TARGET);done endif .PHONY: modules_install
Signature · 1 line
John Ellson ([email protected]) Lucent Technologies, Holmdel, NJ, 07733
Quoted 13 lines · John Ellson
linux-2.4.15-pre6, fileutils-4.1.1-1.i386.rpm
With my configuration (details not important), "make
modules_install" results in:mkdir -p
/lib/modules/2.4.15-pre6/kernel/drivers/sound/
cp soundcore.o sound.o cs4232.o ad1848.o pss.o ad1848.o mpu401.o cs4232.o uart401.o ad1848.o mpu401.o uart6850.o v_midi.o btaudio.o/lib/modules/2.4.15-pre6/kernel/drivers/sound/
cp: will not overwrite just-created/lib/modules/2.4.15-pre6/kernel/drivers/sound/ad1848.o' withad1848.o'
cp: will not overwrite just-created/lib/modules/2.4.15-pre6/kernel/drivers/sound/cs4232.o' withcs4232.o'
cp: will not overwrite just-created/lib/modules/2.4.15-pre6/kernel/drivers/sound/ad1848.o' withad1848.o'
cp: will not overwrite just-created/lib/modules/2.4.15-pre6/kernel/drivers/sound/mpu401.o' withmpu401.o' make[2]: *** [_modinst__] Error 1
Quoted 8 lines
This hasn't been a problem with earlier version of
/bin/cp(upto fileutils-4.1-4.i386.rpm in RH7.2), but/bin/cpfrom fileutils-4.1.1-1.i386.rpm (in the Rawhide collection) is more pedantic about multiple copies of the same file.This patch works around this "feature". It would be better if the Makefiles were changed to only install modules once, but thats a deeper problem.
No, the fix is to upgrade to fileutils-4.1-4.i386.rpm. cp should not be complaining unless you ask it to. The default should be to do what you ask. For the same reason, cp does not have "cp -i" as the default behaviour.
Regards, Richard.... Permanent: [email protected] Current: [email protected]
Quoted 24 lines · Richard Gooch
Quoted 12 lines · John Ellson
linux-2.4.15-pre6, fileutils-4.1.1-1.i386.rpm
With my configuration (details not important), "make
modules_install" results in:mkdir -p
/lib/modules/2.4.15-pre6/kernel/drivers/sound/
cp soundcore.o sound.o cs4232.o ad1848.o pss.o ad1848.o mpu401.o cs4232.o uart401.o ad1848.o mpu401.o uart6850.o v_midi.o btaudio.o/lib/modules/2.4.15-pre6/kernel/drivers/sound/
cp: will not overwrite just-created/lib/modules/2.4.15-pre6/kernel/drivers/sound/ad1848.o' withad1848.o'
cp: will not overwrite just-created/lib/modules/2.4.15-pre6/kernel/drivers/sound/cs4232.o' withcs4232.o'
cp: will not overwrite just-created/lib/modules/2.4.15-pre6/kernel/drivers/sound/ad1848.o' withad1848.o'
cp: will not overwrite just-created/lib/modules/2.4.15-pre6/kernel/drivers/sound/mpu401.o' withmpu401.o'
make[2]: *** [_modinst__] Error 1Quoted 9 lines
This hasn't been a problem with earlier version of
/bin/cp(upto fileutils-4.1-4.i386.rpm in RH7.2), but/bin/cpfrom fileutils-4.1.1-1.i386.rpm (in the Rawhide collection) is more pedantic about multiple copies of the same file.This patch works around this "feature". It would be better if the Makefiles were changed to only install modules once, but thats a deeper problem.
Quoted 5 lines
No, the fix is to upgrade to fileutils-4.1-4.i386.rpm. cp should not be complaining unless you ask it to. The default should be to do what you ask. For the same reason, cp does not have "cp -i" as the default behaviour.
Unfortunately 4.1.1 comes after 4.1, so what you suggest is a downgrade.
If you want to argue with the fileutils maintainers, please go ahead. I'm just giving a heads-up to linux-kernel folks that this problem is coming and offering a work-around.
I could agree that any behavior change to a 30 year old utility is a bug, even if some argue that it is an improvement. However, this is not the place to argue about cp.
I'm more concerned about the Makefile bug that installs modules multiple times. Perhaps this is fixed by Eric's CML, in which case all that is needed is a work-around for a while.
John