> It is correct that deb does not contain libjpcre because deb intended to > use stock libpcre. the value of jregcomp is incorrect. I cannot test on > raspi right now, please see the init part of the source of jregex why it > could not pick up the stock libpcre.
It turns out that the selection of the wrong jregcomp (and others) does not happen in the init.ijs part of the regex sources but in the defs.ijs part. In system/main/regex.ijs, line 106 or, source-wise, line 11 in http://www.jsoftware.com/wsvn/base8/trunk/main/regex/defs.ijs?op=blame&rev=200 the check if. (0~:FHS) *: 'Linux'-:UNAME do. incorrectly selects the "then." case. I'm running stock Debian-"Wheezy" on my ARM board, I have UNAME -: 'Linux' NB. looks good to me FHS -: 0 NB. not so sure It took me a few hours to find where "FHS" is initialized: $ strings ijconsole | grep FHS [FHS_z_=:0 [FHS_z_=:1 $ strings libjqt.so | grep FHS [FHS_z_=:0 [FHS_z_=:1 It's sole documentation (as finally found in: http://www.jsoftware.com/wsvn/base8/trunk/main/main/sysenv.ijs http://jsoftware.com/help/user/lib_sysenv.htm): NB.*FHS n filesystem hierarchy: 0=not used 1=linux is not really clear to me. Assuming that "FHS" stands for "system obeys the Filesystem Hierarchy Standard" I provided a "FHS_z_=:1" definition using jprofilex.ijs. This was good for the jconsole but not for jqt. (I will probably NEVER understand the contortions J is going through during startup.) So as of now, I'm essentially forcing the if. check above into a FALSE, making regexps (and the "J by Point and Click" lab) work. And speaking of contortions: My feeble mind easily gets headaches from the NAND of an NON-ZERO and something. I suggest to resolve the nested negatives in [1]: if. (0~:FHS) *: 'Linux'-:UNAME do. A else. B end. into this equivalent form [2]: if. FHS *. 'Linux'-:UNAME do. B else. A end. And, given the "NB.*FHS" definition above, it makes me wonder if that shouldn't be simplified to [3]: if. 'Linux'-:UNAME do. B else. A end. FWIW, J Rel. 7 and 8.02 on debian-amd64 have FHS at 0, too, but have the libjpcre shared lib provided. As of now, I'm asking myself which platform *ever* used the "B" case, i.e. a libpcreposix.so.3 provided by the OS. Ah, the SVN history can explain that: prior to the current if. (0~:FHS) *: 'Linux'-:UNAME do. Rev. 82 blam, 2013-11-23 it was : if. (0=FHS) > 'Linux'-:UNAME do. Rev. 76 blam, 2013-11-17 This would always (well, for a week) choose the "else" part on Linuxen. The new 2015-07-26 .deb doesn't change anything. (If I did the "diff -r" correctly, only the ijconsole binary was different. It would be really helpful to announce more specific remarks what is supposed to be different in new beta builds.) Martin ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
