[mpich-discuss] MPICH make clean requires sudo and mucks with DESTDIR

Dave Goodell (dgoodell) dgoodell at cisco.com
Fri Aug 22 13:11:18 CDT 2014


On Aug 21, 2014, at 8:16 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

> 
> In the root Makefile is 
> 
> # we can only have one clean-local, so we hook into it via conditionally
> # defined variables in the dependencies section
> clean-local: $(CLEAN_LOCAL_TARGETS)
> 	rm -f ${DESTDIR}${bindir}/mpic++

I was curious if that was my fault as part of the build system rewrite, so I took a peek at his.  It looks like a bug from Pavan's commit in June 2012: http://git.mpich.org/mpich.git/commitdiff/cd88cf96

The commit he references in his commit was the build system overhaul: http://git.mpich.org/mpich.git/commit/4153c8f8680eeb09a80424f2cc787e799e8040a5

This is the relevant Makefile.sm that was present at the time of the overhaul: http://git.mpich.org/mpich.git/blob/5283393cd41ab38548477ef967f4205539d8e533:/src/env/Makefile.sm

It has this "rm -f" in a (simplemake-specific) "uninstall-postamble" target, which is rather different from a "clean-local" target.  This logic should probably be moved to an "uninstall-local" target instead.  I'm in favor adding an UNINSTALL_LOCAL_TARGETS parallel to the CLEAN_LOCAL_TARGETS pattern already in use, but that's a decision for the MPICH guys to make.

> I do not see how this could be correct, since 
> 
> 1) mucking with DESTDIR would require sudo for some configurations and make clean shouldn’t require sudo
> 
> 2) should make clean muck with DESTDIR anyways?
> 
> When I run make clean after a make install I do get an permissions error in trying to remove that link.

I agree, it is not correct.

-Dave




More information about the discuss mailing list