-
Notifications
You must be signed in to change notification settings - Fork 698
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
MacOS ARM SQLite not found #4097
Comments
Did you follow the docs at https://valhalla.github.io/valhalla/building/#building-from-source-macos? |
My attempt was based off of these docs yes. I think that most of this is about the mac os intel install using Rosetta 2, which I've already done a few times. |
No idea about any of that;) But I soon will, it looks like I'll have to spend lots of days & dev time on M1 soon-ish, ain't looking forward to that! |
I'm very interested in being able to run it on M1 as it is my daily driver, and the performance should in theory be ridiculous. Happy to help out debugging any issues encountered. |
First thing I'd look at is https://github.com/valhalla/valhalla/blob/master/cmake/FindSQLite3.cmake. I bet it doesn't look in the right paths. Feel free to PR a fix. |
I attempted to make modifications to this file already but hit a dead end. I was possibly pathing to the right file as I did it with a manual path, but the enable_load_extension thing might have still been disabled. I even tried installing sqlite3 it from source with dynamic load extension set to true, but my tests suggested it wasn't enabled still (assuming this test was even pathing to the right place) |
I think the path should be to "/opt/homebrew/opt/sqlite3" (i think" /opt/homebrew/opt/sqlite" goes to the same place though). I had no luck with adding this though. Would path to homebrew because the system version has dynamic extension loading off for security reasons. |
OK, that does sound painful.. I had a similar problem once for a MinGW build but memory eludes me.. If you're not strongly set on building data on your M1, you don't need SQLite (or any of the |
That's what I'll do if M1 pisses me off for longer than a few mins;) |
I'm not a tile expert but I don't think they're platform dependent because I built mine on a linux docker, and then I run them on mac os intel (emulated with Rosetta 2 on M1), so building them is definitely a low priority. |
wait, that would both be simular architectures wouldn't it.. anyway, I don't think it matters? |
yeah.. still, I think it works. try it, if it works, then do cmake with |
and |
I ran "cmake -B build -DCMAKE_BUILD_TYPE=Release -DDATA_TOOLS=OFF -DENABLE_TESTS=OFF" and got the exact same problem |
did you nuke your build folder before? |
yes. and I did a fresh clone. |
With "-DDATA_TOOLS=OFF", it shouldn't even look for it as far as I can see in the cmake. I'll try commenting that out. |
as expected, it zoomed straight past where the error occurred, but then it hit the tile building part and got dependency complaints. I don't know why the "-DDATA_TOOLS=OFF" was ignored for me |
oops, it's add a |
I had to rebuild prime_server for Mac OS ARM because I had only done it for intel x86, but everything has now built. time to test it. |
libc++abi: terminating due to uncaught exception of type boost::wrapexceptboost::property_tree::ptree_bad_path: No such node (httpd.service.timeout_seconds) I don't seem to have boost on homebrew for ARM. maybe I missed that error because of the single files with error flag. Made no difference anyway. |
create a new JSON config, you just don't have that key in there, it's been added a few months ago |
Ok, I'm using the same config from the one I built a year or so ago, so that would be it. thanks |
How do I create a new one of these (config.json)? Did I get it when I built my tiles, I can't remember anymore |
Nevermind, I added that parameter manually |
yes the tiles are platform independent, they have to be binary compatible on any architecture yes i think we should get m1 building the whole stack even if it means screwing around with cmake dependency stuff. if i had access to an m1 i could help but i would never willingly give apple my money. you said you manually added the config parameter, perhaps its best that you use |
ok, I replaced with a new one built from "valhalla_build_config". Routing seems works perfectly, but the isochrones are still just as broken as before |
I've got the python bindings working for Mac OS ARM, which is really nice. I just need to work out what is wrong with these isochrones |
well we'll need to debug it a little closer then i suspect. tell us what data you are using, tell us what request you are sending and tell us the reseponse you are getting, that should be the first stage in debugging this |
{'features': [{'properties': {'fill-opacity': 0.33, not enough coordinates in the geometry. Similar result for all locations I've tried. |
feel free to open another issue |
why did we close this if it doesn't build? i get there is some other problem with isochrones but it not finding sqlite stuff should be fixed before closing |
I'd guess we can close this finally:) |
Hi,
Has anyone succeeded in building Valhalla for Mac OS ARM?
After many attempts, starting with brew install, and then installing from source with the dynamic extension loading flag on, I couldn't get past this first error "sqlite_enable_load_extension is disabled.", as per the image below
I can see that it is pathing to my intel installs for sqlite, but I also tried manually pathing the cmake to the ARM ones with no success
The text was updated successfully, but these errors were encountered: