Wikipedia:Reference desk/Archives/Computing/2024 January 30

From Wikipedia, the free encyclopedia
Computing desk
< January 29 << Dec | January | Feb >> Current desk >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is a transcluded archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


January 30[edit]

Running 32-bit i386 legacy code on macOS 10.15 (Catalina) or later[edit]

Later macOS versions than macOS 10.14 (Mojave) allow only 64-bit executable x86 code to run natively.

Is there something like an emulator app that will allow me to run legacy executable i386 code (that runs on macOS 10.14) on a later macOS version?  --Lambiam 21:34, 30 January 2024 (UTC)[reply]

Jamie Zawinski asked about emulation on Mac and maybe someone mentions something related. --Error (talk) 00:45, 31 January 2024 (UTC)[reply]
It’s possible but you need to reconfigure RAM adaptability to a virtual machine interface and run in framework with adaptive de-encryption. Pretty self explanatory. Brianroswell (talk) 03:17, 31 January 2024 (UTC)[reply]
Self-explanatory to some, abracadabra to others. What is RAM adaptability and how does one reconfigure it? What is it that needs to "run in framework"? (Not I myself, I hope.) The term "framework" has many meanings; which one applies here? And what is adaptive de-encryption? Where do I start? Don't I need to download something or other?  --Lambiam 22:33, 31 January 2024 (UTC)[reply]
It has to do with the encryption bypass processing cache. Microsoft has gotten around the problem by applying an analytic framework to the encryption sequencing process that allows multiplex bidirectional input/output aggregation. Pretty simple stuff.
You can override the default setting by reconfiguring your operating system to parse out encryption keys in a nested virtual framework. It’s easy to figure out and it only takes about 5 minutes. It will also bypass a number of default settings that Microsoft uses to limit cloud-relay analytic processing speed. Brianroswell (talk) 03:13, 1 February 2024 (UTC)[reply]
Microsoft does not figure in the equations.  --Lambiam 13:28, 1 February 2024 (UTC)[reply]
CrossOver (software) may be what you're looking for, costs £60 with free trial here. MinorProphet (talk) 06:45, 1 February 2024 (UTC)[reply]
The legacy software is not Windows-based. It runs as is on macOS 10.14. It appears that for using CrossOver I first need to turn the macOS code somehow into a .exe format, but I have no idea how to do that.  --Lambiam 13:28, 1 February 2024 (UTC)[reply]
I think that's almost impossible, they are written for completely different processor architectures and even if you had the source code I suspect it would take ages even for an experienced programmer. Are you running Mojave or Catalina, or both on two different devices? I have no experience on Macs at all, but Parallels Desktop (around $80) may do what you need, allowing you to install Mojave (10.14) as a software emulation on Catalina. This page has some instructions, find the' Another Catalina Option' section. It includes a link to the Mojave install in the Mac app store which still works:[1] MinorProphet (talk) 14:59, 1 February 2024 (UTC)[reply]
Thanks. Unfortunately, after studying all I could find about this approach, I am not sure this will work for me. I need to be able to integrate the legacy app in a pipeline, piping the stdout output of a process running under Sonoma (or whatever) to the stdin channel of the legacy app and feeding its output back to the stdin channel of a process running under Sonoma. I see that I can copy and paste between windows, but that is not good enough. The solution needs to work unsupervised and without manual intervention.  --Lambiam 22:28, 1 February 2024 (UTC)[reply]

If you're talking about stdin/stdout of two (or perhaps three) different apps, I'm fairly sure that it will be very difficult - if not impossible - to connect their inputs and outputs on the same box, given they can only run as totally discrete processes. In very general terms, I think you're hoping to achieve the following:

input → 64-bit Process A |stdout → stdin |32-bit Legacy app| stdout → stdin| 64-bit Process A (or B) → result

Is it mandatory to run both apps on the same physical box? If you had a second networked box running Mojave, might it not be possible (in very general terms) to pipe the stdout of Process A to e.g. eth0 or another network card eth1? I would only call myself a PC hardware/network fixer, this may be a case of /dev/ass | /dev/kb | /dev/null ... MinorProphet (talk) 15:14, 2 February 2024 (UTC)[reply]

If someone donates a second box I might try something like that. To remain within my budget constraints I think I'll recode the app in Python; for the functionality that I actually use the job should not take more than a week or two.  --Lambiam 23:45, 2 February 2024 (UTC)[reply]
Dear Shirley, don't you mean a month or two? MinorProphet (talk) 00:56, 3 February 2024 (UTC) [reply]