-
Kairos Jeong
- PowerBuilder
- Saturday, 19 September 2026 02:56 AM UTC
I upgraded from PB 2025 (Build 3726) to PB 2025 R2 (Build 6464) and can no longer
produce a deployable build. The IDE fails at the link step and generates no PBDs at
all, and PBAutoBuild fails before it even loads the target.
This blocks us completely, because in our application the EXE is a thin bootstrap of
about 14 MB and every object actually lives in the 81 PBDs, roughly 390 MB. If PBDs
are not generated, no source change ever reaches runtime.
I have made 15 build attempts and eliminated every variable I could find, one at a
time, so rather than a "have you tried" thread I would like to ask what "code = -5"
actually means and where the build is losing the library list.
One detail that should narrow this down a lot: this exact setup DID build once under
6464. On 2026-09-18 a headless PBAutoBuild run produced
"Link PBD: 79 succeeded, 0 failed, 2 skipped" and a valid EXE. Every attempt since
then has failed, and I cannot find the configuration change that accounts for it.
ENVIRONMENT
Windows 11 Pro 26100
PowerBuilder IDE 2025 R2 Build 6464 (installed 2026-09-18)
PowerBuilder Utilities 2025 R2 Build 6464
PowerBuilder Runtime 25.1.0.6464
PowerServer Toolkit was 3726, upgraded to 6464 during this investigation
Target solution format (.pbsln / .pbproj)
Source format source-controlled - every .pbl is a FOLDER of exported
.sr* files, not a binary PBL
Libraries 81, including 2 PBNI import PBDs
Project PB Native (ProjectType 0), 32-bit, Pcode
THINGS I CHECKED FIRST, BECAUSE THEY COME UP IN SIMILAR THREADS
Controlled Folder Access Disabled (Get-MpPreference returns 0), no extra
protected folders configured
TEMP / TMP C:\Users\<user>\AppData\Local\Temp - no spaces,
no non-ASCII characters
Write permission the build folder is writable, and the EXE is in fact
written there on every failed run
Running the IDE as tried - identical failure, same "code = -5"
Administrator
Installation integrity every PB*.dll under IDE, Utilities and Runtime reports
25.1.0.6464. No 25.0.* file exists outside the retained
side-by-side runtime folders
SYMPTOM 1 - IDE DEPLOY
Right-click target > Deploy. Abstract syntax tree generation runs to completion for
every object, about 2 minutes 14 seconds, with no compile errors. Then:
---------- Compiler: Errors (11:37:25)
[ERROR] Failed to link, code = -5.
Failed to generate executable file, code = -5.
---------- Finished Errors (11:37:25)
---------- Elapsed: 00:00.009
The EXE IS written, and it is not a broken artifact - I launched it and it runs
correctly against the PBD set that the previous version (PB 2025 Build 3726)
produced. So code generation and EXE linking both work. The only thing that fails
is PBD generation.
That also makes the second line of the error misleading: it says "Failed to generate
executable file", but the executable file is generated and is functional. Only the
PBDs are missing, and there is no "Link PBD" phase in the output at all - the build
never attempts it.
The elapsed time is the part I keep coming back to. Across 15 runs it is always
9 to 20 milliseconds. The linker is not failing while doing work; it is rejecting a
precondition immediately and returning.
SYMPTOM 2 - PBAUTOBUILD (HEADLESS)
pbautobuild250.exe /f myapp.json /l Build.log /le Error.log
[Normal] Deploying project myapp
[Error] Failed to compile the target file. File name: C:\MyApp\myapp.pbproj
This fails in under one second, before any AST generation, with the IDE closed.
Note the contradiction: the IDE loads this exact target and compiles all 81
libraries successfully. PBAutoBuild refuses to load the same target. Re-exporting
the JSON from the project painter changes nothing.
SYMPTOM 3 - THE COMMAND LINE THE IDE ITSELF SUGGESTS IS REJECTED
The project painter's General tab has a "Compilation command-line parameters" box
with the note "You can directly run PBAutoBuild EXE with these parameters", and it
emits:
/pbc /d "C:\MyApp\myapp.pbproj" /o "C:\MyApp\myapp.exe" /r "C:\MyApp\myapp.pbr"
... /pd yyy...y /rt 25.1.0.6464
Running exactly that gives:
[Error] Error: Failed to find the .pbw/.pbt file [C:\MyApp\myapp.pbproj].
So the IDE advertises a command line that /pbc cannot accept, because /pbc only
takes the legacy .pbw/.pbt format and not the solution .pbproj the same IDE created.
Substituting the legacy .pbt instead gives:
[Error] Probable I/O error processing library '%s'
The '%s' placeholder is not substituted, so the message never says which library
failed. That looks like a separate small defect worth logging on its own.
WHAT I HAVE ALREADY RULED OUT
Each of these was changed individually, with a build attempt after it.
1. Compiler cache - moved .pb aside (709 MB), rebuilt from empty
2. Build output - moved build aside (376 MB), rebuilt from empty
3. UTF-8 BOM that the 6464 IDE added to the .srj - removed
4. <Deployings> block the 6464 IDE added to the .pbproj - tested without it
5. Project selection - tested three different projects in the same target
6. pb.ini [Application] pointing at a different current application - corrected
7. Source corruption - no .sr* file changed between the last good build and now
8. PBNI import PBDs still at 25.0.0.3726 - regenerated with pbx2pbd250 to
25.1.0.6464. The IDE warning
"The PBD version 25.0.0.3726 shall be upgraded/downgraded to 25.1.0.6464"
is now gone, but the link still fails
9. Build JSON - re-exported fresh from the project painter
10. Runtime path in the .srj still pointing at 25.0.0.3726 - set to 25.1.0.6464.
Before that change the IDE asked "The configured Runtime path is inconsistent
with the current Runtime version, whether to continue?" - answering Yes made
no difference either
11. PowerServer Toolkit still at Build 3726 - upgraded to 6464
12. Registry target state - HKCU\Software\Sybase\PowerBuilder\25.0\Target holds
only DefLib, DefLibList, ProjectRunInfo and ToDo, nothing version related
13. Application-level PBR - all 787 resource references resolve, none missing
14. Per-library PBR - none configured on any of the 81 libraries, consistently
in the painter, the .srj and the exported JSON, so bug 15172 does not apply
15. Migration - I ran Migrate explicitly. The dialog said "This application was
created in a previous version and requires migration to the current version",
it listed all 81 libraries and completed, but it changed ZERO source files and
the deploy failed identically afterwards
I also verified the library list is internally consistent: the .srj lists 81 PBD
entries, the .pbproj lists 81 <Library> entries, and the legacy .pbt LibList has the
same 81 names in the same order. All 81 exist on disk, and every PBD checkbox is
enabled.
QUESTIONS
1. What does "code = -5" mean for the IDE linker? It matches PBORCA_LIBLISTNOTSET
in the documented return set for PBORCA_ExecutableCreate (0, -1, -5, -12, -13).
If that mapping is right, the linker never receives the library list, and I
would like to know at what point the IDE is supposed to set it.
2. Why does PBAutoBuild /pbc reject a .pbproj target when the painter generates
that exact command line?
3. What makes PBAutoBuild fail to "compile the target file" in under a second for
a .pbproj that the IDE loads and compiles without error?
4. Is the source-controlled source format - every .pbl a folder of exported .sr*
files - fully supported by the 6464 build pipeline? No migration prompt appeared
when the 3726 target was first opened in 6464, and running Migrate manually was
a no-op.
I can reproduce this on demand, and I can run any diagnostic build you want to
specify. I can also share the project files (.srj, .pbproj, .pbt - they contain only
library name lists) and the 11 PBAutoBuild logs privately if that helps.
Note: application and folder names in this post are genericized. The logs show the
real ones.
Find Questions by Tag
Helpful?
If a reply or comment is helpful for you, please don’t hesitate to click the Helpful button. This action is further confirmation of their invaluable contribution to the Appeon Community.