-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
[MAPNIK] new port added #11656
[MAPNIK] new port added #11656
Conversation
It seems the review suggestions are not been resolved yet. |
Hi @NancyLi1013 , I had addressed them but I did not push them because I was trying to figure out the reason why it fails on |
OK. You can push them after you solved the failures. I will try to review this PR again when you have done all work for this PR. |
Thanks. I pushed almost all of the changes. however still waiting for the results of the checks for x64-windows and linux. |
@am2222 |
@NancyLi1013 Thanks. I did not notice that conflict. I resolved it. But for some reason it does not pass tests while it builds on my machine for both
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
comments are applied.
Could you please resolve the conflicts again? |
Sure, thanks. I am trying to make a set of patches. I will push it soon. I found the reason why it is breaking on windows tests |
Hi @am2222 |
For x64-windows, vcpkg was giving a command parse error for install mapnik[proj4,input_shape]. I had to change all the input_* features to input-* in the CONTROL and portfile.cmake to allow install mapnik[proj4,input-shape]. For x64-windows using Visual Studio 16.7.5 for vcpkg to compile I had to: For linking errors from including mapnik headers in my code: |
Thanks I will apply the changes you mentioned and will push request again. Thanks |
@am2222 |
@NancyLi1013 I think so far it does not work on the x64_linux,x64_osx,x86_windows,arm_uwp. I think there is an issue with one of the dependencies. Can I have the logs? |
You can get the log here: |
These changes are (still) needed. I also needed to add I was building x64-windows with dependencies as static (however gdal, icu, boost-regex, libpq and openssl need to be dynamic). After those changes the build was successfull though (haven't linked against it yet). |
Are you working with latest version of mapnik? Since I could not make it work with the latest version |
I'm using the version you have used in this pull request i.e.:
|
@SNiLD Can you please let me know what other changes did you made that it worked? It works on my local machine but breaks here |
Well first of all I compiled with Visual Studio 2017 Express Edition in x64 mode (from command prompt started with I used following triplet (named
The build command I used was: I didn't need to do other changes than mentioned in my other post. |
Now that I tried to use mapnik I faced couple of problems with this build. First you need to apply mapbox/variant#182 and mapnik/mapnik#4184 to fix MIN/MAX macro incompatibility with Visual Studio. I also needed to fix following things:
I can't provide you a pull request because Github doesn't support me to have fork of fork when I already have fork of the main project. 💯 diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3e6f4049c..d6c393c51 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -163,7 +163,8 @@ set(mapnik_include_paths
deps/mapbox/polylabel/include
deps/mapbox/variant/include)
-
+install(DIRECTORY deps/agg/include/ DESTINATION include CONFIGURATIONS Release)
+install(DIRECTORY deps/mapbox/geometry/include/ DESTINATION include CONFIGURATIONS Release)
include_directories(${mapnik_include_paths} ${thirdparty_include_paths})
@@ -175,7 +176,7 @@ if (MAPNIK_STATIC_LIB)
else ()
message(STATUS "Building shared library")
add_library(mapnik SHARED ${MAPNIK_SOURCES} ${MAPNIK_AGG_SOURCES} ${AGG_SOURCES})
- target_compile_definitions(mapnik PRIVATE -DMAPNIK_EXPORTS)
+ set_target_properties(mapnik PROPERTIES DEFINE_SYMBOL MAPNIK_EXPORTS)
set(MAPNIK_LIB_DEFINITION )
endif ()
@@ -201,9 +202,7 @@ target_link_libraries(mapnik PUBLIC
# )
-install(TARGETS mapnik
- LIBRARY DESTINATION lib
- RUNTIME DESTINATION bin)
+install(TARGETS mapnik)
add_subdirectory(src/json)
add_subdirectory(src/wkt) Btw. I have made CMake support for mapnik long time ago based on their SCons scripts (version 3.0.11). Maybe those could help you as well: https://github.com/SNiLD/mapnik/tree/cmake |
@SNiLD Thanks for the information, I am currently doing my comp exam until mid Dec, I will try to fix them then, |
Hi @NancyLi1013 , I could not manage to fix the issues with it yet. I had to take my comp exam and could not spend much time on it. I am not sure if the other PR has solved it or not. If yes we can use it, However I will update the forked mapnik repo with the latest mapnik version |
@am2222 yes, I have resolved the issues. Additionally mapbox/geometry and mapbox/polylabel were added to vcpkg to not to fetch the contents in the port |
@mathisloge Hi, That is great, so it seems we will finally have it on windows and its nodejs package will also work. that is perfect, probably we need also port its python package as well |
@am2222 that's right. But unfortunately I don't have any spare time to do the node build. But it might be easy with https://github.com/cmake-js/cmake-js |
@am2222 |
@am2222 if you still using node-mapnik I've added a proof of work mapnik/node-mapnik#976 |
@mathisloge Thanks, are you using the github repo of mapnik for building it? if we can fix this port it will be perfect. |
@am2222 |
@am2222 the cmake support is now merged into mapnik@master. |
@mathisloge thanks man, That is a great new. We finally are able to have windows version alive |
Describe the pull request
Adds new port for mapnik [New Port Request] <Mapnik> #7526
Yes
This port has a dependency to the following package
#11652