Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is APSIMClassic worth updating? #2208

Open
zur003 opened this issue Jun 22, 2023 · 3 comments
Open

Is APSIMClassic worth updating? #2208

zur003 opened this issue Jun 22, 2023 · 3 comments

Comments

@zur003
Copy link
Contributor

zur003 commented Jun 22, 2023

Is there any future for APSIM Classic? I ask because I recently tried doing "fresh" builds on both WIndows and Ubuntu Linux, and had some issues with both. On Windows, as I indicated in issue #2205, the build script looks for the Visual Studio 2017 toolset. Although it can be readily modified to use VS 2022, the newer toolset requires upgrading the TargetFrameworkVersion from v 4.5 to v 4.8. On Ubuntu Linux (version 22.04, with version 11.3.0 of the gnu compilers), the build failed with a couple of C++ errors. Specifically, in several places the header "limits.h" is included. Apparently that header is now to be used for "C" programs rather than "C++", having been replaced the latter language with and . Also in RLink's REmbed,.cpp, a "taking address of rvalue" error occurs.

In short, it's becoming increasingly difficult to build APSIM Classic with current generation toolsets (not to mention its dependency on Mono rather than dotnet). Should we attempt to "modernise" at all, or should Classic simple be "frozen", with no further changes to the codebase?

@her123
Copy link
Contributor

her123 commented Jun 22, 2023

With a legacy product like this it makes sense to keep a build environment using the latest feasible toolset so that any fatal flaws can be fixed and not allow any feature changes. A build environment configured in a VM can be maintained for considerable time. For a Linux VM it could be made available for anyone to use on request. This VM could be used for building and/or running APSIM. Isn't the Linux build set up in a Docker image already?

@peter-devoil
Copy link
Collaborator

For some time now, the runtime environment on linux has been limited to mono ~4.8; these build errors are more evidence that we should determine which fossil suite is needed to build it, and leave it there.

Sooner or later, the windows installers will break; in the past we've resorted to sending zipped up installations for such archaeological work.

@hol353
Copy link
Contributor

hol353 commented Jun 25, 2023

Should we attempt to "modernise" at all, or should Classic simple be "frozen", with no further changes to the codebase?

No we shouldn't attempt to modernise Classic. Jenkins uses a windows docker container that allows us to build it. This works reliably. I use it on my PC as well from time to time. Yes, on linux it uses mono which isn't ideal but we're not changing it.

Next Gen has to be the priority when we have limited resources.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants