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

docs: Mention make and cmake for Windows #16572

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

KDruzhkin
Copy link
Contributor

No description provided.

@github-actions github-actions bot added documentation Improvements or additions to documentation python Related to Python Polars rust Related to Rust Polars labels May 29, 2024
Copy link
Member

@stinodego stinodego left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think a lot of commands in the Makefile even work under Windows, so what good is installing make?

@KDruzhkin
Copy link
Contributor Author

KDruzhkin commented May 29, 2024

@stinodego, I've done it several times now. Just today I have gone through the recommended steps on a fresh Windows 10.

Step 1. Install Scoop from the MicrosoftStore app.

Step 2. Install Visual C++ Build tools with the official installer. See this answer on StackOverflow.

Step 3. Install the missing tools.

scoop install git python rustup make cmake dprint

scoop bucket add extras
scoop install vcredist2022

Step 4. Go through the recommended steps in the contributor guide.

rustup toolchain install nightly --component miri

git clone https://github.com/<username>/polars.git
cd polars/py-polars
make test
make pre-commit

It works, but only with make and cmake installed.

@mcrumiller
Copy link
Contributor

I went through the whole how-to-build-on-windows and wrote a Windows-compatible batch file in #13497 that doesn't involve any external installations. It was rejected (rightfully so IMO), as it was agreed that the development environment supported here is Linux/WSL only, and adding Windows support adds too much bloat and makes maintaining the documentation a lot harder when you have to update two OS-dependent processes instead of one every time you make a change.

@KDruzhkin
Copy link
Contributor Author

I went through the whole how-to-build-on-windows and wrote a Windows-compatible batch file in #13497 that doesn't involve any external installations. It was rejected (rightfully so IMO), as it was agreed that the development environment supported here is Linux/WSL only, and adding Windows support adds too much bloat and makes maintaining the documentation a lot harder when you have to update two OS-dependent processes instead of one every time you make a change.

@mcrumiller, I see. Here I only add some hints without any commitment. Note the wording "... and other missing tools" (what tools exactly? you know them when you see them).

@KDruzhkin
Copy link
Contributor Author

I went through the whole how-to-build-on-windows and wrote a Windows-compatible batch file in #13497 that doesn't involve any external installations.

My original aim was to compile just the documentation on Windows. But it is hard to separate from the rest.

@mcrumiller, by the way, thanks for your additions to the manual (the rust-toolchain fix). Without them it would be much harder.

@eitsupi
Copy link
Contributor

eitsupi commented May 30, 2024

Why is it necessary here to mention make and cmake only on Windows and recommend installation with a specific package manager?
The need for make (which I personally think is optional) and cmake is the same for any OS, and I don't think there is any justification for only mentioning for Windows.
Also, recommending scoop and choco without recommending winget seems rather odd.

@KDruzhkin
Copy link
Contributor Author

Why is it necessary here to mention make and cmake only on Windows and recommend installation with a specific package manager? The need for make (which I personally think is optional) and cmake is the same for any OS, and I don't think there is any justification for only mentioning for Windows. Also, recommending scoop and choco without recommending winget seems rather odd.

  • GNU make and cmake are part of Linux distributions. It is only on Windows that you need to explicitly install them.
  • They are indeed optional, but the user guide uses make (and indirectly cmake) on this very page.
  • You are right, scoop and choco have no place here.

Updating.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation python Related to Python Polars rust Related to Rust Polars
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants