Open chazanov opened 5 years ago
Looking at the first error message something happens with your protocol buffers includes. If you would disable the realtime component, it is likely you can at least proceed testing. I have recently compiled rrrr with both gcc and clang without issues, but consider our enormous number of branches, knowing which branch you tried would also help.
I've tried the master
branch. How can I disable realtime?
Can you try the tdata4 branch?
With tdata4 I'm getting
clang -DRRRR_STRICT -DRRRR_TDATA_IO_DYNAMIC -DRRRR_FAKE_REALTIME -DRRRR_VALGRIND -DRRRR_BITSET_64 -Wextra -Wall -ansi -pedantic -DRRRR_DEBUG -DRRRR_INFO -DRRRR_TDATA -ggdb -O0 -lm -lprotobuf-c -o cli cli.c router.c tdata.c tdata_validation.c bitset.c router_request.c router_result.c util.c tdata_realtime_expanded.c tdata_realtime_alerts.c tdata_io_v4_dynamic.c radixtree.c gtfs-realtime.pb-c.c geometry.c router_dump.c hashgrid.c plan_render_text.c polyline.c json.c plan_render_otp.c api.c set.c string_pool.c hashgrid_street_network.c street_network.c
clang-7: error: no such file or directory: 'gtfs-realtime.pb-c.c'
@chazanov have you actually got protocol buffers and protobuf-c installed?
@skinkie Yes, of course (protobuf 3.7.0 and p-c 1.3.1):
protobuf /usr/bin/protoc
protobuf /usr/include/google/
protobuf /usr/include/google/protobuf/
protobuf /usr/include/google/protobuf/any.h
protobuf /usr/include/google/protobuf/any.pb.h
protobuf /usr/include/google/protobuf/any.proto
protobuf /usr/include/google/protobuf/api.pb.h
protobuf /usr/include/google/protobuf/api.proto
protobuf /usr/include/google/protobuf/arena.h
protobuf /usr/include/google/protobuf/arena_impl.h
protobuf /usr/include/google/protobuf/arenastring.h
protobuf /usr/include/google/protobuf/compiler/
protobuf /usr/include/google/protobuf/compiler/code_generator.h
protobuf /usr/include/google/protobuf/compiler/command_line_interface.h
protobuf /usr/include/google/protobuf/compiler/cpp/
protobuf /usr/include/google/protobuf/compiler/cpp/cpp_generator.h
protobuf /usr/include/google/protobuf/compiler/csharp/
protobuf /usr/include/google/protobuf/compiler/csharp/csharp_generator.h
protobuf /usr/include/google/protobuf/compiler/csharp/csharp_names.h
protobuf /usr/include/google/protobuf/compiler/importer.h
protobuf /usr/include/google/protobuf/compiler/java/
protobuf /usr/include/google/protobuf/compiler/java/java_generator.h
protobuf /usr/include/google/protobuf/compiler/java/java_names.h
protobuf /usr/include/google/protobuf/compiler/js/
protobuf /usr/include/google/protobuf/compiler/js/js_generator.h
protobuf /usr/include/google/protobuf/compiler/js/well_known_types_embed.h
protobuf /usr/include/google/protobuf/compiler/objectivec/
protobuf /usr/include/google/protobuf/compiler/objectivec/objectivec_generator.h
protobuf /usr/include/google/protobuf/compiler/objectivec/objectivec_helpers.h
protobuf /usr/include/google/protobuf/compiler/parser.h
protobuf /usr/include/google/protobuf/compiler/php/
protobuf /usr/include/google/protobuf/compiler/php/php_generator.h
protobuf /usr/include/google/protobuf/compiler/plugin.h
protobuf /usr/include/google/protobuf/compiler/plugin.pb.h
protobuf /usr/include/google/protobuf/compiler/plugin.proto
protobuf /usr/include/google/protobuf/compiler/python/
protobuf /usr/include/google/protobuf/compiler/python/python_generator.h
protobuf /usr/include/google/protobuf/compiler/ruby/
protobuf /usr/include/google/protobuf/compiler/ruby/ruby_generator.h
protobuf /usr/include/google/protobuf/descriptor.h
protobuf /usr/include/google/protobuf/descriptor.pb.h
protobuf /usr/include/google/protobuf/descriptor.proto
protobuf /usr/include/google/protobuf/descriptor_database.h
protobuf /usr/include/google/protobuf/duration.pb.h
protobuf /usr/include/google/protobuf/duration.proto
protobuf /usr/include/google/protobuf/dynamic_message.h
protobuf /usr/include/google/protobuf/empty.pb.h
protobuf /usr/include/google/protobuf/empty.proto
protobuf /usr/include/google/protobuf/extension_set.h
protobuf /usr/include/google/protobuf/extension_set_inl.h
protobuf /usr/include/google/protobuf/field_mask.pb.h
protobuf /usr/include/google/protobuf/field_mask.proto
protobuf /usr/include/google/protobuf/generated_enum_reflection.h
protobuf /usr/include/google/protobuf/generated_enum_util.h
protobuf /usr/include/google/protobuf/generated_message_reflection.h
protobuf /usr/include/google/protobuf/generated_message_table_driven.h
protobuf /usr/include/google/protobuf/generated_message_util.h
protobuf /usr/include/google/protobuf/has_bits.h
protobuf /usr/include/google/protobuf/implicit_weak_message.h
protobuf /usr/include/google/protobuf/inlined_string_field.h
protobuf /usr/include/google/protobuf/io/
protobuf /usr/include/google/protobuf/io/coded_stream.h
protobuf /usr/include/google/protobuf/io/gzip_stream.h
protobuf /usr/include/google/protobuf/io/printer.h
protobuf /usr/include/google/protobuf/io/strtod.h
protobuf /usr/include/google/protobuf/io/tokenizer.h
protobuf /usr/include/google/protobuf/io/zero_copy_stream.h
protobuf /usr/include/google/protobuf/io/zero_copy_stream_impl.h
protobuf /usr/include/google/protobuf/io/zero_copy_stream_impl_lite.h
protobuf /usr/include/google/protobuf/map.h
protobuf /usr/include/google/protobuf/map_entry.h
protobuf /usr/include/google/protobuf/map_entry_lite.h
protobuf /usr/include/google/protobuf/map_field.h
protobuf /usr/include/google/protobuf/map_field_inl.h
protobuf /usr/include/google/protobuf/map_field_lite.h
protobuf /usr/include/google/protobuf/map_type_handler.h
protobuf /usr/include/google/protobuf/message.h
protobuf /usr/include/google/protobuf/message_lite.h
protobuf /usr/include/google/protobuf/metadata.h
protobuf /usr/include/google/protobuf/metadata_lite.h
protobuf /usr/include/google/protobuf/parse_context.h
protobuf /usr/include/google/protobuf/port.h
protobuf /usr/include/google/protobuf/port_def.inc
protobuf /usr/include/google/protobuf/port_undef.inc
protobuf /usr/include/google/protobuf/reflection.h
protobuf /usr/include/google/protobuf/reflection_ops.h
protobuf /usr/include/google/protobuf/repeated_field.h
protobuf /usr/include/google/protobuf/service.h
protobuf /usr/include/google/protobuf/source_context.pb.h
protobuf /usr/include/google/protobuf/source_context.proto
protobuf /usr/include/google/protobuf/struct.pb.h
protobuf /usr/include/google/protobuf/struct.proto
protobuf /usr/include/google/protobuf/stubs/
protobuf /usr/include/google/protobuf/stubs/bytestream.h
protobuf /usr/include/google/protobuf/stubs/callback.h
protobuf /usr/include/google/protobuf/stubs/casts.h
protobuf /usr/include/google/protobuf/stubs/common.h
protobuf /usr/include/google/protobuf/stubs/fastmem.h
protobuf /usr/include/google/protobuf/stubs/hash.h
protobuf /usr/include/google/protobuf/stubs/logging.h
protobuf /usr/include/google/protobuf/stubs/macros.h
protobuf /usr/include/google/protobuf/stubs/mutex.h
protobuf /usr/include/google/protobuf/stubs/once.h
protobuf /usr/include/google/protobuf/stubs/platform_macros.h
protobuf /usr/include/google/protobuf/stubs/port.h
protobuf /usr/include/google/protobuf/stubs/status.h
protobuf /usr/include/google/protobuf/stubs/stl_util.h
protobuf /usr/include/google/protobuf/stubs/stringpiece.h
protobuf /usr/include/google/protobuf/stubs/strutil.h
protobuf /usr/include/google/protobuf/stubs/template_util.h
protobuf /usr/include/google/protobuf/text_format.h
protobuf /usr/include/google/protobuf/timestamp.pb.h
protobuf /usr/include/google/protobuf/timestamp.proto
protobuf /usr/include/google/protobuf/type.pb.h
protobuf /usr/include/google/protobuf/type.proto
protobuf /usr/include/google/protobuf/unknown_field_set.h
protobuf /usr/include/google/protobuf/util/
protobuf /usr/include/google/protobuf/util/delimited_message_util.h
protobuf /usr/include/google/protobuf/util/field_comparator.h
protobuf /usr/include/google/protobuf/util/field_mask_util.h
protobuf /usr/include/google/protobuf/util/json_util.h
protobuf /usr/include/google/protobuf/util/message_differencer.h
protobuf /usr/include/google/protobuf/util/time_util.h
protobuf /usr/include/google/protobuf/util/type_resolver.h
protobuf /usr/include/google/protobuf/util/type_resolver_util.h
protobuf /usr/include/google/protobuf/wire_format.h
protobuf /usr/include/google/protobuf/wire_format_lite.h
protobuf /usr/include/google/protobuf/wire_format_lite_inl.h
protobuf /usr/include/google/protobuf/wrappers.pb.h
protobuf /usr/include/google/protobuf/wrappers.proto
protobuf /usr/lib/libprotobuf-lite.so
protobuf /usr/lib/libprotobuf-lite.so.18
protobuf /usr/lib/libprotobuf-lite.so.18.0.0
protobuf /usr/lib/libprotobuf.so
protobuf /usr/lib/libprotobuf.so.18
protobuf /usr/lib/libprotobuf.so.18.0.0
protobuf /usr/lib/libprotoc.so
protobuf /usr/lib/libprotoc.so.18
protobuf /usr/lib/libprotoc.so.18.0.0
protobuf /usr/lib/pkgconfig/
protobuf /usr/lib/pkgconfig/protobuf-lite.pc
protobuf /usr/lib/pkgconfig/protobuf.pc
protobuf-c /usr/bin/protoc-c
protobuf-c /usr/bin/protoc-gen-c
protobuf-c /usr/include/google/
protobuf-c /usr/include/google/protobuf-c/
protobuf-c /usr/include/google/protobuf-c/protobuf-c.h
protobuf-c /usr/include/protobuf-c/
protobuf-c /usr/include/protobuf-c/protobuf-c.h
protobuf-c /usr/lib/libprotobuf-c.so
protobuf-c /usr/lib/libprotobuf-c.so.1
protobuf-c /usr/lib/libprotobuf-c.so.1.0.0
protobuf-c /usr/lib/pkgconfig/
protobuf-c /usr/lib/pkgconfig/libprotobuf-c.pc
I just did this:
git clone git@github.com:bliksemlabs/rrrr.git
cd rrrr/
git checkout tdata4
mkdir build
cd build/
cmake ..
make
Now if you convince cmake to use clang, I am interested in your results.
@skinkie It now builds perfectly.
Probably that's trivial, but for me there is No rule to make target 'install'.
@chazanov I guess there is no install ;-) there are binaries, a static library, some python code.
Nowaday github records all of my mistakes ;)
So there is nothing more than a 180 kb binary called ./cli ?
Your profile seems to be hidden enough ;-) nobody knows you work for a fruit or number company ;-)
@skinkie Yes, I'm very cautious with photos or information on me. I'm just a single OSM guy doing something very different in real life.
I'm always interested in doing things like navigation or geocoding with much less memory than everybody else. Example: GraphHopper is actually fast, but fat. Pelias is a gigantic geocoder, but quite heavy.
You can probably figure out my e-mail by git log ;-)
I've tried with either clang 7 and 9, both fail.