I have not checked the rest of the doc but the installation doc is not clear at all about running on MVS. For one thing, it does show any actual batch jcl example. The doc indicates that the LUACONF member should be in a separate dataset but does not state how to specify it in relation to the SAMPLIB or dataset containing the actual scripts to be executed. It makes it look like the script PDS dsname should be passed as a parm instead of in the LUA DD. It is not clear that both LUACONF and the SCRIPT name to be executed can be specified in a single LUA DD.
-----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of David Crayford Sent: Thursday, October 23, 2014 1:39 PM To: [email protected] Subject: Re: [ANN] Lua4z: the Lua programming language on z/OS, with batteries On 24/10/2014 1:30 AM, Barkow, Eileen wrote: > Also ran HELLO > > So it appears that the LUACONF member just has to be in the same dataset as > the script to be run, not a separate CONF dataset. That's correct. Lua was born as a configuration language so we chose to use a LUACONF member as part of the bootstrap. If the doc isn't clear on this please let me know. > > //LUA EXEC PGM=LUA,PARM=HELLO > //STEPLIB DD DSN=XCICS.LUA4Z.LOADLIB,DISP=SHR > //*UA DD DSN=XCICS.LUA4Z.CONF,DISP=SHR > //LUA DD DSN=XCICS.LUA4Z.SAMPLIB,DISP=SHR > ********************* > Hello, World! > > **************** > > > BROWSE XCICS.LUA4Z.SAMPLIB(LUACONF) - 01.00 Line 00000000 Col 001 > 080 > Command ===> Scroll ===> > PAGE > ********************************* Top of Data > ********************************** > LUA_HOME="/u/eileen/j15/lua" > ******************************** Bottom of Data > ******************************** > > > -----Original Message----- > From: IBM Mainframe Discussion List [mailto:[email protected]] On > Behalf Of Barkow, Eileen > Sent: Thursday, October 23, 2014 1:25 PM > To: [email protected] > Subject: Re: [ANN] Lua4z: the Lua programming language on z/OS, with batteries > > I am waiting for the LUA4Z.LOADLIB to be added to linklist. > I do not have access to the ISPF command tables. > > HOWEVER, > This job worked in batch. > I put the LUACONF member in LUA4Z.SAMPLIB and ran this: > > //LUA EXEC PGM=LUA,PARM=IVP > //STEPLIB DD DSN=XCICS.LUA4Z.LOADLIB,DISP=SHR > //*UA DD DSN=XCICS.LUA4Z.CONF,DISP=SHR > //LUA DD DSN=XCICS.LUA4Z.SAMPLIB,DISP=SHR > > ***OUTPUT****************************** TOP OF DATA > ********************************** > Lua4z installation verification procedure (IVP) > Checking LUA_PATH configuration: passed > Checking LUA_CPATH configuration: passed > Test results: > 2 passed > 0 failed > Success: all tests passed. > > > ******************************** BOTTOM OF DATA > ******************************** > > -----Original Message----- > From: IBM Mainframe Discussion List [mailto:[email protected]] On > Behalf Of David Crayford > Sent: Thursday, October 23, 2014 12:10 PM > To: [email protected] > Subject: Re: [ANN] Lua4z: the Lua programming language on z/OS, with batteries > > On 23/10/2014 11:59 PM, Barkow, Eileen wrote: >> I got passed the LUA DD but cannot read the SAMPLIB >> >> FREE FI(LUA) >> IKJ56247I FILE LUA NOT FREED, IS NOT ALLOCATED ALLOC FI(LUA) >> DA('XCICS.LUA4Z.CONF') SHR CALL 'XCICS.LUA4Z.LOADLIB(LUA)' >> 'XCICS.LUA4Z.SAMPLIB(IVP)' >> lua: cannot open //DD:LUA(xcics.lua4z.samplib(ivp)): EDC5047I An >> invalid file name was specified as a function parameter. >> (errno2=0xC00B028E) FREE FI(LUA) >> *** > A TSO call will not do the trick. You have to use the Lua launcher. The > SAMPLIB contains a ready to go ISPF command table to put into USRxCMDS or > SITECMDS etc. > > To invoke Lua try the following: > > If you have installed the command table into your ISPTLIB then simply: > > LUA IVP > > otherwise, If you have allocated the LUA DD then: > > TSO LUA IVP > > if the LUA DD is not allocated you can specify the qualifieid data set: > > TSO LUA "//'XCICS.LUA4Z.SAMPLIB(IVP)'" > >> FREE FI(LUA) >> IKJ56247I FILE LUA NOT FREED, IS NOT ALLOCATED ALLOC FI(LUA) >> DA('XCICS.LUA4Z.CONF') SHR CALL 'XCICS.LUA4Z.LOADLIB(LUA)' >> "//'XCICS.LUA4Z.SAMPLIB(IVP)'" >> IKJ56712I INVALID KEYWORD, "//'XCICS.LUA4Z.SAMPLIB(IVP)'" >> *** >> >> -----Original Message----- >> From: IBM Mainframe Discussion List [mailto:[email protected]] >> On Behalf Of David Crayford >> Sent: Thursday, October 23, 2014 11:50 AM >> To: [email protected] >> Subject: Re: [ANN] Lua4z: the Lua programming language on z/OS, with >> batteries >> >> On 23/10/2014 11:35 PM, Barkow, Eileen wrote: >>> Ignore this - the DD should be LUACONF, not LUA >> Nope! The DD should be LUA and the member name should be LUACONF. >> >>> -----Original Message----- >>> From: Barkow, Eileen >>> Sent: Thursday, October 23, 2014 11:33 AM >>> To: 'IBM Mainframe Discussion List' >>> Subject: RE: [ANN] Lua4z: the Lua programming language on z/OS, with >>> batteries >>> >>> Thanks again for the info. I will try to do without linklist for now. >>> >>> I tried to set up the LUACONF member as documented and get this error: >>> >>> And the parm "//'SYS1.SAMPLIB(IVP)'" is not accepted by the system. >>> >>> FREE FI(LUA) >>> IKJ56247I FILE LUA NOT FREED, IS NOT ALLOCATED >>> ALLOC FI(LUA) DA('XCICS.LUA4Z.CONF') SHR >>> CALL 'XCICS.LUA4Z.LOADLIB(LUA)' 'XCICS.LUA4Z.SAMPLIB(IVP)' >>> PANIC: unprotected error in call to Lua API (LUACONF: Error >>> running configurati on file: //DD:LUA(LUACONF):1: unexpected >>> symbol near '00010001') >>> FREE FI(LUA) >>> *** >>> >>> >>> I tried no quotes and single quotes and get the same error above. >>> Also tred LUA_HOME = "..." with spaces as shown >>> >>> BROWSE XCICS.LUA4Z.CONF(LUACONF) - 01.01 >>> Command ===> >>> ********************************* Top of Data * >>> LUA_HOME="/u/eileen/j15/lua" >>> ******************************** Bottom of Data >>> >>> >>> -----Original Message----- >>> From: IBM Mainframe Discussion List [mailto:[email protected]] >>> On Behalf Of David Crayford >>> Sent: Thursday, October 23, 2014 10:36 AM >>> To: [email protected] >>> Subject: Re: [ANN] Lua4z: the Lua programming language on z/OS, with >>> batteries >>> >>> Unfortunately that's not possible. Lua4z is a C/C++ XPLINK application and >>> it requires a PO library so a PDSE is mandatory. >>> >>> I understand your position but XPLINK is the build and it results in much >>> faster code. I know you probably already know this but you can always >>> dynamically add a PDSE to the linklist. >>> >>> On 23/10/2014 10:25 PM, Barkow, Eileen wrote: >>>> Here is another thing I never saw before. >>>> >>>> I do not have a PDSE in linklist (that I can use) so I am trying to copy >>>> the LUA4Z.LOADLIB modules into a regular pds and get this error. >>>> I do not want to have another linklist lib added for this product and was >>>> always able to copy PDSE load modules into PDS's. >>>> Is there any way to copy the LUA4Z.LOADLIB modules into a regular PDS? >>>> >>>> IEW2606S 4B39 MODULE INCORPORATES VERSION 3 PROGRAM OBJECT FEATURES AND >>>> CANNOT >>>> BE SAVED IN LOAD MODULE FORMAT. >>>> IEW2606S 4B39 MODULE INCORPORATES VERSION 3 PROGRAM OBJECT FEATURES >>>> AND CANNOT >>>> BE SAVED IN LOAD MODULE FORMAT. >>>> IEW2606S 4B39 MODULE INCORPORATES VERSION 3 PROGRAM OBJECT FEATURES >>>> AND CANNOT >>>> BE SAVED IN LOAD MODULE FORMAT. >>>> *** >>>> >>>> >>>> >>>> >>>> >>>> -----Original Message----- >>>> From: IBM Mainframe Discussion List >>>> [mailto:[email protected]] On Behalf Of David Crayford >>>> Sent: Thursday, October 23, 2014 9:49 AM >>>> To: [email protected] >>>> Subject: Re: [ANN] Lua4z: the Lua programming language on z/OS, with >>>> batteries >>>> >>>> On 23/10/2014 9:36 PM, Barkow, Eileen wrote: >>>>> You need to enter the y in lower case - otherwise those dataset errors >>>>> occur. >>>> I have now changed the installation script to fold all input to upper case. >>>> >>>>> I am not up to snuff on UNIX lately and do not understand what the ? in >>>>> the environment variables mean. >>>>> They did work when I added them to my profile, but I never saw this >>>>> syntax before: >>>>> >>>>> export LUA_PATH="./?.lua;\ >>>>> $LUA_HOME/share/lua/5.1/?.lua;\ >>>>> $LUA_HOME/share/lua/5.1/?/init.lua;\ >>>>> $LUA_HOME/lib/lua/5.1/?.lua;\ >>>>> $LUA_HOME/lib/lua/5.1/?/init.lua;\ >>>>> //DD:LUA(?)" >>>> The ? is a placeholder for the module name. So if you do the >>>> following >>>> >>>> local m = require "test" it will replace "?" with "test" in the search >>>> path. The //DD:LUA(?) will resolve to //DD:LUA(TEST) so if you are running >>>> in TSO or batch it will load the module for a PDS(E) allocated to a DDname >>>> of LUA. >>>> >>>> If you are running native then my suggestion is to set LUA_HOME in the >>>> LUACONF member to make your life easier >>>> http://lua4z.com/doc/manual/install.md.html. >>>> >>>>> -----Original Message----- >>>>> From: IBM Mainframe Discussion List >>>>> [mailto:[email protected]] On Behalf Of David Crayford >>>>> Sent: Thursday, October 23, 2014 9:24 AM >>>>> To: [email protected] >>>>> Subject: Re: [ANN] Lua4z: the Lua programming language on z/OS, >>>>> with batteries >>>>> >>>>> On 23/10/2014 8:42 PM, John McKown wrote: >>>>>> Well, I got it installed. I ran into a "problem" with the >>>>>> ./lua4z-1.0.0.bin when I ran it a second time. The first time, it >>>>>> said it couldn't find the PDSEs (LOADLIB and SAMPLIB) and did I >>>>>> want to define them? All is good. I reply "Y" and they are allocated. >>>>>> When I ran the script a second time, it did the same. It did _not_ >>>>>> properly detect that the PDSEs existed. It tried to allocate them >>>>>> again, and I got error messages from that allocation. The script >>>>>> continued to run. >>>>>> All in all, I got what I needed, but it seems to point out a >>>>>> problem with the installation script. Oh, I entered the data set >>>>>> names in lower case, which might be the problem. >>>>> Many thanks for testing this John. Good catch! >>>>> >>>>>> The lua4z/examples/ivp.lua fails when I run it from my UNIX shell. >>>>>> >>>>>> ==== >>>>>> >>>>>> LIH1:TSH009:/HM/lua4z/examples$ >>>>>> lua ivp.lua >>>>>> Lua4z installation verification procedure (IVP) >>>>>> >>>>>> Checking LUA_PATH configuration: passed Checking LUA_CPATH >>>>>> configuration: failed >>>>>> >>>>>> Test results: >>>>>> 1 passed >>>>>> 1 failed >>>>>> >>>>>> LIH1:TSH009:/HM/lua4z/examples$ >>>>>> printenv | grep LUA_ >>>>>> LUA_PATH=/HM/lua4z/share/lua/5.1/?.lua;./?.lua;/HM/lua4z/share/lua/5. >>>>>> 1 /?/init.lua;/HM/lua4z/lua/5.1/?.lua;/HM/lua4z/install/?.lua >>>>>> LUA_CPATH=./?.so;/HM/lua4z/lib/lua/5.1/?.so >>>>>> LIH1:TSH009:/HM/lua4z/examples$ >>>>>> ==== >>>>>> >>>>>> I looked at the ivp.lua. It references a variable "modules" which >>>>>> contains "cjson" and "socket". There exists an cjson.so in the >>>>>> LUA_CPATH. But "socket" is a directory in /HM/lua4z/lib/lua/5.1, not an >>>>>> ".so" file. >>>>>> Granted, I need to read up on lua, but given the results, this >>>>>> seems like it may be a problem in the ivp.lua script. >>>>>> >>>>>> Minor nits, but thought I'd give you a heads up. >>>>>> >>>>> Can I convince you to try it again. I've uploaded an updated IVP. >>>>> >>>>> ------------------------------------------------------------------- >>>>> - >>>>> - >>>>> - For IBM-MAIN subscribe / signoff / archive access instructions, >>>>> send email to [email protected] with the message: INFO >>>>> IBM-MAIN >>>>> >>>>> ------------------------------------------------------------------- >>>>> - >>>>> - >>>>> - For IBM-MAIN subscribe / signoff / archive access instructions, >>>>> send email to [email protected] with the message: INFO >>>>> IBM-MAIN >>>> -------------------------------------------------------------------- >>>> - >>>> - For IBM-MAIN subscribe / signoff / archive access instructions, >>>> send email to [email protected] with the message: INFO >>>> IBM-MAIN >>>> >>>> -------------------------------------------------------------------- >>>> - >>>> - For IBM-MAIN subscribe / signoff / archive access instructions, >>>> send email to [email protected] with the message: INFO >>>> IBM-MAIN >>> --------------------------------------------------------------------- >>> - For IBM-MAIN subscribe / signoff / archive access instructions, >>> send email to [email protected] with the message: INFO >>> IBM-MAIN >>> >>> --------------------------------------------------------------------- >>> - For IBM-MAIN subscribe / signoff / archive access instructions, >>> send email to [email protected] with the message: INFO >>> IBM-MAIN >> ---------------------------------------------------------------------- >> For IBM-MAIN subscribe / signoff / archive access instructions, send >> email to [email protected] with the message: INFO IBM-MAIN >> >> ---------------------------------------------------------------------- >> For IBM-MAIN subscribe / signoff / archive access instructions, send >> email to [email protected] with the message: INFO IBM-MAIN > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, send email to > [email protected] with the message: INFO IBM-MAIN > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, send email to > [email protected] with the message: INFO IBM-MAIN > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
