oop! I meant
fhs logic for running jqt is
FHS=: -.fexist BINPATH,'/libjqt.so'
On Jul 28, 2015 7:49 AM, "bill lam" <[email protected]> wrote:
> fhs logic for running jqt is
> FHS=: fexist BINPATH,'/libjqt.so'
> BINPATH is the folder containing the frontend, jqt executable. so that if
> you put both libjqt.so and libj.so.8.0.4 in linux default lib search path
> or LD_LIBRARY_PATH. then both libjqt and libj will be loaded, the error 25
> is the error number from j engine,
>
> 24{ 9!:8'' NB. 0 is not an error
> ┌───────────────┐
> │file name error│
> └───────────────┘
>
> which should mean it could not load profile.ijs. For FHS, the profile is
> expected to be /etc/j/8.0.4/profile.ijs
>
> BTW I'm puzzled by the location of your install. Running dpkg -i on the
> deb file should create
> /usr/bin/ijconsole
> and copy libj.so.8.0.4 to
> folder undet /usr/lib/....
> and create a folder
> /etc/j/8.0.4 with profile.ijs inside
>
> Did you just uncompress the deb instead of running dpkg -i ?
>
> the steps to run both ijconsole and jqt on /usr/... are
> 1. sudo dpkg -i deb file
> 2. decompress the jqt tar file.
> 3. sudo cp jqt exectable file to /usr/bin
> 4. sudo cp libjqt.so to /usr/lib/...
>
> may need sudo chmod on jqt or libjqt.so
>
> addons folder will be under /usr so that you also need sudo to run pacman.
>
> On Jul 28, 2015 5:04 AM, <[email protected]> wrote:
> >
> > Hi Bill,
> >
> > 50% progress,
> >
> > > If ijconsole and libj.so.8.0.4 are installed folders eg /usr/bin and
> > > /usr/lib then FHS=1 otherwise it will be regarded as an old single
> folder,
> > > single user.
> > >
> > > the condition should be
> > > if. -. (0~:FHS) *. 'Linux'-:UNAME do.
> > > A
> > > else.
> > > B
> >
> > Since x *: y <--> -. x *. y this is not really any change.
> >
> > But your explanation
> >
> > >Yes, FHS for debianization, separating bin and lib folders.
> >
> > made me make a succesful experiment: I remembered that I had to
> > provide a symlink
> >
> > ~/j804/usr/bin/libj.so -> ../lib/arm-linux-gnueabihf/libj.so.8.0.4
> >
> > for running jqt [see below]. Apparently the presence of the symlink
> > triggers a FHS=:0 initialization. Removing the libj.so symlink from
> > the bin dir will make run jconsole OK:
> >
> > - the lib is found, because I invoke ijconsole through a
> > one-line shell wrapper priming $LD_LIBRARY_PATH,
> > - FHS will be initialized to 1,
> > - regex will work just fine.
> >
> >
> > The reason for creating the symlink in first place is that jqt
> > requires it. Even though I invoke it through much the nsame wrapper:
> >
> > #!/bin/sh
> > LD_LIBRARY_PATH=~/j804/usr/lib/arm-linux-gnueabihf ~/j804/usr/bin/jqt
> "$@"
> >
> > it would *not* locate libj.so (nor libj.so.8.0.4):
> >
> > $ jqt804
> > Load library /home/neitzel/j804/usr/bin/libj.so failed.
> > $
> >
> > The initial attempt to have libjqt.so (i.e., all both libs) in
> > the lib dir resulted in the obscure error message
> >
> > j first line error: "25"
> >
> > when running jqt804. Back then I had to strace(1)d jqt to find out
> > that the reason for this message was the hard-wired lookup of libjqt.so
> > just in the "bin" dir.
> >
> > Summary:
> > - for running jconsole, the libj.so symlink is harmful.
> > - for running jqt, the libj.so symlink is required.
> >
> > Martin
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm