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

Build OSRM with 64-bit IDs so we can extract planet.osm.pbf foot profile #1

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

pxpeterxu
Copy link

@pxpeterxu pxpeterxu commented May 1, 2024

Issue

Multiple GitHub issues have mentioned that building the planet.osm.pbf (worldwide OSM dataset) with the foot profile results in segmentation faults.

Tasklist

  • CHANGELOG.md entry (How to write a changelog entry)
  • update relevant Wiki pages
  • add tests (see testing documentation)
    • Note: we did not add tests, but did run the tests based on the documentation to make sure they passed in 64-bit mode:
      cd osrm-backend
      mkdir -p build
      cd build
      cmake -DUSE_64BIT_IDS ..
      make tests
  • review
  • adjust for comments
  • cherry pick to release branch

Requirements / Relations

Link any requirements here. Other pull requests this PR is based on? None

Wiki changes once merged in

Add to https://github.com/Project-OSRM/osrm-backend/wiki/Building-OSRM/_edit

Debug mode
mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
cmake --build .
sudo cmake --build . --target install
With 64-bit node and edge IDs (currently unreleased as of May, 2024: #1)

If you're trying to build the foot profile for the whole planet (i.e. using planet.osm.pbf), you'll need 64-bit IDs for the number of edges and nodes in OSRM. Otherwise, you'll get a segmentation fault.

Warning: This will cause OSRM to use more memory during osrm-extract, etc. so this is not recommended unless you absolutely need to build the foot profile for the whole planet.

mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DUSE_64BIT_IDS
cmake --build .
sudo cmake --build . --target install

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant