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

windows support #2747

Open
mathisloge opened this issue Jul 24, 2021 · 11 comments
Open

windows support #2747

mathisloge opened this issue Jul 24, 2021 · 11 comments
Labels
infrastructure Infrastructure Enhancement

Comments

@mathisloge
Copy link

So I'm currently adding back windows support to mapnik (and CMake support, too). That does include node-mapnik and python-mapnik, too.
Just wanted to let you know, that it might be possible to build tilemill on windows again.

@mathisloge mathisloge added the infrastructure Infrastructure Enhancement label Jul 24, 2021
@csytsma
Copy link
Member

csytsma commented Jul 1, 2022

@mathisloge Any updates on your mapnik windows efforts?

@mathisloge
Copy link
Author

@csytsma mapnik itself is already buildable and functional under windows.
node-mapnik is also functional. But I first need to make mapnik to build as a static library (incl. plugins etc.). That's mostly for the distribution of prebuild npm packages on Linux.

Unfortunately in the last six and the next two month my available time for open source projects is very limited. But be sure that I'm on it :)

@prusswan
Copy link

prusswan commented Jul 5, 2022

I was able to build mathisloge's node-mapnik and mapnik on Windows. However, trying to use it with current Tilemill proved to be difficult as Tilemill (including dependencies) is still stuck on Node 8. In the end, I just installed the pre-built node-mapnik binary for Node 12 and manually replaced the mapnik folders (main node_modules plus the ones under tilelive-mapnik). did the same for other dependencies such as gdal. Also had to patch the version checks etc. It's a bit of a mess but the result is here

On Tilemill's end, you can probably start a proper Node 12 branch (to use the prebuilt node-mapnik, unless mathisloge or someone else is willing to backport it to Node 8) and work through the other dependencies.

@csytsma
Copy link
Member

csytsma commented Jul 5, 2022 via email

@prusswan
Copy link

prusswan commented Jul 6, 2022

If we upgraded/migrated the Tilemail primary branch to Node 12, any idea how much that might break everything else? If I recall, there were some older mapping libraries it was dependent on, like Wax, Millstone, MM etc. that would all have to be upgraded as well.

Native JS libraries like MM should be of little issue. The problem ones are OS-dependent (such as mapnik and gdal) but seems there are already Node 12 binaries for those (like gdal 0.11), so it is just a matter of upgrading the other packages that are dependent on the older versions (some modules may be abandoned at this point, so forking would be necessary).

@oudoken
Copy link

oudoken commented Feb 21, 2024

I was able to build mathisloge's node-mapnik and mapnik on Windows. However, trying to use it with current Tilemill proved to be difficult as Tilemill (including dependencies) is still stuck on Node 8. In the end, I just installed the pre-built node-mapnik binary for Node 12 and manually replaced the mapnik folders (main node_modules plus the ones under tilelive-mapnik). did the same for other dependencies such as gdal. Also had to patch the version checks etc. It's a bit of a mess but the result is here

On Tilemill's end, you can probably start a proper Node 12 branch (to use the prebuilt node-mapnik, unless mathisloge or someone else is willing to backport it to Node 8) and work through the other dependencies.

Hi @prusswan,
I've tried to npm install You repo (windows with node 12.22.12) but it throwns many errors, mostly error from compatibility with build tools, vs2019/vs2022 node-gyp etc...

Do You have any suggestion? Or better do You have pre-compiled (with all needed node-libraries mapnik, tilelive-mapnik, zip etc) anywhere?

Thanks

@prusswan
Copy link

prusswan commented Feb 21, 2024

@oudoken I don't work with Windows exclusively so it will take someone of @mathisloge's experience to sort out the build tools. For my purpose I went back to Linux/docker. With luck there might be a Windows developer interested enough to take this further.

btw, since this is already 2024, maybe node 18 would be a more practical target

@mathisloge
Copy link
Author

As of 2024 if dropped windows myself and switched completly to linux :D

@csytsma
Copy link
Member

csytsma commented Feb 21, 2024 via email

@prusswan
Copy link

As of 2024 if dropped windows myself and switched completly to linux :D

yea if only we get clients willing to "sponsor" the work

The whole project needs to be updated to use a more current Node version. Anyone want to take that on?

Node 18 for Linux should be "easy" (barring key dependencies that are abandoned with no replacement), perhaps you can start a separate issue to gauge the demand?

@oudoken
Copy link

oudoken commented Feb 22, 2024

@oudoken I don't work with Windows exclusively so it will take someone of @mathisloge's experience to sort out the build tools. For my purpose I went back to Linux/docker. With luck there might be a Windows developer interested enough to take this further.

btw, since this is already 2024, maybe node 18 would be a more practical target

Hi @prusswan,
It's ok just wanting to try and test the whole thing on Windows for speed comparison.
I have another linuxmint installation that works correctly on latest Tilemill repo.
Thanks Kind Regards
Rob

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

No branches or pull requests

4 participants