Usually build is happening in one thread, and you would not see this error even with unlicensed version

And this error means, that you have multiple processes trying to connect to IRIS during the build

And even using Community Edition may not help, because it has a limit on connections, and you may face the same issue there too.

In some scenarios, it's possible to use multi stage building process, where you can use Community Edition image as a building stage, and target image without starting IRIS or with using only one connection, finish the build.

You can check multi-stage way with Community, or use iris.key during build stage

It depends on how much non-unicode data you have. If it's not much, you can try to use XML way.

Another way, is to use some simple scripts, that order over all globals, and convert in place. Skipping indexes, with full rebuild.

I think there were multiple solutions, to this task. You can try to find them.

You have to collect as much as possible about your data.

  • Code, is it in 8-bit or not, or it's just all in English, some code may contain comments in a native language, and if you don't use git or other source control, you may need to convert too
  • Data, is it some legacy data, or class based. If native, is it delimiter based or same as classes with $listbuild.
    • Two different strategies in this case, data with some plain delimiter can be converted right away, $listbuild based data, would require to go through $listbuild
  • Any additional data. Some legacy applications may store additional information such as TUI/CHUI forms in pseudographics somewhere, you should look after this data as well
  • Any other possible sources 8-bit data
  • Communication, file-processing, can be changed

The last time I implemented a converter for 20+ years old application, more than 15 years ago, it was an application with textual terminal interface, and it went well.

I see that the best solution would be if InterSystems would make this package available as an open source, with an option to upgrade any existing instance with the open-source version by using IPM for instance

In this case, any team that keeps using ZEN may provide their thoughts on how the modern ZEN should look in the form of PullRequests. There would be a place to post bugs and feature requests, which some community members may help to solve for everyone.