1. Kairos Jeong
  2. PowerBuilder
  3. 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.

 


Responses (1)
  1. Likes
  2. Latest
  3. Oldest
Loading...

Find Questions by Tag

.EXE .NET 6.0 .NET Assembly .NET Core 3.1 .NET Core Framework .NET DataStore .NET Std Framework 32-bit 64-bit ADO.NET AEM AI Algorithm Amazon AWS Android Apache API APK App Store App Store (Apple) Appeon Workspace Appeon Xcelerator Plug-in Architecture Array ASE Asynchronous Methods Authentication AutoBuild AutoCompiler Automated Testing Automation AutoScript Azure Barcode Base64 Batch BigData BLOB Branch & Merge Browser Bug Build Button C# C# Class Importer C# Editor C# Model generator Calendar Camera Certificate Chrome Citrix Class Client Client/Server Cloud Cluster Collection COM Command Line Compiler Compression Computed Field Configuration Controls Cookies Cordova Crash Cross-Platform Crosstab CSharpAssembly CSharpObject CSS CSV Cursor Data Database Database Driver Database Painter Database Profile Database Provider DataObject DataSource DataStore DataStore (C#) DataStore (PS) DataType DataWindow DATE DATETIME DB2 Debug Debugger Debugging Deployment Design DLL DO-WHILE Dockable Docker Documentation DOUBLE Download DPI DragDrop Edge Edit Style Editor Elevate Conference Email Embedded SQL Emulator Encoding Encryption Enhancement Request Entity Entity Framework ERP Error Event Event Handler Event Handling Excel Exception Export Expression External Functions F# Field File File Access Filter Firefox Firewall Font FOR-NEXT Foreground Format Function Garbage Collection GeoLocation Git Graph HANA Hash Header HTML/5 HTTP/S HTTPClient Icon IDE Identity IIS IMAPI Import InfoMaker Inheritance Installation Integer IntelliSense Interface Internet Internet Explorer iOS IPA iPad iPhone IWA J# Java JavaScript JBoss JDBC JOIN JSON JSONGenerator JSONParser Kestrel Label Lambda Large File LDAP Library License LINQ Linux OS Load Balancing Localization Localized PBVM Log In Log Out Logging LONG LONGLONG macOS MAPI Maps MDI Memory Memory Leak Menu Merge MessageBox Messagging Method Migration MIME TYPE Mobile Model ModelStore ModelStore (C#) MSOLEDBSQL Multi Threading MVC MySQL n-Tier Namespace NativePDF Nube NVO OAuth ODATA ODBC Office Offline OLE OLEDB Online Open Source OpenAPI OpenSSL Oracle OrcaScript Other Outlook Output Package Parameter Patch PayPal PB Classic PB Native PB.NET PBC PBD PBDOM PBG PBJVM PBL PBNI PBORCA PBVM PBX PDF Performance Permission PFC Picture Pipeline Play Store (Google) Plugin Popup Port POST PostgreSQL PowerBuilder PowerBuilder (Appeon) PowerBuilder (SAP) PowerBuilder Compiler PowerBuilder Runtime PowerClient PowerScript (PS) PowerScript IDE PowerScript Migrator PowerServer PowerServer Mobile PowerServer Toolkit PowerServer Web PowerServerLabel Print Properties Proxy Publish PULL PUSH Query Regression Release Renew Resize Response REST Retrieve RibbonBar RibbonBar Builder RibbonView Rich Text Roadmap RPC Runtime Packager SaaS Scaffolding Script SDI SDK Security Server Service Session Single Sign-on Size SMTP SMTPClient SnapDevelop SOAP Solution Sort Source Code Speech Recognition SQL SQL Anywhere SQL Server SqlBuilder SqlExecutor SQLite SqlModelMapper Storage Stored Procedure Subscription SVN Swagger Syntax TabbedBar TabbedView Tablet TabPage Target TE Control Testing Text TFS Theme TIME Timer TLS/SSL Tomcat TortoiseGit TortoiseSVN Transaction Transparency Trial Trigger TRY-CATCH TX Control Type UI ULONG UltraLite Uninstall Unit Test Unit Testing UNIX OS Update Upgrade Upload URL User Center User Object UWP Validation VARCHAR Variable Versioning Visual Studio Visual Studio Code VM Voice Warning WCF Web API Web Extensions Web Service WebBrowser WebForms WebLogic WebSphere WildFly WinAPI Window Windows OS WinForms Wizard Workgroup Workspace WPF XCODE XHTML XML Zoom

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.