When running the compiler with this command...
pbautobuild220.exe /f \src\cactus.json /l Log_PBBuild.log /le Log_PBError.log
...we get this error output:
14:14:50 [Normal] PBAutoBuild Version: 22.2.0.3289.
14:14:50 [Normal] Work Path: C:\src\AppeonBinaries\PowerBuilderUtilities 22.0\pbautobuild220.exe.
14:14:50 [Normal] Runtime Version: 22.2.0.3289.
14:14:50 [Normal] Start processing parse json to model code segment.
14:14:50 [Normal] End processing parse json to model code segment.
14:14:50 [Normal] Start processing download source code segment.
14:14:50 [Normal] End processing download source code segment.
14:14:50 [Normal] Start processing compile segment.
14:14:50 [Normal] Start compiling the source code.
14:14:50 [Error] Failed to load the library "PBORC.dll". Error message: The specified module could not be found.
14:14:50 [Error] Failed to load the library "PBDEV.dll". Error message: The specified module could not be found.
14:14:50 [Error] Failed to compile the target file. File name: \src\cactus_ii.pbt
Bye (-_-)
We are building a Docker image to do our PowerBuilder builds using the aforementioned command line, which works on my host machine just fine. So far, we are just starting with an empty Windows container and trying to "Docker Exec -it <container> CMD" into it and run the commands manually. We have a volume mount which contains our project source code and also the PowerBuilder-2022 R3-3289-EN-GA installer files. We install the runtime first with this command:
SilentInstall.bat opt=PBRT log=c:\pbinstall_logs dir=c:\app
Then we run it again to install the utilities (?) with this command:
SilentInstall.bat opt=PBU log=c:\pbinstall_logs dir=c:\app
Both commands put files into the appropriate default directories (although they are ignoring my "dir=c:\app" parameter).
All of the files that it complains about are present and were introduced by the silent install process so they should be the right versions in the right place. I have also added various directories to the system path to try to help but it has no effect.
Here is my dockerfile content:
#--------
WORKDIR /outputFROM mcr.microsoft.com//dotnet/sdk:8.0.101-windowsservercore-ltsc2019
WORKDIR /pbinstall_logsWORKDIR /appWORKDIR /srcWORKDIR "/c/src/AppeonBinaries/PowerBuilderUtilities 22.0"# This works to keep the container alive so we can docker "exec -it <imagename> cmd" into it from another console.USER ContainerAdministratorENTRYPOINT ["CMD", "/c ping -t localhost > NUL"]* --------
Here are my commands to work with the container:
docker run -it -v .\:c:\src --rm --name pbbuildcontainer powerbuilder2022docker exec -it pbbuildcontainer cmd