incorrect substitution of OBJLIB in dependency build on iSeries
Hi,
After upgrading to RTC 403, we see that in some cases (for some translators), the substitution of the object library is wrong when building.
As a result, the objects are being created in the wrong library.
However, we didn't touch the translator which was working correctly in RTC 402:
CRTRPGMOD MODULE(&OBJLIB/&N) SRCFILE(&SRCLIB/&F) SRCMBR(&N) OPTION(*EVENTF)
In the log we see:
CRTRPGMOD MODULE(ABC2/LGL1A) SRCFILE(RTCP2_S/SRC) SRCMBR(LGL1A) OPTION(*EVENTF) replace(*yes)
SRCLIB is substituted correctly, OBJLIB should have been RTCP2_O.
Regards,
Bernd.
After upgrading to RTC 403, we see that in some cases (for some translators), the substitution of the object library is wrong when building.
As a result, the objects are being created in the wrong library.
However, we didn't touch the translator which was working correctly in RTC 402:
CRTRPGMOD MODULE(&OBJLIB/&N) SRCFILE(&SRCLIB/&F) SRCMBR(&N) OPTION(*EVENTF)
In the log we see:
CRTRPGMOD MODULE(ABC2/LGL1A) SRCFILE(RTCP2_S/SRC) SRCMBR(LGL1A) OPTION(*EVENTF) replace(*yes)
SRCLIB is substituted correctly, OBJLIB should have been RTCP2_O.
Regards,
Bernd.
* [antp:langdef] 2013-07-17 17:41:19.141 CRHTC1558I LD execute() - id: "Build RPGLE MODULE", load / object libraries: RTCP2_S / ABC2, system name: localhost, build id: JTSBUILD
* [antp:translate] CRHTC1571I Translator name: "RPG MOD(Translator)", effective user *LIBL: [ABC2 RTCP2_S QGPL QTEMP PGMR ].
* [antp:translate] CRHTC1572I A general command set is specified. Run command set without object checking.
* [antp:translate] CRHTC1579I The specified output object after variable substitution: ABC2/LGL1A OBJTYPE(*MODULE).
* [antp:translate] 2013-07-17 17:41:19.434 CRHTC1591I -> Remote command invocation succeeded: CRTRPGMOD MODULE(ABC2/LGL1A) SRCFILE(RTCP2_S/SRC) SRCMBR(LGL1A) OPTION(*EVENTF) replace(*yes)
* [antp:translate] CRHTC1592I <-- CPI2126: Parameterwaarde AUT genegeerd.
* [antp:translate] CRHTC1592I <-- Oorzaak . . . . : De parameterwaarde AUT is genegeerd omdat REPLACE(*YES) is opgegeven. Hierdoor werd de machtiging voor het bestaande object gebruikt. Alle persoonlijke en algemene machtigingen zijn gekopieerd van het bestaande object naar het nieuwe object LGL1A type *MODULE in bibliotheek ABC2. Herstelprocedure: Beeld met de opdracht DSPOBJAUT de objectmachtiging af om vast te stellen of de machtiging voor object LGL1A, type *MODULE, in bibliotheek ABC2 moet worden gewijzigd. Gebruik de opdracht GRTOBJAUT (Machtiging voor object toekennen) of RVKOBJAUT (Machtiging voor object herroepen) om de machtiging voor object LGL1A type *MODULE in bibliotheek ABC2, indien nodig, te wijzigen.
* [antp:translate] CRHTC1592I <-- CPI2121: Vervangen object LGL1A type *MODULE is verplaatst naar QRPLOBJ.
* [antp:translate] CRHTC1592I <-- Oorzaak . . . . : Vervangen object LGL1A type *MODULE van bibliotheek ABC2 is hernoemd tot Q12DD7ACE2 en verplaatst naar bibliotheek QRPLOBJ. Herstelprocedure: Als het vervangen object nodig is, kunt u de opdracht MOVOBJ (Object verplaatsen) gebruiken om het object van bibliotheek QRPLOBJ naar een andere bibliotheek te verplaatsen. Bibliotheek QRPLOBJ wordt leeggemaakt tijdens de volgende opstartprocedure van het systeem. Bibliotheek QRPLxxxxx (waarbij 'xxxxx' het nummer is van de primaire ASP) wordt leeggemaakt tijdens de volgende keer dat het ASP-apparaat online wordt gezet.
* [antp:translate] CRHTC1592I <-- RNS9305: Module LGL1A placed in library ABC2. 00 highest severity. Created on 17/07/13 at 17:41:19.
* [antp:translate] CRHTC1592I <-- Cause . . . . . : Module LGL1A was successfully created in library ABC2. The highest message severity that resulted was 00. The module creation date and time are 17/07/13 and 17:41:19.
* [antp:translate] CRHTC1592I <-- CPC0904: Gegevensgebied RETURNCODE is gemaakt in bibliotheek QTEMP.
* [antp:translate] 2013-07-17 17:41:19.804 CRHTC1584I Object ABC2/LGL1A.*MODULE.RPGLE tagged with "1307171741". Old tag = "".
* [antp:compile] 2013-07-17 17:41:20,413 CRHTC1502I Updated: Build RPGLE MODULE : RTCP2_S/SRC(LGL1A).
* [antp:compile] 2013-07-17 17:41:20,413 CRHTC1504I Total (2) Built(1) Up to date(1) Failed(0).
* [antp:compile] 2013-07-17 17:41:20,414 CRHTC1538I Compile task started.
* [antp:compile] 2013-07-17 17:41:20,440 CRHTC1503I Up to date: Build SQL : RTCP2_S/SRC(test).
* [antp:compile] 2013-07-17 17:41:20,440 CRHTC1503I Up to date: Build SQL : RTCP2_S/QMGR(queries).
* [antp:compile] 2013-07-17 17:41:23,619 CRHTC1539I Processing RTCP2_S/SRC(FSCAN)...
* Overriding previous definition of reference to job
* Overriding previous definition of reference to Build SQL
* [antp:langdef] 2013-07-17 17:41:23.630 CRHTC1558I LD execute() - id: "Build SQL", load / object libraries: RTCP2_S / RTCP2_O, system name: localhost, build id: JTSBUILD
* [antp:translate] CRHTC1571I Translator name: "SQL QRY correction(Translator)", effective user *LIBL: [RTCP2_O RTCP2_S QGPL QTEMP ].
* [antp:translate] CRHTC1572I A general command set is specified. Run command set without object checking.
* [antp:translate] CRHTC1579I The specified output object after variable substitution: RTCP2_O/FSCAN OBJTYPE(*QMQRY).
* [antp:translate] 2013-07-17 17:41:23.767 CRHTC1581I No existing output object found in the system; need to build.
* [antp:translate] 2013-07-17 17:41:23.769 CRHTC1593I -> Remote command invocation failed: CALL RTCQMQRY0 PARM(RTCP2_S SRC FSCAN)
* [antp:translate] CRHTC1592I <-- CPD0170: Programma RTCQMQRY0 in bibliotheek *LIBL is niet gevonden.
* [antp:translate] CRHTC1592I <-- Oorzaak . . . . : het programma dat is opgegeven bij de opdracht CALL wordt niet gevonden. Herstelprocedure: controleer de spelling van de naam van het programma en de bibliotheek. Verbeter de namen en geef de opdracht CALL opnieuw op.
* [antp:translate] CRHTC1592I <-- CPF0001: Fout gevonden in opdracht CALL.
* [antp:translate] CRHTC1592I <-- Oorzaak . . . . : Het systeem heeft fouten in de opdracht gevonden. Herstelprocedure: Raadpleeg de eerdere berichten in het taaklogboek. Verbeter de fouten en geef de opdracht opnieuw op. *N in plaats van de opdrachtnaam betekent dat de fout is opgetreden voordat de naam was vastgesteld.
* Overriding previous definition of reference to Build SQL
* Overriding previous definition of reference to Build SQL
* [antp:langdef] 2013-07-17 17:41:23.776 CRHTC1558I LD execute() - id: "Build SQL", load / object libraries: RTCP2_S / RTCP2_O, system name: localhost, build id: JTSBUILD
* [antp:translate] CRHTC1571I Translator name: "SQL QRY compile(Translator)", effective user *LIBL: [RTCP2_O RTCP2_S QGPL QTEMP ].
* [antp:translate] CRHTC1572I A general command set is specified. Run command set without object checking.
* [antp:translate] CRHTC1579I The specified output object after variable substitution: RTCP2_O/FSCAN OBJTYPE(*QMQRY).
* [antp:translate] 2013-07-17 17:41:23.844 CRHTC1581I No existing output object found in the system; need to build.
* [antp:translate] 2013-07-17 17:41:23.876 CRHTC1591I -> Remote command invocation succeeded: crtqmqry qmqry(RTCP2_O/FSCAN) SRCFILE(RTCP2_S/SRC) SRCMBR(FSCAN)
One answer
In 4.0.3 we changed the Search Path System Definition to include the Object Library as well, so it can be overridden at certain parts of the build. See full details on the changes here: https://jazz.net/downloads/rational-team-concert/releases/4.0.3?p=news#IBM-i-searchpath
Take a look at your search path(s) and make sure the object library is set correctly. If you are using multiple search paths and overriding it at the Translator/Build Definition level verify they are all set correctly.
Take a look at your search path(s) and make sure the object library is set correctly. If you are using multiple search paths and overriding it at the Translator/Build Definition level verify they are all set correctly.