[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-apl] Workspace and wslib? search path
From: |
Frederick Pitts |
Subject: |
Re: [Bug-apl] Workspace and wslib? search path |
Date: |
Mon, 26 Jun 2017 10:27:16 -0500 |
Hello Jürgen,
My bad. In my original post, I should have typed `)load' where I typed ')lib'. Thanks for the detailed reply. I can
)save and )load workspaces now.
But I'm still confused about the following three sentences from `apl.html':
If an environment variable APL_LIB_ROOT is defined, then its value is used as library-root. Otherwise the path from the current directory (".") up to the root directory ("/") is searched until a directory containing two files ’workspaces’ and ’wslib1’ is found. Normally ’workspaces’ and ’wslib1’are directories, but for the computation of library-root files suffice.
This passage plus your explanation implies to me that if APL_LIB_ROOT is unset and there are no overrides in the preference
files, an attempt is made to determine the library-root by searching from the current directory '.' up to the root directory '/', stopping when the two directories or files `workspaces' and `wslib1' are found in the same directory. If this mechanism were to work the way I interpret the passage, as long as one works in subdirectories below one's library-root directory, the 0 .. 9 library numbers are meaningful without having to set APL_LIB_ROOT or preference override entries. And one would not have to use paths on the )lib and )load commands.
Regards,
Fred
On Mon, 2017-06-26 at 12:11 +0200, Juergen Sauermann wrote:
Hi Fred,
conceptually the )libs command shows the directories that
will be used
for the different library numbers (ranging from 0-9 with 0 being
the default
library number of none is given).
The other (non-library number) argument of the lib command is a
directory, and
to be distinguished from a library reference number it should
contain a /.
I suppose the first thing going wrong in your examples below is
that the )lib argument
seems to be a workspace name while the )lib command
expects either a library reference
number like 0..9 or the path to a directory.
So if ../workspaces/
contains workspace plotsincos.xml then the command
)lib ../workspaces
should display it. For example:
)host pwd
/home/eedjsa/projects/juergen/apl-1.7/src
0
)lib ../
autom4te.cache/ debian/ debian_tmp/
devel_doc/
doc/ erlang/ ftp-upload/
gnu-apl.d/
html/ m4/ rpm/ src/
support-files/ tools/ web-home/
workspaces/
wslib1/ wslib2/ wslib3/ wslib4/
wslib5/
)lib ../workspaces
APL_CGI LSQRL RU1 RU2
RUBIK SCRIPT
ScalarBenchmark XSudoku sudoku sudoku_DLX
test tt
Now the locations of library directories can be specified in
different ways. The library root mechanism
assumes a single directory that contains (at least) two
subdirectories named workspaces and wslib1.
These names come from the IBM APL2 interpreter which is using a
similar scheme (but without giving
any rules for it).
GNU APL starts with this library root scheme, but each directory
can be overridden by either the system's
preference file and/or the user's preference file. the )LIBS
command then tells how the library paths for
the different library reference numbers were computed. For
example:
---------------------------------------------------------------------------
Ref Conf
Path State
Err
---------------------------------------------------------------------------
0 BIN
/home/eedjsa/projects/juergen/apl-1.7/src/workspaces present
1 BIN
/home/eedjsa/projects/juergen/apl-1.7/src/wslib1 present
2 BIN
/home/eedjsa/projects/juergen/apl-1.7/src/wslib2 missing
(2)
3 PSYS
/usr/local/lib/apl/wslib3 present
4 PSYS
/usr/local/lib/apl/wslib4 present
5 PSYS
/usr/local/lib/apl/wslib5 present
6 BIN
/home/eedjsa/projects/juergen/apl-1.7/src/wslib6 missing
(2)
7 BIN
/home/eedjsa/projects/juergen/apl-1.7/src/wslib7 missing
(2)
8 BIN
/home/eedjsa/projects/juergen/apl-1.7/src/wslib8 missing
(2)
9 BIN
/home/eedjsa/projects/juergen/apl-1.7/src/wslib9 missing
(2)
===========================================================================
This tells us that libraries 3, 4, and 5 were specified by PSYS
(system preferences file, e.g.
/usr/local/etc/gnu-apl.d/preferences) while the others are
computed from the current directory (BIN).
The State and Err columns tell if the directory is accessible and
the errno if not.
If I remember correctly then the )lib command wants either a
library reference number (0-9) or a
path, but not both. If it fails, then )more tells which directory
was tried (I fixed the spelling mistake)
and the strerror(errno) of the failed operation:
)lib xxx
IMPROPER LIBRARY REFERENCE 'xxx': No such file or
directory
)more
path 'xxx' could not be openend as directory: No such
file or directory
Best Regards,
/// Jürgen
On 06/26/2017 06:07 AM, Frederick Pitts
wrote:
Hello Jürgen,
The apl.html doc indicates that if environment variable
APL_LIB_ROOT is not defined, the subject search path will be from the
current directory '.' up to the root directory '/' stopping when a
directory containing two directories ’workspaces’ and ’wslib1’ is
found.
The above does not work on my platform, Fedora 25. For
instance, 'plotsincos.xml' is in ../workspaces relative the current
directory.
)lib plotsincos
yields
IMPROPER LIBRARY REFERENCE 'plotsincos': No such file or directory
and
)lib 0 plotsincos
yields
IMPROPER LIBRARY REFERENCE '0': No such file or directory.
Is this a bug or has the feature been removed and the documentation is
out of date.
A related question is if the feature were to work correctly,
would the )libs command use the feature so its output reflects the
location of the library directory paths that will be used by the )lib
command. Currently, it does not.
Regards,
Fred
- [Bug-apl] Workspace and wslib? search path, Frederick Pitts, 2017/06/26
- Re: [Bug-apl] Workspace and wslib? search path, Juergen Sauermann, 2017/06/26
- Re: [Bug-apl] Workspace and wslib? search path,
Frederick Pitts <=
- Re: [Bug-apl] Workspace and wslib? search path, Juergen Sauermann, 2017/06/26
- Re: [Bug-apl] Workspace and wslib? search path, Frederick Pitts, 2017/06/26
- Re: [Bug-apl] Workspace and wslib? search path, Juergen Sauermann, 2017/06/26
- Re: [Bug-apl] Workspace and wslib? search path, Frederick Pitts, 2017/06/26
- Re: [Bug-apl] Workspace and wslib? search path, Juergen Sauermann, 2017/06/26
- Re: [Bug-apl] Workspace and wslib? search path, Leslie S Satenstein, 2017/06/26