-
Notifications
You must be signed in to change notification settings - Fork 4
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
static build #21
static build #21
Conversation
Some licencing stuff missing. Currently pinned to geos 3.9.1. |
I updated the PR with some motivation (top entry). |
There is something wrong with this still, I haven't been able to correctly link geos. |
Figured it out. Had forgotten to link to geos C++ library too. |
geos tests pass with this one as well as tests using a library dependent on geos again. It is an open question which version of geos to ship. |
Hi. This has been tested extensively for a good while now. This change enables the use og this crate in manylinux python packages. |
I'm very excited about the possibility to use GEOS in Rust without external dependency! Code looks fine for me. Only question is about embedding the C source code with a git submodule. Does a shallow clone still work, resp. is cloning the submodule only necessary for static linking? @GuillaumeGomez: Would be great having that merged! |
Shallow should work when not using static. You won't have to think about
shallow/deep when installing from crates.
man. 29. nov. 2021, 09:01 skrev Pirmin Kalberer ***@***.***>:
… I'm very excited about the possibility to use GEOS in Rust without
external dependency! Code looks fine for me. Only question is about
embedding the C source code with a git submodule. Does a shallow clone
still work, resp. is cloning the submodule only necessary for static
linking?
@GuillaumeGomez <https://github.com/GuillaumeGomez>: Would be great
having that merged!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#21 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAN3665U3JWQTAILK55K4LUOMXORANCNFSM5DMJZNXA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Hi, do you have any chance at looking at this? Been using for a long time. |
Sorry, I was busy when you opened this PR and then completely forgot about it. Sorry about that. Thanks for this improvement! I'll merge as is to not take any more time and then add a mention of this feature in the README. |
Thanks a lot! This should make georust/geos#99 work as well (perhaps after a release). |
I'm just curious about something: isn't it possible to have this static link without creating a new crate? |
Hm, maybe, I think you'd have to (optionally) build the -src crate in build.rs and link it in there. |
That'd make things much easier overall. Want to give it a try? |
I just tried a little, and it would probably involve calling cargo from build.rs. I see that other libraries usually distribute a -src package:
I think that it would be a bit fragile and messy, so I think the best solution is a -src crate, even though that is not super-great. It does open for depending on different -src versions, which would help the end-user (I have sometimes, temporarily, needed to depend on a specific -src version of openssl to get the build to work). |
Then it's fine. Let's keep thins as is. Just one last thing: what happens if the submodule isn't present when you build in the repository? By default, when building a dependency, I guess it won't be present so it's very likely that it'll never work, right? |
Without |
Does it when you simply use it as a dependency? |
If you use it as a simple dependency (e.g. https://github.com/gauteh/roaring-landmask/blob/main/Cargo.toml#L21) then you don't have to think about it. It will be checked out as necessary by cargo. So both |
Then it's fine. I'll publish both crates so you can update the geos PR. |
Great! Thanks!
…On Mon, Mar 21, 2022 at 11:20 AM Guillaume Gomez ***@***.***> wrote:
Then it's fine. I'll publish both crates so you can update the geos PR.
—
Reply to this email directly, view it on GitHub
<#21 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAN366LS376O7VK2ANNBDDVBBEPFANCNFSM5DMJZNXA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Add
static
feature flag as discussed in #20. Builds and tests fine. libgeos version is 3.9.1.static
flag to geos (add static feature flag geos#94)Motivation