The .paths feature doesn't work with ast-open-2014-09-29, although
it appears that it hasn't been working at least since ksh-20120612. I
can't get it to work until I go back to ksh-20081104. The following
illustrates what I mean:
$ IFS=:
$ set -- $PATH
$ IFS=,
$ ls {"$*"}/.paths 2>&-
/opt/ast/bin/.paths
$ IFS=''
$ ls -ld /opt /opt/ast /opt/ast/bin /opt/ast/bin/.paths
drwxrwxr-t 27 bin bin 986 Dec 17 2013 /opt
drwxrwxr-x 8 root bin 272 Dec 9 01:04 /opt/ast
drwxr-xr-x 185 bin bin 6290 Dec 19 23:37 /opt/ast/bin
-r-xr-xr-x 1 bin bin 109 Dec 6 20:48
/opt/ast/bin/.paths
$ cat /opt/ast/bin/.paths
# use { no NO } prefix to permanently disable #
BIN=1
noPLUGIN_LIB=cmd
FPATH=../fun
DYLD_LIBRARY_PATH=../lib
$ ls -la /opt/ast/fun
total 40
drwxr-xr-x 7 bin bin 238 Dec 9 01:00 .
drwxrwxr-x 8 root bin 272 Dec 9 01:04 ..
-r-xr-xr-x 1 bin bin 793 Dec 6 20:59 cosh
-r-xr-xr-x 1 bin bin 2259 Dec 6 21:10 dirs
-r-xr-xr-x 1 bin bin 2508 Dec 6 21:10 popd
-r-xr-xr-x 1 bin bin 2508 Dec 6 21:10 pushd
-r-xr-xr-x 1 bin bin 928 Dec 6 20:59 title
$ print ${.sh.version}
Version ABIJM 93v- 2014-09-29
$ dirs
ksh: dirs: not found [No such file or directory]
$ print "DYLD_LIBRARY_PATH=\"$DYLD_LIBRARY_PATH\""
DYLD_LIBRARY_PATH=""
$ whence ratz
/opt/ast/bin/ratz
$ ratz --?
dyld: Library not loaded: libast.dylib.5.4
Referenced from: /opt/ast/bin/ratz
Reason: image not found
Trace/BPT trap
$ ksh-20120612
$ print ${.sh.version}
Version AJM 93u+ 2012-06-12
$ dirs
ksh: dirs: not found [No such file or directory]
$ print "DYLD_LIBRARY_PATH=\"$DYLD_LIBRARY_PATH\""
DYLD_LIBRARY_PATH=""
$ whence ratz
/opt/ast/bin/ratz
$ ratz --?
dyld: Library not loaded: libast.dylib.5.4
Referenced from: /opt/ast/bin/ratz
Reason: image not found
Trace/BPT trap
$ exit
$ ksh-t
$ print ${.sh.version}
Version M 93t 2008-11-04
$ dirs
1) ~
$ print "DYLD_LIBRARY_PATH=\"$DYLD_LIBRARY_PATH\""
DYLD_LIBRARY_PATH=""
$ whence ratz
/opt/ast/bin/ratz
$ ratz --?
Usage: ratz [ options ]
OPTIONS
-c, --cat|uncompress
Uncompress the standard input and copy it to the
standard output.
-l, --local Reject files that traverse outside the current
directory.
-m, --meter Display a one line text meter showing archive read
progress.
-n, --convert In ebcdic environments convert text archive
members from ascii to the native ebcdic. On by
default; -n means --noconvert.
-t, --list List each file path on the standard output but do
not extract.
-v, --verbose List each file path on the standard output as it
is extracted.
-V Print the program version and exit.
$ exit
I have been unknowingly skirting this issue by explicitly exporting
DYLD_LIBRARY_PATH=/opt/ast/lib in my .profile (I unset DYLD_LIBRARY_PATH
before running the example above). For those in the community who are
not familiar with Mac OS X, DYLD_LIBRARY_PATH is a Mac-OS-X-specific
setting. Most other Unix dialects use simply LIBRARY_PATH.
Terrence Doyle
_______________________________________________
ast-users mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-users