gui-apps/organicmaps: fix compilation#297
gui-apps/organicmaps: fix compilation#297vitaly-zdanevich wants to merge 2 commits intogentoo:devfrom
Conversation
|
done. |
Organic Maps compiles and starts. Should I check some additional cases? |
Currently in the main tree we have ~utfcpp-4.0.6 |
|
Should I add to Guru remaining EGIT_SUBMODULES ? |
Done. Its ok now? |
|
Fix the PYTHON_COMPAT and also use a versioned ebuild instead of a live ebuild |
|
At first glance seems protobuf could also be unbundled |
What fix? Looks good to me |
Ok, but let me please add versioned ebuild after merging of this fix to live ebuild - because anyway we want to have live ebuild as well. |
Tried, got |
This does not work unfortunately, see this upstream PR. To document this, I mentioned it in the commit message of my previous PR and asked OP above to do the same. |
The release tarball of OrganicMaps does not contain the needed bundled dependencies. Unbundling is complicated (needs appropriate header patching). However, the bundled dependencies have no releases at all (just_gtfs and fast_obj and an old protobuf. I'm not sure, how to handle this:
|
I added such comments into ebuild itself. |
Created mapsme/just_gtfs#23 |
|
It compiles and starts on your PC but probably it won't start on a fresh Gentoo install. You can check the binary (for example with |
Ah, I missed it. Youre right, then you could download the release tarball and copy it to 3party/fast_obj within the ebuild or try to unbundle it by creating the correct patch for OrganicMaps and adding fast_obj as proper package/ebuild here. |
e76a756 to
6752ec6
Compare
|
Added dep |
Thanks, checked - found only two missing deps. Others - deps of existing dep |
|
qtbase contains a lot of libraries (managed by use flags). AFAIK, OM links against them directly, so please add them, too (OM will not build, if one of that useflag is deactivated by the user). |
617e477 to
cdcb0bb
Compare
|
It can be merged, I will add versioned ebuild on the next PR, for smaller atomic PRs. |
|
commits have to be atomic, not PR. If you are going to add a versioned ebuild, better do it in this same PR |
|
Have no time now, I am traveling. Better to fix the broken ebuild now, by merging this PR. |
|
I think it has been broken for so much time we can wait some days. It's also easier to handle one single PR. |
262b29b to
9e63efd
Compare
|
Fixed, ready to merge. |
| JUST_GTFS_COMMIT="7516753825500f90ac2de6f18c256d5abec1ff33" | ||
| PROTOBUF_COMMIT="9442c12e866b56369f1c53abea1261259c924a19" | ||
| TEST_DATA_COMMIT="30ecb0b3fe694a582edfacc2a7425b6f01f9fec6" | ||
| WORLD_FEED_TESTS_S="${WORKDIR}/world_feed_integration_tests_data-${TEST_DATA_COMMIT}" |
There was a problem hiding this comment.
There is multiple errors due to the bundled deps:
* The following files are causing errors:
* 3party/imgui/imgui/examples/example_glfw_vulkan/CMakeLists.txt:2.8
* 3party/osrm/osrm-backend/CMakeLists.txt:2.8.8
* 3party/osrm/osrm-backend/third_party/libosmium/CMakeLists.txt:2.8
* 3party/fast_obj/CMakeLists.txt:3.0
*
* Compatibility with CMake < 3.10 will be removed in a future release.
* See also tracker bug #964405; check existing or file a new bug for this package.
* If not fixed in upstream's code repository, we should make sure they are aware.
There was a problem hiding this comment.
Its a warning, I notified the upstream organicmaps/organicmaps#2217 (comment)
There was a problem hiding this comment.
It's a strong reason to try to unbundle at least imgui (already packaged) and fast_obj (which I think there was a WIP PR about it already) and osrm.
There was a problem hiding this comment.
It's a strong reason to try to unbundle at least imgui
Tried - OrganicMaps is still trying to build its vendored ImGui :(
There was a problem hiding this comment.
and fast_obj (which I think there was a WIP PR about it already
There was a problem hiding this comment.
- Organic Maps embeds all libs so they can work in the same way on all platforms (even where the latest versions of libs are not yet available for whatever reason)
- We often use bleeding-edge master/main branch commits for deps for performance and bugfixes
- We're always keeping libs up-to-date. The latest PR would bump all versions to the freshest ones 3party update organicmaps/organicmaps#12205
- It is very easy to support all versions in one place
- We prefer everyone to use the same tested version of the dependency when we receive bugreports. Otherwise, different/older deps may complicate support.
- If you feel that some Organic Maps dependency is outdated, please let us know or bump it in our repo.
- OSRM can be removed; we don't use it
- You do not need to build everything, building only
desktoptarget is enough. Then most of these dependency issues won't break your builds.
TL;DR; Do not define WITH_SYSTEM_PROVIDED_3PARTY and build only desktop target to distribute OM
There was a problem hiding this comment.
- Organic Maps embeds all libs so they can work in the same way on all platforms (even where the latest versions of libs are not yet available for whatever reason)
Embedding third party libs is a no go.
- We often use bleeding-edge master/main branch commits for deps for performance and bugfixes
Which is fine for a git build / -9999 but not a tagged release. Adding the required versions for tagged releases is easy and doable.
TL;DR; Do not define
WITH_SYSTEM_PROVIDED_3PARTYand build onlydesktoptarget to distribute OM
Not defining WITH_SYSTEM_PROVIDED_3PARTY will mean that this won't get accepted.
There was a problem hiding this comment.
Not defining
WITH_SYSTEM_PROVIDED_3PARTYwill mean that this won't get accepted.I don't see the point of migrating to gentoo-zh
@peeweep
The point is - if here on ::guru they do not like vendoring - when ebuild using a few libs not from the overlay but download them from upstreams.
Signed-off-by: Vitaly Zdanevich <zdanevich.vitaly@ya.ru>
9e63efd to
c914afd
Compare
Signed-off-by: Vitaly Zdanevich <zdanevich.vitaly@ya.ru>
c914afd to
4b7a350
Compare
|
Fixed. |


In the next PR will add versioned ebuild.
Based on #185
@gerion0 Please review
After emerge I see this in logs - should I do something with that?