The Swish-e package (http://swish-e.org) uses autoconf (etc) for its build and installation.
# Generated by GNU Autoconf 2.59.
In attempting to use this on a Solaris machine
% uname -a SunOS flora02 5.9 Generic_117171-05 sun4u sparc SUNW,Sun-Fire-V240
I encountered a peculiar problem, wherein some of the files got installed in the wrong directory. I have traced the problem down to a particular Makefile
.../build/filters/Makefile
This file defines a make variable:
nobase_perlmodule_SCRIPTS = \ Filters/Doc2txt.pm \ Filters/Pdf2HTML.pm \ Filters/ID3toHTML.pm \ Filters/XLtoHTML.pm
using it in assorted places. Although I cannot find any code that modifies the value of the variable, I found that it had gotten changed by the time it got to this code:
install-nobase_perlmoduleSCRIPTS: $(nobase_perlmodule_SCRIPTS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(perlmoduledir)
@list='$(nobase_perlmodule_SCRIPTS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f $$d$$p; then \
f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
f=`echo "$$p" | sed 's|[^/]*$$||'`"$$f"; \
echo " $(nobase_perlmoduleSCRIPT_INSTALL) $$d$$p [break]
$(DESTDIR)$(perlmoduledir)/$$f"; \
$(nobase_perlmoduleSCRIPT_INSTALL) $$d$$p [break]
$(DESTDIR)$(perlmoduledir)/$$f; \
else :; fi; \
done
[Note - I have added two line breaks above, for presentation.]
Inserting a trace statement into this code
@echo ">>> npS='$(nobase_perlmodule_SCRIPTS)'";
just above
@list='$(nobase_perlmodule_SCRIPTS)'; for p in ...
I found that the value of nobase_perlmodule_SCRIPTS had changed:
>>> npS='Filters/Doc2txt.pm
../../../swish-e-2.4.2/filters/SWISH/Filters/Pdf2HTML.pm [break]
../../../swish-e-2.4.2/filters/SWISH/Filters/ID3toHTML.pm [break]
Filters/XLtoHTML.pm'
Curiously, this behavior is not present under GNU make.
% gmake -v GNU Make version 3.79.1, by Richard Stallman and Roland McGrath. Built for sparc-sun-solaris2.5.1 ...
I'm running configure by means of the following script:
: # config_rdm - configure swish-e
CWD=`pwd` TGT='local' TGT='ltest' # DEBUG VER='2.4.2'
echo "CWD='$CWD', HOME='$HOME', TGT='$TGT', VER='$VER'"
../swish-e-$VER/configure \ --disable-shared \ --prefix=$HOME/$TGT \ CPPFLAGS=-I$HOME/$TGT/include \ LDFLAGS="-R$HOME/$TGT/lib -L$HOME/$TGT/lib"
It prints:
CWD='/afs/slac.stanford.edu/u/gl/rdm/swish-e/build' HOME='/u/gl/rdm', TGT='ltest', VER='2.4.2'
reflecting the fact that my home directory is known both as '/u/gl/rdm' and '/afs/slac.stanford.edu/u/gl/rdm'
I'm not a make wizard, but I'm willing to add other traces, send complete copies of files, and so forth if it will help in tracking down this problem.
-r
_______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf