NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

toolchain/45367: build error due to exec-bit missing for shell script



>Number:         45367
>Category:       toolchain
>Synopsis:       build error due to exec-bit missing for shell script
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    toolchain-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Sep 14 15:50:00 +0000 2011
>Originator:     Grégoire Sutre
>Release:        
>Organization:
>Environment:
Linux yosemite 3.0.0-1-amd64 #1 SMP Sat Aug 27 16:21:11 UTC 2011 x86_64 
GNU/Linux

>Description:
Extracting -current source sets obtained from

http://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/201109131640Z/source/sets/

and running building tools gives:

$ ./build.sh -U -m amd64 tools
/bin/sh ./libtool --tag=CC    --mode=compile cc -std=gnu99 -DHAVE_CONFIG_H -I. 
-I/tmp/src/tools/gmp/../../external/lgpl3/gmp/dist -D__GMP_WITHIN_GMP     -O2 
-pedantic -m64 -mtune=core2 -march=core2 -c -o tal-reent.lo 
/tmp/src/tools/gmp/../../external/lgpl3/gmp/dist/tal-reent.c
libtool: compile:  cc -std=gnu99 -DHAVE_CONFIG_H -I. 
-I/tmp/src/tools/gmp/../../external/lgpl3/gmp/dist -D__GMP_WITHIN_GMP -O2 
-pedantic -m64 -mtune=core2 -march=core2 -c 
/tmp/src/tools/gmp/../../external/lgpl3/gmp/dist/tal-reent.c -o tal-reent.o
nbmake: don't know how to make mpn/add_n.lo. Stop

nbmake: stopped in /tmp/src/tools/gmp/obj/build

*** Failed target:  all-recursive
*** Failed command: fail= failcom='exit 1'; for f in x $MAKEFLAGS; do case $f 
in *=* | --[!k]*);; *k*) failcom='fail=yes';; esac; done; dot_seen=no; 
target=`echo all-recursive | sed s/-recursive//`; list='tests mpn mpz mpq mpf 
printf scanf cxx mpbsd demos tune doc'; for subdir in $list; do echo "Making 
$target in $subdir"; if test "$subdir" = "."; then dot_seen=yes; 
local_target="$target-am"; else local_target="$target"; fi; 
(CDPATH="${ZSH_VERSION+.}:" && cd $subdir && 
/tmp/src/obj/tooldir.Linux-3.0.0-1-amd64-x86_64/bin/nbmake -f 
/tmp/src/tools/gmp/../Makefile.gnuwrap $local_target) || eval $failcom; done; 
if test "$dot_seen" = "no"; then 
/tmp/src/obj/tooldir.Linux-3.0.0-1-amd64-x86_64/bin/nbmake -f 
/tmp/src/tools/gmp/../Makefile.gnuwrap "$target-am" || exit 1; fi; test -z 
"$fail"
*** Error code 1


Increasing verbosity (-N 4) shows:

../libtool: 2: eval: 
/tmp/src/tools/gmp/../../external/lgpl3/gmp/dist/mpn/m4-ccas: Permission denied


Indeed, the file src/external/lgpl3/gmp/dist/mpn/m4-ccas is executable when 
obtained by cvs, but, in the src.tgz source set, its permissions are

-rw-rw-r-- root/wsrc      2382 2011-06-20 07:54 
usr/src/external/lgpl3/gmp/dist/mpn/m4-ccas

>How-To-Repeat:
Extracting -current source sets obtained from

http://nyftp.netbsd.org/pub/NetBSD-daily/HEAD/<timestamp>/source/sets/

and run: ./build.sh -U tools

>Fix:
The following patch fixes this issue by prefixing the call to the script
with $(SHELL).  This is inspired from the commit

http://mail-index.netbsd.org/netbsd-bugs/2008/10/12/msg006466.html

that solved a similar issue.


diff -Naur src/external/lgpl3/gmp/dist/mpn/Makefile.in 
src.new/external/lgpl3/gmp/dist/mpn/Makefile.in
--- src/external/lgpl3/gmp/dist/mpn/Makefile.in 2011-06-20 07:54:38.000000000 
+0200
+++ src.new/external/lgpl3/gmp/dist/mpn/Makefile.in     2011-09-14 
17:08:30.261315615 +0200
@@ -1022,7 +1022,7 @@
        $(CCAS) $(COMPILE_FLAGS) tmp-$*.s -o $@
        $(RM_TMP) tmp-$*.s
 .asm.lo:
-       $(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/mpn/m4-ccas 
--m4="$(M4)" $(CCAS) $(COMPILE_FLAGS) `test -f '$<' || echo '$(srcdir)/'`$<
+       $(LIBTOOL) --mode=compile --tag=CC $(SHELL) $(top_srcdir)/mpn/m4-ccas 
--m4="$(M4)" $(CCAS) $(COMPILE_FLAGS) `test -f '$<' || echo '$(srcdir)/'`$<
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.



Home | Main Index | Thread Index | Old Index