-
-
Notifications
You must be signed in to change notification settings - Fork 345
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
Update windows installer #2859
Update windows installer #2859
Conversation
Installing gtk+ runtime should fix this. Without it, cannot find the above library. With it, fails with "can't find .so"
Can filter required tools with `*esp* openocd` esp32 can use standard cmake, ninja installations Reduces makefile complexity
Reasons: - Install could fail, in which case it's wasted effort - It's the more logical place to do it, but moving it requires updating the install scripts so best to do it now - ccache stats must be zeroed just before build. Doing this as part of install confuses the issue and could get missed - ccache must be configured only after its been restored
93437cf
to
dd86632
Compare
Note: This PR invalidates ccache information because the timestamp on mingw GCC compiler has changed (even though content hasn't). Also, Esp32 IDF on Windows is now installed in a versioned directory (e.g. Before merging to develop, should wipe all the caches so they get rebuilt. |
@slaff I broke the installer for esp32 IDF (all platforms) as only the IDF 5.2 supports wildcards. Will have a fix later today. |
The Windows installer makes use of custom chocolatey packages, which are out of date. See issue #2514.
These packages are separate from the main Sming repository and represent an un-necessary maintenance overhead.
This PR updates the installation scripts so these custom chocolatey packages are no longer required.
The scripts were previously only used for CI testing so have been reworked appropriately.
The installation procedure is now similar to that for linux/MacOS.
The initial bootstrap installation remains unchanged: The
choco-install.cmd
script is fetched from the Smingdevelop
branch and executed.Note: Contrary to other installs and the documentation, the current sming choco script installs the
master
branch.The user runs a second install script
tools\install
to install required toolchains.This is separate because:
C:\tools
directory (other than python packages)The directory can also be customised by setting
SMING_TOOLS_DIR
.The documentation at https://sming.readthedocs.io/en/latest/getting-started/windows/index.html has been updated to reflect these changes.
CI Compiler Cache
I've moved caching to just before the build starts, so that configuration and zeroing ccache is handled by the build script. This is more logical than doing it as part of the install phase.
Esp32 install/build
A standard IDF tools installation includes the following packages:
As Sming installs these system-wide, these are not required.
Also, as we now have Ninja in the system path for all platforms some logic in build.mk can be removed.
These additional items are not used:
The Sming Esp32 installer omits all the above items, for linux/MacOS also.
Turns out we can just pass the filter
"*elf*"
to the installer to get all the stuff we do actually need.Python
This defaulted to
python3
, which failed in testing as current installers don't provide it, so change topython
.The
PYTHON
variable now defaults to the full path determined bywhich python
. In Windows, the makefile resolves this to something like/c/Python312/python.exe
.MinGW
I've also added
MinGW-2021-04-12.7z
to the SmingTools.This differs from
MinGW-2020-10-19.7z
which was previously used (in both choco package and CI install) in the following ways:./
instead ofMinGw/
so makes it easier to relocate during installation if requiredvar/cache
removed to reduce size of archive (48MB vs 133MB)No changes to GCC, still 9.2.0.
Docs build
Documentation build fails in Windows, problems with libcairo-2.dll.
Initially, the error was about not finding the DLL.
Some reserach suggests installing gtk+ runtime should fix this.
Still fails but with error "can't find .so".
Leaving this as a known issue, just build in Linux or WSL.
Todo: