-
Notifications
You must be signed in to change notification settings - Fork 165
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
Dropping support for windows binaries #848
Comments
Thanks for the heads up. And thanks to you and your team for this project! |
RIP windows builds and the cottage industry of bored developers hacking away at mapnik on their work issued windows boxes. Brings a tear to my eye thinking about the good old days. Thanks to everyone who kept it rolling through the years. |
RIP all proprietary software - not a tear from me :)
|
Thanks everyone for your comments and support. @flippmoke is kindly working on the next release of node-mapnik which will be the release in which we drop windows support. Per @flippmoke's plan at #808 (comment) this next release will be called v3.7.0. This indicates to me that anyone who is using An example of an application that will currently break due to |
This will protect your module from automatically upgrading to node-mapnik v3.7.0 (when it is published). This in turn will protect your users from breakages if they are running windows. Refs mapnik/node-mapnik#848
This will protect your module from automatically upgrading to node-mapnik v3.7.0 (when it is published). This in turn will protect your users from breakages if they are running windows. Refs mapnik/node-mapnik#848
This will protect your module from automatically upgrading to node-mapnik v3.7.0 (when it is published). This in turn will protect your users from breakages if they are running windows. Refs mapnik/node-mapnik#848
This will protect your module from automatically upgrading to node-mapnik v3.7.0 (when it is published). This in turn will protect your users from breakages if they are running windows. Refs mapnik/node-mapnik#848
I've made the above PRs by manually paging through https://github.com/search?o=desc&q=%22mapnik%22+extension%3A.json+language%3AJSON&s=indexed&type=Code&utf8=%E2%9C%93. I don't feel motivated to develop a more systematic approach, but if someone does I presume a better approach would be to write a script to download all the modules depending on mapnik via https://www.npmjs.com/search?q=mapnik&page=1&ranking=optimal and detect which are using |
I understand comments mentioned above. I think it is important to note, however, that Windows comprises 90% of market share. I switched to Linux and then back to Windows because I was always battling "business" compatibility. Business funding helps to drive all of this stuff so IMO dropping Windows is a huge mistake. |
@wayofthefuture: are yougoing to maintain that support then ?
This is a community project, anyone is welcome to invest in whichever
aspect of it.
|
Good point, can't argue with that. |
FYI, this fork https://github.com/pedro-vicente/mapnik has a CMake build for the 3.0 and 2.3 branches with the minimum dependencies the 2.3 branch builds without errors and runs a test program with the OSM plugin I posted these errors here the errors are not actually that many, it seems to me that with a little effort, the Windows build is doable;
in this case, we just have to write code that compiles both for Visual Studio and gcc, even if it means getting rid of esoteric C++14 features
you are right, there are a lot of code dependencies ; but this is the thing that once done, never has to be done again
this is a case, where having CMake as the build system is a must have I used a script to build the dependencies for the 3.0 branch, this is the CMake script used, not complete regarding list of source files https://github.com/pedro-vicente/mapnik/blob/master/CMakeLists.txt list of dependencies can be built with https://github.com/pedro-vicente/mapnik/blob/master/build/bld.bat https://github.com/pedro-vicente/mapnik/blob/master/build/dep.bat EDIT all this concerns mapnik itself, not node-mapnik |
Following up on @pedro-vicente 's post, we'd love to find someone we could pay to get the 3.0 branch compiling and passing tests on VS 2019 (again mapnik, not node-mapnik). Pedro himself is not available for quite some time and we'd love to see this happen sooner. Feel free to write me at [email protected] if you're interested. |
Mapnik incompatibility with boost 1.7 prevent it from building with vcpkg - vcpkg has no support for different lib versions - only the last added one. Are you planing to support it? |
@dalelutz, @KuDeSnik33ra the fork in my profile is compatible with vcpkg and I am currently adding the port into vcpkg so it is possible to build it on the windows. |
@springmeyer I'd be interested in bringing Windows support back to life and was wondering if you might have some guidance on where to begin. |
I have a windows version of mapnik on my github which can be possibly
useful. We might probably fix its vcpkg version as well. I have tried to do
it but couldn't spend much time on it. Its pull request is available in
vcpkg issues.
…On Sat., Apr. 17, 2021, 12:33 a.m. RavelDevelopment, < ***@***.***> wrote:
@springmeyer <https://github.com/springmeyer> I'd be interested in
bringing Windows support back to life and was wondering if you might have
some guidance on where to begin.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#848 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABD5JLZSGBUKM7CECJWIGEDTJEFTNANCNFSM4EPJJTFA>
.
|
For many years we've supported windows in the node-mapnik project, keeping builds working on appveyor and providing binaries for all downstream users.
We've been providing windows binaries since 2014 (v1.4.8 release): #202 (comment)
The time has come to drop support however. This is a tough decision because I'd like to keep supporting windows, but I don't have the ability to.
So, windows binaries are no longer going to be supported for > node-mapnik v3.6.3.
I'm sorry to those of you who have been depending on these binaries over the years (especially to those that might have downstream users or companies depending on them as well). This news probably comes as a major inconvenience/disappointment/surprise.
I've been developing in C++ for over 10 years now and much of that time I've been maintaining builds across mac, linux, windows for a variety of projects. Getting Mapnik running on Windows is the one of the hardest and most labor intensive things I've worked on due to:
All of these things combine with the fact that I'm managing a team at Mapbox now and I don't have the time to dig into failed builds. Also my colleague @BergWerkGIS, who was a major force behind making this system work for many years, has moved on to work on other things at Mapbox unrelated to C++ builds. Lastly we've been supporting windows for a couple years now without actually needing it at Mapbox (we don't depend on the windows builds of mapnik or node-mapnik since moving our focus to Mapbox GL - refs https://www.mapbox.com/help/upgrading-from-classic/ and https://www.mapbox.com/help/upgrading-from-classic/).
As such mapnik is no longer building on windows, and its tests have been failing for some time: https://ci.appveyor.com/project/Mapbox/mapnik/history.
If someone were to pick this up they would need to:
node-mapnik/scripts/build-appveyor.bat
Line 26 in 176a87d
Since there is nobody that I know to step up to maintain this system, then my only reasonable option at this point is to drop support for node-mapnik on windows going forward.
So, my recommended solution for developers on windows that are depending on node-mapnik is to pin your usage in your
package.json
to v3.6.2 like:Mentioning a few people on this ticket who, from looking at past issues (https://github.com/mapnik/node-mapnik/search?q=windows&type=Issues&utf8=%E2%9C%93), have been users of node-mapnik on windows: @donnyv @eczajk1 @vjpr @BHare1985 @andrelom @bmehta @TimJMartin @germanjoey @aparshin @qiyexue @fnicollet @jbrwn @rclark @n9 @mohsentaleb @djodonnell @iceaxe @mojodna @beaugunderson @strk @mapbox/core-tech
The text was updated successfully, but these errors were encountered: