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

libosrm interface broken due to public API changes #5548

Closed
daniel-j-h opened this issue Sep 11, 2019 · 7 comments · Fixed by #5861 · May be fixed by daniel-j-h/libosrmc#17
Closed

libosrm interface broken due to public API changes #5548

daniel-j-h opened this issue Sep 11, 2019 · 7 comments · Fixed by #5861 · May be fixed by daniel-j-h/libosrmc#17

Comments

@daniel-j-h
Copy link
Member

Hey folks, I have someone reporting my tiny C wrapper no longer compiling against libosrm.

Looks like you folks changed the libosrm public API in

75aadb0#diff-e8cabd3a392567e2a889841a1e789cc4

which was most likely by accident.

See for context: daniel-j-h/libosrmc#11

Best,
Daniel

@gardster
Copy link
Contributor

Hi!

Yes this interface was changed as a side effect on introducing new binary response format.
#5512
#5513

@daniel-j-h
Copy link
Member Author

As per

https://github.com/Project-OSRM/osrm-backend/blob/master/docs/releasing.md

Minor version change
Forward-compatible C++ library API

in the previous years we used to keep the API stable during minor version releases.

If this is changing now we should update the docs and/or have a look at issues and pull requests for the major version 6 milestone https://github.com/Project-OSRM/osrm-backend/milestone/3

@gardster
Copy link
Contributor

I understand your concerns.

It seems that Mapbox does not develop OSRM now. For a long time, commits from its developers does not appear and pool requests from third parties were not merged.
It’s only me who merged pull requests for the past serveral months. Alone, I don’t have enough rights to release a new version (I can’t merge self PRs without review).
I have 2 ways left. To merge the contributions from other participants to the master, checking that PR does not break the master branch and meets minimal code style requirements. Perhaps one of them will be able to get interested in the project enough to continue to support it with me and got commit right from Mapbox. Or we can freeze the API and avoid all breaking changes. But projects that are afraid to change something in their API's, usually lose their relevance and disappear.

@ghost
Copy link

ghost commented Sep 16, 2019

Hi @gardster I am the one who raised the compile issue with @daniel-j-h's library. Please let me know what the best way to proceed is. If the changes could be isolated and enumerated, I can look into patching them with help from some colleagues, but we will definitely be much slower since we aren't very familiar with the internals of either codebase.

@gardster
Copy link
Contributor

Hi @rdkt
Can you use latest official OSRM release to link with the library? Just checkout 5.22 branch instead of master one.
Or you can propose a PR in the libosrmc repository that will make it compatible with latest changes.

@akashihi
Copy link
Contributor

Well, i broke it so i'll fix it: daniel-j-h/libosrmc#17

@ghost
Copy link

ghost commented Oct 12, 2019

A colleague and I have implemented changes that make libosrmc compatible with 5.22 (it's on my fork of the repo). The code might be a little hacky since we only touched the parts needed for our application (only modifying the Python-relevant bindings), but my colleague also added support for Match. Could help get us closer to the finish line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment