hi,

something's fishy with the rddsql install target. right now as far as 
i can tell, it only manifests itself on sunos (where /bin/sh isn't 
quite the brightest spark in town), and on the surface is 
shell-related, but the cause looks to be lying deeper therein.

do find the relevant piece of the install log below (i've slightly 
modified instsh.mk so it coughs up the actual fragments it is about to 
execute).

it seems as if INSTALL_RULE was assembled more than once, once with 
INSTALL_FILES set to libsddpg.a, but at the next iteration 
INSTALL_FILES was empty. afaict this second iteration must somehow be 
happening inside instsh.mk, as it is protected to be evaluated with an 
empty install_files list.

the problem (symptom, really) is that while bash (and ksh, and dash, 
and zsh, and anything i could get my hands on momentarily) treat the 
following fragment:

for i in ; do
        ...
done

as a loop which should not be executed at all (as it has an empty list 
argument), whereas solaris' /bin/sh treats the empty list as an error.

i suspect that things go belly up upon entering contrib/, as at that 
point it looks as if the install rules (or at least some of them) 
were get evaluated twice, as in for example:

gmake[3]: `../../../../../lib/sunos/sunpro/libhbgt.a' is up to date.
! Installing ../../lib/sunos/sunpro/libhbgt.a on /tmp/hb/lib
gmake[3]: `../../../../../lib/sunos/sunpro/libhbmisc.a' is up to date.
! Installing ../../lib/sunos/sunpro/libhbmisc.a on /tmp/hb/lib
gmake[3]: `../../../../../lib/sunos/sunpro/libhbmzip.a' is up to date.
! Installing ../../lib/sunos/sunpro/libhbmzip.a on /tmp/hb/lib
! Installing ../../lib/sunos/sunpro/libhbmzip.a on /tmp/hb/lib
! Installing hbmzip.ch on /tmp/hb/include
gmake[3]: `../../../../../lib/sunos/sunpro/libhbnetio.a' is up to date.
! Installing ../../lib/sunos/sunpro/libhbnetio.a on /tmp/hb/lib
gmake[3]: `../../../../../lib/sunos/sunpro/libhbnf.a' is up to date.
! Installing ../../lib/sunos/sunpro/libhbnf.a on /tmp/hb/lib
! Installing ../../lib/sunos/sunpro/libhbnf.a on /tmp/hb/lib
! Installing ftmenuto.ch on /tmp/hb/include
! 'hbodbc' library skipped ('odbc' not found)
! 'hbsqlit3' library skipped ('sqlite3' not found)

this behaviour can be observed on linux too. notice that some items 
get installed twice, while some aren't.

this is the log fragment for the sddpg problem:

! 'sddmy' library skipped ('mysql' not found)
gmake[4]: `../../../../../../lib/sunos/sunpro/libsddpg.a' is up to date.
set -x; mkdir -p /tmp/hb/lib; if [ ! -d "/tmp/hb/lib" ]; then echo "! Can't 
install, path not found: '/tmp/hb/lib'" 1>&2; false; else for i in 
../../../lib/sunos/sunpro/libsddpg.a; do if [ -r "$i" ]; then echo "! 
Installing $i on /tmp/hb/lib"; cp -f $i /tmp/hb/lib; true; else echo "! Can't 
install $i, not found" 1>&2; fi done fi
+ mkdir -p /tmp/hb/lib 
+ [ ! -d /tmp/hb/lib ] 
+ [ -r ../../../lib/sunos/sunpro/libsddpg.a ] 
+ echo ! Installing ../../../lib/sunos/sunpro/libsddpg.a on /tmp/hb/lib 
! Installing ../../../lib/sunos/sunpro/libsddpg.a on /tmp/hb/lib
+ cp -f ../../../lib/sunos/sunpro/libsddpg.a /tmp/hb/lib 
+ true 
set -x; mkdir -p /tmp/hb/lib; if [ ! -d "/tmp/hb/lib" ]; then echo "! Can't 
install, path not found: '/tmp/hb/lib'" 1>&2; false; else for i in 
../../../lib/sunos/sunpro/libsddpg.a; do if [ -r "$i" ]; then echo "! 
Installing $i on /tmp/hb/lib"; cp -f $i /tmp/hb/lib; true; else echo "! Can't 
install $i, not found" 1>&2; fi done fi
+ mkdir -p /tmp/hb/lib 
+ [ ! -d /tmp/hb/lib ] 
+ [ -r ../../../lib/sunos/sunpro/libsddpg.a ] 
+ echo ! Installing ../../../lib/sunos/sunpro/libsddpg.a on /tmp/hb/lib 
! Installing ../../../lib/sunos/sunpro/libsddpg.a on /tmp/hb/lib
+ cp -f ../../../lib/sunos/sunpro/libsddpg.a /tmp/hb/lib 
+ true 
set -x; mkdir -p /tmp/hb/include; if [ ! -d "/tmp/hb/include" ]; then echo "! 
Can't install, path not found: '/tmp/hb/include'" 1>&2; false; else for i in   
; do if [ -r "$i" ]; then echo "! Installing $i on /tmp/hb/include"; cp -f $i 
/tmp/hb/include; true; else echo "! Can't install $i, not found" 1>&2; fi done 
fi
/bin/sh: syntax error at line 1: `;' unexpected
gmake[3]: *** [install] Error 2
gmake[2]: *** [sddpg.inst] Error 2
gmake[1]: *** [rddsql.inst] Error 2
make: *** [contrib.inst] Error 2


-- 
[-]

mkdir /nonexistent
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to