Closed EliteMasterEric closed 1 year ago
Does it compile if you enable full DCE?
<haxeflag name="-dce" value="full" />
Compilation does succeed if DCE is set to full.
Since my project does utilize reflection, I will have to find a way to enable DCE on only this library (unless another fix is available that can be implemented on this repo).
I don't think there is anything we can change here. I suspect that hxcpp is somehow broken and emits wrong C++ code for classes that extend abstract classes. So I guess for a fix you would need to report this issue to the hxcpp team.
You can try to use version 3.0.2 to see if it compiles, this version does not yet use abstract classes.
The project successfully builds when reverting to haxe-concurrent
version 3.0.2. Since the only functional change is the addition of SynchronizedMap, this is the solution I will be moving forward with.
As you suggested, I reported the issue at HaxeFoundation/haxe#10861
EDIT: Switching to 3.0.2, build works now in my main project. Will leave this issue open until the latest available version of this library works.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. If the issue is still valid, please add a respective comment to prevent this issue from being closed automatically. Thank you for your contributions.
This issue is similar to that of #21, however after revisiting the issue recently and finding that the Travix tests function properly, I decided to perform a more thorough investigation.
As a result, I discovered the issue and have developed a minimal reproduction and provided additional logs.
The core issue is, I believe, with the
lime
framework, whose purpose is to provide additional utilities for cross-platform development, such as common interfaces for functionality like rendering. This library supercedes the build tools provided by Haxe, and some of the command line arguments it adds may be causing these build problems.I was able to reproduce my problems with the following steps:
haxelib install lime
)lime create HelloWorld
)project.xml
and add the haxelib (<haxelib name="haxe-concurrent" />
)Main.hx
to use the library (I simply added code which instantiates aRLock
and nothing else)lime build windows
)The build fails with an error relating to methods of an abstract class. I am not an expert in C++ compilation but my theory is that the issue arises from one of the build flags enforced by Lime.
I have uploaded the project where I reproduced the issue to GitHub Below are the full logs from the build process: