fortyninemaps / karta

A tidy Python package for geospatial computation
https://karta.fortyninemaps.com
MIT License
100 stars 11 forks source link

Compilation failures on Windows due to "inline" #38

Closed JoshCoady closed 7 years ago

JoshCoady commented 7 years ago

When compiling v0.7.4 on Windows 10 using the compiler suggested at https://wiki.python.org/moin/WindowsCompilers#Microsoft_Visual_C.2B-.2B-_14.0_standalone:_Visual_C.2B-.2B-_Build_Tools_2015_.28x86.2C_x64.2C_ARM.29 I get this error:

karta/vector/convexhull.c(2019): error C2433: '__pyx_f_5karta_6vector_9vectorgeo_dist2': 'inline' not permitted on data declarations

and others like it. Just the name of the var changes. I got it to compile by removing the inline keyword from the definitions of cross2, cross3, and dist2 from the vectorgeo source files.

njwilson23 commented 7 years ago

Thanks for this. My thought is to try to set up AppVeyor Windows builds to reproduce this, and then make a fix. That might just be removing the inline declarations.

njwilson23 commented 7 years ago

Okay - getting a working compile on Windows by guess-and-checking appveyor scripts is harder than I thought. I (likely) fixed the issue by removing inline in dc9845c. Windows testing can be a separate issue.

JoshCoady commented 7 years ago

I ended up needing to compile again (new machine) and this is still happening due to inline in the header file vectorgeo.pyd

njwilson23 commented 7 years ago

Thanks for reporting this again. After making the fix, I set up Windows testing on Appveyor (17a11e7f9245c34b07f814cbebd4f66651ff70ec) to make sure that it works.

JoshCoady commented 7 years ago

Thanks. I also pulled the latest from master and verified that it now builds cleanly for me without modification.