I'm guessing that the YAJL routines called by YAJLINTO were compiled to use *LIBL rather than a hard coded name.
Jon P.
Jon is correct.
The default compile for the YAJL code is using the library list.
If you want to be able to run YAJL without including it in the library list there are a number of changes you have to make to how the source is compiled.
Here are some steps I took to get it to work:
YAJLR4 recreate and use specific library for YAJL service program.
crtsrvpgm srvpgm(&buildlib/yajlr4) +
module(&buildlib/yajlr4) +
export(*srcfile) +
bndsrvpgm(&buildlib/YAJL QHTTPSVR/QZHBCGI) +
bnddir(QC2LE) +
text('RPG Language Bindings for YAJL') +
tgtrls(&tgtrls)
YAJL Binding directory update to specify library.
dltbnddir &buildlib/yajl
monmsg cpf2105
crtbnddir bnddir(&buildlib/yajl) text('Yet Another JSON Library (YAJL)')
addbnddire bnddir(&buildlib/yajl) obj((&buildlib/yajl *srvpgm))
monmsg msgid(cpf5d09 cpf5d05)
addbnddire bnddir(&buildlib/yajl) obj((&buildlib/yajlr4 *srvpgm))
monmsg msgid(cpf5d09 cpf5d05)
YAJLGEN update to use Product Library YAJL.
crtcmd cmd(&buildlib/yajlgen) +
pgm(yajlgenr4) +
srcfile(&buildlib/qcmdsrc) +
srcmbr(yajlgen) +
TEXT('Generate RPG code from JSON') +
hlppnlgrp(*LIBL/YAJLGEN) +
hlpid(*CMD) +
PRDLIB(YAJL)
YAJLINTO recompiled after BNDDIR updated to reference specific library.
YAJLDTAGEN recompiled after BNDDIR updated to reference specific library.
--
Chris Hiebert
Senior Programmer/Analyst
Disclaimer: Any views or opinions presented are solely those of the author and do not necessarily represent those of the company.
As an Amazon Associate we earn from qualifying purchases.