openstreetmap/OSM-binary

osm-pbf 1.4.0 OSX build issue

chenrui333 opened this issue ยท 8 comments

๐Ÿ‘‹ I have run into some build issue for osm-pbf 1.4.0, the error log is as follows:

==> make
protoc --proto_path=. --cpp_out=. fileformat.proto
protoc --proto_path=. --cpp_out=. osmformat.proto
cp -v fileformat.pb.h ../include/osmpbf/
fileformat.pb.h -> ../include/osmpbf/fileformat.pb.h
clang++ -O3 -Wall -Wextra -pedantic -Wredundant-decls -Wdisabled-optimization -Wctor-dtor-privacy -Wnon-virtual-dtor -Woverloaded-virtual -Wsign-promo -Wno-long-long -fPIC -c -o fileformat.pb.o fileformat.pb.cc
cp -v osmformat.pb.h ../include/osmpbf/
osmformat.pb.h -> ../include/osmpbf/osmformat.pb.h
clang++ -O3 -Wall -Wextra -pedantic -Wredundant-decls -Wdisabled-optimization -Wctor-dtor-privacy -Wnon-virtual-dtor -Woverloaded-virtual -Wsign-promo -Wno-long-long -fPIC -c -o osmformat.pb.o osmformat.pb.cc
ar -cr libosmpbf.a fileformat.pb.o osmformat.pb.o
clang++ -shared -Wl,-soname,libosmpbf.so.1 -o libosmpbf.so fileformat.pb.o osmformat.pb.o
ld: unknown option: -soname
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [libosmpbf.so] Error 1
rm osmformat.pb.cc fileformat.pb.cc

relates to Homebrew/homebrew-core#63778

any update?

See Homebrew/legacy-homebrew#11972 (comment) and https://stackoverflow.com/a/8424297/205629

I had a similar issue on OS X which I resolved using the the install_name switch instead of soname.

Thanks for the direction, let me give a shot.

joto commented

I have cleaned up the CMake-based configuration and the README now explains how to build this with CMake instead of using just make. This should be much better now in "doing the right thing" on different platforms. Maybe you want to give it a try.

Wonderful, let me give a cmake a shot.

still not buildable for me.

build error
=> cmake .. -DCMAKE_C_FLAGS_RELEASE=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/osm-pbf/1.4.0 -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE=Release -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFILE=ON -Wno-dev -DCMAKE_OSX_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk
-- The C compiler identification is AppleClang 11.0.0.11000033
-- The CXX compiler identification is AppleClang 11.0.0.11000033
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Protobuf: /usr/local/lib/libprotobuf.dylib (found version "3.14.0")
-- Found ZLIB: /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/lib/libz.tbd (found version "1.2.11")
-- Found Threads: TRUE
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_INSTALL_LIBDIR


-- Build files have been written to: /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build
==> make install
/usr/local/Cellar/cmake/3.18.4/bin/cmake -S/tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0 -B/tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/local/Cellar/cmake/3.18.4/bin/cmake -E cmake_progress_start /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/CMakeFiles /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build//CMakeFiles/progress.marks
/Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/Makefile2 all
/Applications/Xcode.app/Contents/Developer/usr/bin/make  -f src/CMakeFiles/osmpbf.dir/build.make src/CMakeFiles/osmpbf.dir/depend
[ 14%] Running cpp protocol buffer compiler on fileformat.proto
[ 28%] Running cpp protocol buffer compiler on osmformat.proto
cd /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src && /usr/local/bin/protoc --cpp_out /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src -I /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/src /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/src/fileformat.proto
cd /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src && /usr/local/bin/protoc --cpp_out /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src -I /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/src /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/src/osmformat.proto
cd /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build && /usr/local/Cellar/cmake/3.18.4/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0 /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/src /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src/CMakeFiles/osmpbf.dir/DependInfo.cmake --color=
Scanning dependencies of target osmpbf
/Applications/Xcode.app/Contents/Developer/usr/bin/make  -f src/CMakeFiles/osmpbf.dir/build.make src/CMakeFiles/osmpbf.dir/build
[ 42%] Building CXX object src/CMakeFiles/osmpbf.dir/fileformat.pb.cc.o
cd /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src && /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++  -I/tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/include -O3 -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -std=gnu++11 -o CMakeFiles/osmpbf.dir/fileformat.pb.cc.o -c /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src/fileformat.pb.cc
[ 57%] Building CXX object src/CMakeFiles/osmpbf.dir/osmformat.pb.cc.o
cd /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src && /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++  -I/tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/include -O3 -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -std=gnu++11 -o CMakeFiles/osmpbf.dir/osmformat.pb.cc.o -c /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src/osmformat.pb.cc
[ 71%] Linking CXX static library libosmpbf.a
cd /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src && /usr/local/Cellar/cmake/3.18.4/bin/cmake -P CMakeFiles/osmpbf.dir/cmake_clean_target.cmake
cd /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src && /usr/local/Cellar/cmake/3.18.4/bin/cmake -E cmake_link_script CMakeFiles/osmpbf.dir/link.txt --verbose=1
/usr/bin/ar qc libosmpbf.a CMakeFiles/osmpbf.dir/fileformat.pb.cc.o CMakeFiles/osmpbf.dir/osmformat.pb.cc.o
/usr/bin/ranlib libosmpbf.a
cd /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src && /usr/local/Cellar/cmake/3.18.4/bin/cmake -E copy /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src/fileformat.pb.h /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/include/osmpbf
cd /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src && /usr/local/Cellar/cmake/3.18.4/bin/cmake -E copy /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/src/osmformat.pb.h /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/include/osmpbf
[ 71%] Built target osmpbf
/Applications/Xcode.app/Contents/Developer/usr/bin/make  -f tools/CMakeFiles/osmpbf-outline.dir/build.make tools/CMakeFiles/osmpbf-outline.dir/depend
cd /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build && /usr/local/Cellar/cmake/3.18.4/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0 /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/tools /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/tools /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/tools/CMakeFiles/osmpbf-outline.dir/DependInfo.cmake --color=
Scanning dependencies of target osmpbf-outline
/Applications/Xcode.app/Contents/Developer/usr/bin/make  -f tools/CMakeFiles/osmpbf-outline.dir/build.make tools/CMakeFiles/osmpbf-outline.dir/build
[ 85%] Building CXX object tools/CMakeFiles/osmpbf-outline.dir/osmpbf-outline.cpp.o
cd /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/tools && /usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++  -I/tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/include -O3 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -std=gnu++11 -o CMakeFiles/osmpbf-outline.dir/osmpbf-outline.cpp.o -c /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/tools/osmpbf-outline.cpp
[100%] Linking CXX executable osmpbf-outline
cd /tmp/osm-pbf-20210102-64067-12mv9wt/OSM-binary-1.4.0/build/tools && /usr/local/Cellar/cmake/3.18.4/bin/cmake -E cmake_link_script CMakeFiles/osmpbf-outline.dir/link.txt --verbose=1
/usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -O3 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/osmpbf-outline.dir/osmpbf-outline.cpp.o -o osmpbf-outline  /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/lib/libz.tbd ../src/libosmpbf.a /usr/local/lib/libprotobuf-lite.dylib
Undefined symbols for architecture x86_64:
  "google::protobuf::UnknownFieldSet::ClearFallback()", referenced from:
      void google::protobuf::internal::InternalMetadata::Delete<google::protobuf::UnknownFieldSet>() in libosmpbf.a(fileformat.pb.cc.o)
      void google::protobuf::internal::arena_destruct_object<google::protobuf::internal::InternalMetadata::Container<google::protobuf::UnknownFieldSet> >(void*) in libosmpbf.a(fileformat.pb.cc.o)
      void google::protobuf::internal::InternalMetadata::DoClear<google::protobuf::UnknownFieldSet>() in libosmpbf.a(fileformat.pb.cc.o)
      void google::protobuf::internal::InternalMetadata::Delete<google::protobuf::UnknownFieldSet>() in libosmpbf.a(osmformat.pb.cc.o)
      void google::protobuf::internal::arena_destruct_object<google::protobuf::internal::InternalMetadata::Container<google::protobuf::UnknownFieldSet> >(void*) in libosmpbf.a(osmformat.pb.cc.o)
      void google::protobuf::internal::InternalMetadata::DoClear<google::protobuf::UnknownFieldSet>() in libosmpbf.a(osmformat.pb.cc.o)
  "google::protobuf::UnknownFieldSet::AddVarint(int, unsigned long long)", referenced from:
      OSMPBF::Relation::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libosmpbf.a(osmformat.pb.cc.o)
      char const* google::protobuf::internal::EpsCopyInputStream::ReadPackedVarint<char const* google::protobuf::internal::PackedEnumParser<google::protobuf::UnknownFieldSet>(void*, char const*, google::protobuf::internal::ParseContext*, bool (*)(int), google::protobuf::internal::InternalMetadata*, int)::'lambda'(unsigned long long)>(char const*, char const* google::protobuf::internal::PackedEnumParser<google::protobuf::UnknownFieldSet>(void*, char const*, google::protobuf::internal::ParseContext*, bool (*)(int), google::protobuf::internal::InternalMetadata*, int)::'lambda'(unsigned long long)) in libosmpbf.a(osmformat.pb.cc.o)
  "google::protobuf::UnknownFieldSet::MergeFrom(google::protobuf::UnknownFieldSet const&)", referenced from:
      void google::protobuf::internal::InternalMetadata::DoMergeFrom<google::protobuf::UnknownFieldSet>(google::protobuf::UnknownFieldSet const&) in libosmpbf.a(fileformat.pb.cc.o)
      void google::protobuf::internal::InternalMetadata::DoMergeFrom<google::protobuf::UnknownFieldSet>(google::protobuf::UnknownFieldSet const&) in libosmpbf.a(osmformat.pb.cc.o)
  "google::protobuf::Message::DiscardUnknownFields()", referenced from:
      vtable for OSMPBF::Blob in libosmpbf.a(fileformat.pb.cc.o)
      vtable for OSMPBF::BlobHeader in libosmpbf.a(fileformat.pb.cc.o)
      vtable for OSMPBF::HeaderBlock in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::HeaderBBox in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::PrimitiveBlock in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::PrimitiveGroup in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::StringTable in libosmpbf.a(osmformat.pb.cc.o)
      ...
  "google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&)", referenced from:
      vtable for OSMPBF::Blob in libosmpbf.a(fileformat.pb.cc.o)
      vtable for OSMPBF::BlobHeader in libosmpbf.a(fileformat.pb.cc.o)
      vtable for OSMPBF::HeaderBlock in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::HeaderBBox in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::PrimitiveBlock in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::PrimitiveGroup in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::StringTable in libosmpbf.a(osmformat.pb.cc.o)
      ...
  "google::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet const&, unsigned char*, google::protobuf::io::EpsCopyOutputStream*)", referenced from:
      OSMPBF::Blob::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libosmpbf.a(fileformat.pb.cc.o)
      OSMPBF::BlobHeader::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libosmpbf.a(fileformat.pb.cc.o)
      OSMPBF::HeaderBlock::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::HeaderBBox::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::PrimitiveBlock::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::PrimitiveGroup::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::StringTable::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in libosmpbf.a(osmformat.pb.cc.o)
      ...
  "google::protobuf::internal::ReflectionOps::Merge(google::protobuf::Message const&, google::protobuf::Message*)", referenced from:
      OSMPBF::Blob::MergeFrom(google::protobuf::Message const&) in libosmpbf.a(fileformat.pb.cc.o)
      OSMPBF::BlobHeader::MergeFrom(google::protobuf::Message const&) in libosmpbf.a(fileformat.pb.cc.o)
      OSMPBF::HeaderBlock::MergeFrom(google::protobuf::Message const&) in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::HeaderBBox::MergeFrom(google::protobuf::Message const&) in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::PrimitiveBlock::MergeFrom(google::protobuf::Message const&) in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::PrimitiveGroup::MergeFrom(google::protobuf::Message const&) in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::StringTable::MergeFrom(google::protobuf::Message const&) in libosmpbf.a(osmformat.pb.cc.o)
      ...
  "google::protobuf::internal::AddDescriptors(google::protobuf::internal::DescriptorTable const*)", referenced from:
      __GLOBAL__sub_I_fileformat.pb.cc in libosmpbf.a(fileformat.pb.cc.o)
      __GLOBAL__sub_I_osmformat.pb.cc in libosmpbf.a(osmformat.pb.cc.o)
  "google::protobuf::internal::AssignDescriptors(google::protobuf::internal::DescriptorTable const*, bool)", referenced from:
      OSMPBF::Blob::GetMetadata() const in libosmpbf.a(fileformat.pb.cc.o)
      OSMPBF::BlobHeader::GetMetadata() const in libosmpbf.a(fileformat.pb.cc.o)
      OSMPBF::Relation_MemberType_descriptor() in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::HeaderBlock::GetMetadata() const in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::HeaderBBox::GetMetadata() const in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::PrimitiveBlock::GetMetadata() const in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::PrimitiveGroup::GetMetadata() const in libosmpbf.a(osmformat.pb.cc.o)
      ...
  "google::protobuf::internal::UnknownFieldParse(unsigned long long, google::protobuf::UnknownFieldSet*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
      OSMPBF::Blob::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libosmpbf.a(fileformat.pb.cc.o)
      OSMPBF::BlobHeader::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libosmpbf.a(fileformat.pb.cc.o)
      OSMPBF::HeaderBlock::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::HeaderBBox::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::PrimitiveBlock::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::PrimitiveGroup::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::StringTable::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in libosmpbf.a(osmformat.pb.cc.o)
      ...
  "google::protobuf::internal::ComputeUnknownFieldsSize(google::protobuf::internal::InternalMetadata const&, unsigned long, google::protobuf::internal::CachedSize*)", referenced from:
      OSMPBF::Blob::ByteSizeLong() const in libosmpbf.a(fileformat.pb.cc.o)
      OSMPBF::BlobHeader::ByteSizeLong() const in libosmpbf.a(fileformat.pb.cc.o)
      OSMPBF::HeaderBlock::ByteSizeLong() const in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::HeaderBBox::ByteSizeLong() const in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::PrimitiveBlock::ByteSizeLong() const in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::PrimitiveGroup::ByteSizeLong() const in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::StringTable::ByteSizeLong() const in libosmpbf.a(osmformat.pb.cc.o)
      ...
  "google::protobuf::Message::GetTypeName() const", referenced from:
      vtable for OSMPBF::Blob in libosmpbf.a(fileformat.pb.cc.o)
      vtable for OSMPBF::BlobHeader in libosmpbf.a(fileformat.pb.cc.o)
      vtable for OSMPBF::HeaderBlock in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::HeaderBBox in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::PrimitiveBlock in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::PrimitiveGroup in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::StringTable in libosmpbf.a(osmformat.pb.cc.o)
      ...
  "google::protobuf::Message::SpaceUsedLong() const", referenced from:
      vtable for OSMPBF::Blob in libosmpbf.a(fileformat.pb.cc.o)
      vtable for OSMPBF::BlobHeader in libosmpbf.a(fileformat.pb.cc.o)
      vtable for OSMPBF::HeaderBlock in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::HeaderBBox in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::PrimitiveBlock in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::PrimitiveGroup in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::StringTable in libosmpbf.a(osmformat.pb.cc.o)
      ...
  "google::protobuf::Message::InitializationErrorString() const", referenced from:
      vtable for OSMPBF::Blob in libosmpbf.a(fileformat.pb.cc.o)
      vtable for OSMPBF::BlobHeader in libosmpbf.a(fileformat.pb.cc.o)
      vtable for OSMPBF::HeaderBlock in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::HeaderBBox in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::PrimitiveBlock in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::PrimitiveGroup in libosmpbf.a(osmformat.pb.cc.o)
      vtable for OSMPBF::StringTable in libosmpbf.a(osmformat.pb.cc.o)
      ...
  "typeinfo for google::protobuf::Message", referenced from:
      OSMPBF::Blob::MergeFrom(google::protobuf::Message const&) in libosmpbf.a(fileformat.pb.cc.o)
      OSMPBF::BlobHeader::MergeFrom(google::protobuf::Message const&) in libosmpbf.a(fileformat.pb.cc.o)
      typeinfo for OSMPBF::Blob in libosmpbf.a(fileformat.pb.cc.o)
      typeinfo for OSMPBF::BlobHeader in libosmpbf.a(fileformat.pb.cc.o)
      OSMPBF::HeaderBlock::MergeFrom(google::protobuf::Message const&) in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::HeaderBBox::MergeFrom(google::protobuf::Message const&) in libosmpbf.a(osmformat.pb.cc.o)
      OSMPBF::PrimitiveBlock::MergeFrom(google::protobuf::Message const&) in libosmpbf.a(osmformat.pb.cc.o)
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [tools/osmpbf-outline] Error 1
make[1]: *** [tools/CMakeFiles/osmpbf-outline.dir/all] Error 2
make: *** [all] Error 2

joto commented

I believe I have fixed that problem now.

joto commented

Closing here. Please open a new issue if there are still problems.