Ticket #109 (defect)

Opened 2 years ago

Last modified 2 years ago

"make distcheck" fails on MSYS because of "ln -s" in usrp/firmware/src/usrp2/Makefile.am

Status: closed (fixed)

Reported by: dward Assigned to: jcorgan
Priority: normal Milestone: release-3.0.3
Component: build Version: 3.0svn
Keywords: Cc:

make distcheck fails on MSYS in usrp/firmware/srp/usrp2/Makefile

.a51.rel:
	test -f `basename '$<'` || ln -s '$<' .
	test -f ../common/`basename '$<'` -o \
		\! -f `dirname '$<'`/../common/`basename '$<'` \
		|| ln -s `dirname '$<'`/../common/`basename '$<'` ../common/.

because the MSYS emulation of symbolic links fails for the case of

ln -s file dir

(except in the special case where dir is ".").

The MSYS developers' proposed workaround is to detect (in configure) when the above construct fails and assign cp -p (instead of ln -s) to the variable $LN_S (see http://thread.gmane.org/gmane.comp.gnu.mingw.user/19363/focus=19470). The documentation on LN_S (see http://www.gnu.org/software/autoconf/manual/html_node/Particular-Programs.html) recommends that it be used in the target directory; used in this way, the MSYS workaround is unneccessary.

I suggest that LN_S be used in place of ln -s, and that it be used as recommended in http://www.gnu.org/software/autoconf/manual/html_node/Particular-Programs.html. This should fix the problem with MSYS. A simpler solution would be to simply include the filename as part of the destination.

Change History

11/30/06 09:05:16: Modified by jcorgan

  • status changed from new to assigned.
  • milestone changed from to-be-decided to release-3.0.3.

11/30/06 11:43:51: Modified by jcorgan

11/30/06 17:11:40: Modified by jcorgan

  • status changed from assigned to closed.
  • resolution set to fixed.

Fixed on trunk in r4046.