I ran jconsole in CentOS image in Docker and I got this error:

[root@8f75854deac7 /]# /usr/j/bin/jconsole
|noun result was required
|       0=1!:4 ::0:<f

Unfortunately J doesn't report where it happens. But ok, I've found it,
it's in system/main/regex.ijs:

NB. rxdll is in bin or tools/regex
3 : 0''
select. UNAME
case. 'Win' do. t=. 'jpcre.dll'
case. 'Darwin' do. t=. 'libjpcre.dylib'
case. 'Linux' do.
  if. 2 0-:('libpcreposix.so.3 dummyfunction n')&(15!:0) ::(15!:10) '' do.
    rxdll=: 'libpcreposix.so.3'
    jregcomp=: ('"',rxdll,'" pcreposix_regcomp + i *x *c i')&(15!:0)
    jregexec=: ('"',rxdll,'" pcreposix_regexec + i *x *c x *i i')&(15!:0)
    jregerror=: ('"',rxdll,'" pcreposix_regerror + x i * *c x')&(15!:0)
    jregfree=: ('"',rxdll,'" pcreposix_regfree + n *x')&(15!:0)
    '' return.
  end.
case. do. t=. 'libjpcre.so'
end.

f=. BINPATH,'/',t
if. 0 = 1!:4 :: 0: <f do.

If there's no 'libpcreposix.so.3' where J expects it to be, it fails: 't'
is not assigned etc etc.
Actually there's some libpcreposix in the image, e.g.
'/usr/lib64/libpcreposix.so.0'. In my case, just changing 'so.3' to 'so.0'
fixed the error.

Anyway it would be nice to have a bit better error diagnostics.

Thank you.

Georgiy Pruss
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to