Moonshine-IDE / Moonshine-SDK-Installer

To take full advantage of Moonshine IDE you will need third party SDKs like Apache® Flex or Apache® Royale. In order to make it easier for you to setup the required SDKs, we created the Moonshine SDK Installer.
https://moonshine-ide.com/download-sdk-installer/
Other
8 stars 2 forks source link

DLL Errors for Windows Haxe #119

Closed JoelProminic closed 4 months ago

JoelProminic commented 4 months ago

I ran a test with the 4.6.0 release candidate on a fresh Windows VM, and I got these two prompts several times in a row at the end of the Haxe build:

image image

I see the Haxe install failed. The log doesn't show any errors except this "ln" error.

image

I suspect this is related to the other Haxe changes for 4.6.0. Most of our testing was focused on macOS.

We can discuss this with @piotrzarzycki21 and @Aszusz in tomorrow's meeting.

Aszusz commented 4 months ago

Looks like it's a problem of missing Visual C++ Redistributable. @JoelProminic could you try installing the latest vc_redist for your platform? https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170

piotrzarzycki21 commented 4 months ago

Yes you have to install Visual C++ Redistributable to have it working, so I don't think we have an issue here.

JoelProminic commented 4 months ago

Installing the Visual C++ Redistributable cleared the VCRUNTIME40.dll error, but not the neko.dll error. The neko.dll error triggers 7 times at the end of the Haxe installation

JoelProminic commented 4 months ago

I confirmed that the neko.dll error triggers on all haxelib.exe calls.

I installed the production 4.5.0 build and tried the Haxe installation, and this completed successfully. This seems to be a new problem introduced in 4.6.0

piotrzarzycki21 commented 4 months ago

@rat-moonshine Do you have any thoughts on that ?

rat-moonshine commented 4 months ago

I shall check 4.5.0 source on installation, and respond after that.

rat-moonshine commented 4 months ago

Based on the comment, I tried to look into code differences between v4.5.0 and latest codes.

The only notable difference related to Neko installation I found in HaxeInstallHelper.as: https://github.com/Moonshine-IDE/Moonshine-SDK-Installer/blob/master/MoonshineSDKInstaller/src/actionScripts/utils/HaxeInstallHelper.as#L139-L140 https://github.com/Moonshine-IDE/Moonshine-SDK-Installer/blob/master/MoonshineSDKInstaller/src/actionScripts/utils/HaxeInstallHelper.as#L146

In above code-lines we were adding symlinks to environment variable, the reason was https://github.com/Moonshine-IDE/Moonshine-IDE/issues/1157 .

It looked like the symlink codes were targeted to macOS run. However, there were no equivalent commands for Windows, and ln -s codes were keep running on Windows too.

I tried to create a set of equivalent commands for Windows too, but I continue to get the neko.dll error on Windows. Thus, I removed the symlink run on Windows and limits to macOS since this was added mainly for macOS problem.

I gave some tests on Windows with the updated build:

This looked promising to me. @JoelProminic please give some test on your VM environment, when you have a chance.

JoelProminic commented 4 months ago

After the update, I don't see any errors on Windows. I didn't uninstall the Visual C++ dependency, but this is something we can discuss in a later release.

However, I see this error on macOS:

Now continues with Haxe/Neko setup
Installation error: ln: /libneko.dylib: read-only file system
ln: /libneko.2.dylib: read-only file system
ln: /libneko.2.3.0.dylib: read-only file system
ln: /std.ndll: read-only file system
ln: /mod_neko2.ndll: read-only file system

On a side note, I noticed that the Windows log is extremely long compared to macOS. The main problem is the progress tracking. Is this just a difference between the installers, or did we find a way to hide the verbose output on macOS?

piotrzarzycki21 commented 4 months ago

@rat-moonshine you did changes but it's again requires test and another day is lost - there is no release again. Please next time in the time of pushing release consider discussion first before you made changes.

rat-moonshine commented 4 months ago

@piotrzarzycki21 I'd suggest you please check reason for fix/release, before you starts wondering.

piotrzarzycki21 commented 4 months ago

I just tested on fresh Windows 11 Home virtual machine:

piotrzarzycki21 commented 4 months ago

@piotrzarzycki21 I'd suggest you please check reason for fix/release, before you starts wondering.

I checked - I don't see any message from @JoelProminic that you cannot build or run project after Haxe installation, so no blocking issue.

rat-moonshine commented 4 months ago

@piotrzarzycki21 I'd suggest you please check reason for fix/release, before you starts wondering.

I checked - I don't see any message from @JoelProminic that you cannot build or run project after Haxe installation, so no blocking issue.

No. This was an error, and that needs to be fixed. To understand more on nature of the error, you can to talk to @JoelProminic . This error needs to get fixed unless it is off our manageable time. I haven't notice the error after the fix applied.

JoelProminic commented 4 months ago

I confirmed that the errors are cleared on macOS and Windows. We will need to revisit the Visual C++ dependency, but we agreed to do this is a separate issue.

In my opinion the last problem reported was a blocking issue for this release. It caused the macOS Haxe install to fail, and fixing this install was the focus of at least 3 other issues for this release.

Now that this is fixed, we should be ready for a release. I generated a notarized build for 4.6.0, so the release candidates should be ready to be moved. I was planning on finalizing this today, but another urgent issue came up for me.