systemed / tilemaker

Make OpenStreetMap vector tiles without the stack
https://tilemaker.org/
Other
1.46k stars 230 forks source link

Trying to install on Mac #690

Open mynameisjoey opened 7 months ago

mynameisjoey commented 7 months ago

getting this error:

clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [tilemaker] Error 1 Using lua

systemed commented 7 months ago

Please supply more details:

mynameisjoey commented 7 months ago

Please supply more details:

  • what OS version

  • Apple Silicon or Intel

  • what libraries you've installed, what versions, and how you installed them

  • OS: 14.2.1 Sonoma

  • Apple Silicon (M3)

  • brew install boost lua shapelib rapidjson (Lua 5.4.6, boost 1.58)

stillhart commented 1 month ago

I'm in a similar situation:

~/tilemaker make                                                                                                                                                                                                                                                                                                                  (master)
Using luajit
- Lua language version 5.1
- LuaJIT version 2.1
- include path is -I/opt/homebrew/include/luajit-2.1 -DLUAJIT
- library path is -lluajit-5.1
c++ -O3 -Wall -Wno-unknown-pragmas -Wno-sign-compare -std=c++14 -pthread -fPIE -DTM_VERSION=v3.0.0  -o src/mmap_allocator.o -c src/mmap_allocator.cpp -I/opt/homebrew/include -isystem ./include -I./src -I/opt/homebrew/include/luajit-2.1 -DLUAJIT
src/mmap_allocator.cpp:227:21: error: no member named 'destroy' in 'boost::interprocess::allocator<unsigned char, boost::interprocess::segment_manager<char, boost::interprocess::rbtree_best_fit<boost::interprocess::null_mutex_family>, boost::interprocess::iset_index>>'
                        return allocator.destroy(reinterpret_cast<uint8_t *>(p));
                               ~~~~~~~~~ ^
src/mmap_allocator.cpp:235:14: error: no member named 'destroy' in 'boost::interprocess::allocator<unsigned char, boost::interprocess::segment_manager<char, boost::interprocess::rbtree_best_fit<boost::interprocess::null_mutex_family>, boost::interprocess::iset_index>>'
                        allocator.destroy(reinterpret_cast<uint8_t *>(p));
                        ~~~~~~~~~ ^
src/mmap_allocator.cpp:245:14: error: no member named 'destroy' in 'boost::interprocess::allocator<unsigned char, boost::interprocess::segment_manager<char, boost::interprocess::rbtree_best_fit<boost::interprocess::null_mutex_family>, boost::interprocess::iset_index>>'
                        allocator.destroy(reinterpret_cast<uint8_t *>(p));
                        ~~~~~~~~~ ^
src/mmap_allocator.cpp:254:14: error: no member named 'destroy' in 'boost::interprocess::allocator<unsigned char, boost::interprocess::segment_manager<char, boost::interprocess::rbtree_best_fit<boost::interprocess::null_mutex_family>, boost::interprocess::iset_index>>'
                        allocator.destroy(reinterpret_cast<uint8_t *>(p));
                        ~~~~~~~~~ ^
4 errors generated.
make: *** [src/mmap_allocator.o] Error 1
backspace commented 1 month ago

I was able to get it building on an M1 with Sonoma by installing an older version of Boost. I saw here a mention of 1.66; Homebrew doesn’t have that but does have 1.76, for now, but it warned me it’ll be removed by December!

When I did this:

brew install boost@1.76
brew link --force boost@1.76
brew link --overwrite boost@1.76

Then make succeeded (after make clean), I hope I didn’t break anything 🙃

bmorg commented 2 weeks ago

I am running into the same error as @stillhart. I used to be able to build without a problem a few months ago.