{"action":"closed","issue":{"url":"https://api.github.com/repos/ms705/firmament/issues/34","labels_url":"https://api.github.com/repos/ms705/firmament/issues/34/labels{/name}","comments_url":"https://api.github.com/repos/ms705/firmament/issues/34/comments","events_url":"https://api.github.com/repos/ms705/firmament/issues/34/events","html_url":"https://github.com/ms705/firmament/issues/34","id":119335473,"number":34,"title":"Linker error building examples","user":{"login":"mgoelzer","id":225111,"avatar_url":"https://avatars.githubusercontent.com/u/225111?v=3","gravatar_id":"","url":"https://api.github.com/users/mgoelzer","html_url":"https://github.com/mgoelzer","followers_url":"https://api.github.com/users/mgoelzer/followers","following_url":"https://api.github.com/users/mgoelzer/following{/other_user}","gists_url":"https://api.github.com/users/mgoelzer/gists{/gist_id}","starred_url":"https://api.github.com/users/mgoelzer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgoelzer/subscriptions","organizations_url":"https://api.github.com/users/mgoelzer/orgs","repos_url":"https://api.github.com/users/mgoelzer/repos","events_url":"https://api.github.com/users/mgoelzer/events{/privacy}","received_events_url":"https://api.github.com/users/mgoelzer/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ms705/firmament/labels/build","name":"build","color":"0b02e1"},{"url":"https://api.github.com/repos/ms705/firmament/labels/defect","name":"defect","color":"e10c02"}],"state":"closed","locked":false,"assignee":{"login":"ms705","id":192315,"avatar_url":"https://avatars.githubusercontent.com/u/192315?v=3","gravatar_id":"","url":"https://api.github.com/users/ms705","html_url":"https://github.com/ms705","followers_url":"https://api.github.com/users/ms705/followers","following_url":"https://api.github.com/users/ms705/following{/other_user}","gists_url":"https://api.github.com/users/ms705/gists{/gist_id}","starred_url":"https://api.github.com/users/ms705/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ms705/subscriptions","organizations_url":"https://api.github.com/users/ms705/orgs","repos_url":"https://api.github.com/users/ms705/repos","events_url":"https://api.github.com/users/ms705/events{/privacy}","received_events_url":"https://api.github.com/users/ms705/received_events","type":"User","site_admin":false},"milestone":null,"comments":4,"created_at":"2015-11-29T04:09:45Z","updated_at":"2015-11-29T04:59:34Z","closed_at":"2015-11-29T04:59:34Z","body":"I'm having trouble getting `make examples` to work.  I get a linker error: \r\n\r\n```\r\n/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o: In function `_start':\r\n(.text+0x20): undefined reference to `main'\r\n```\r\n\r\nwhich I assume means there is some additional shared library I ought to be linking against, but I can't figure out what it is.\r\n\r\nFull output starting from a make clean of the repo is below.  System is Ubuntu 14.04 with boost 1.55.0 and clang++/llvm 3.4.\r\n\r\nAny ideas?\r\n\r\n```\r\n﻿ (master %=) mike@docker1:~/firmament.io/firmament$ make clean\r\nrm -rf build\r\nrm -rf src/generated-cxx/*\r\nrm -rf src/generated-c/*\r\nfind src/ -depth -name .setup -type f -delete\r\n\r\n (master %=) mike@docker1:~/firmament.io/firmament$ make all\r\nrm -f build/tests/all_tests.txt\r\nmkdir -p build/tests\r\nmake  --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/base all\r\ntouch build/tests/all_tests.txt\r\nmake[1]: Entering directory `/home/mike/firmament.io/firmament/src/base'\r\n  SETUP   /home/mike/firmament.io/firmament/build/base\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/base/coco_interference_scores.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/base/whare_map_stats.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/base/whare_map_stats.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/base/coco_interference_scores.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/base/reference_desc.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/base/reference_desc.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/base/resource_vector.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/base/task_desc.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/base/task_desc.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/base/resource_vector.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/base/resource_desc.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/base/resource_topology_node_desc.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/base/resource_desc.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/base/resource_topology_node_desc.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/base/task_perf_statistics_sample.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/base/task_final_report.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/base/task_final_report.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/base/machine_perf_statistics_sample.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/base/machine_perf_statistics_sample.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/base/task_perf_statistics_sample.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/base/data_object_name.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/base/job_desc.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/base/data_object_name.pb.h\r\n  CXX     /home/mike/firmament.io/firmament/build/base/resource_status.o\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/base/job_desc.pb.h\r\n  CXX     /home/mike/firmament.io/firmament/build/base/data_object.o\r\n  PBC     /home/mike/firmament.io/firmament/build/base/coco_interference_scores.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/base/whare_map_stats.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/base/reference_desc.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/base/resource_vector.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/base/task_desc.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/base/resource_desc.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/base/resource_topology_node_desc.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/base/task_perf_statistics_sample.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/base/task_final_report.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/base/machine_perf_statistics_sample.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/base/data_object_name.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/base/job_desc.pb.o\r\n  AR      /home/mike/firmament.io/firmament/build/base/libfirmament_base.a\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/base/data_object_test\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/base/references_test\r\nrm /home/mike/firmament.io/firmament/src/generated-cxx/base/resource_topology_node_desc.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/base/job_desc.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/base/resource_desc.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/base/task_perf_statistics_sample.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/base/resource_vector.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/base/machine_perf_statistics_sample.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/base/task_desc.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/base/task_final_report.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/base/coco_interference_scores.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/base/whare_map_stats.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/base/data_object_name.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/base/reference_desc.pb.cc\r\nmake[1]: Leaving directory `/home/mike/firmament.io/firmament/src/base'\r\nmake  --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/messages all\r\nmake[1]: Entering directory `/home/mike/firmament.io/firmament/src/messages'\r\n  SETUP   /home/mike/firmament.io/firmament/build/messages\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/test_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/heartbeat_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/test_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/registration_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/heartbeat_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/registration_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_delegation_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_heartbeat_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_delegation_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_info_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_info_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_heartbeat_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_kill_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_spawn_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_kill_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_state_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_state_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_spawn_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/storage_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/storage_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/storage_registration_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/create_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/create_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/delete_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/storage_registration_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/delete_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/lookup_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/copy_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/lookup_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/io_notification_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/copy_message.pb.h\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/messages/base_message.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/io_notification_message.pb.h\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/test_message.pb.o\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/messages/base_message.pb.h\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/heartbeat_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/registration_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/task_delegation_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/task_heartbeat_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/task_info_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/task_kill_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/task_spawn_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/task_state_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/storage_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/storage_registration_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/create_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/delete_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/lookup_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/copy_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/io_notification_message.pb.o\r\n  PBC     /home/mike/firmament.io/firmament/build/messages/base_message.pb.o\r\n  AR      /home/mike/firmament.io/firmament/build/messages/libfirmament_messages.a\r\nrm /home/mike/firmament.io/firmament/src/generated-cxx/messages/storage_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_kill_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_heartbeat_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/delete_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/lookup_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/copy_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/heartbeat_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_state_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/create_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/registration_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/base_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_info_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/io_notification_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_spawn_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/test_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/storage_registration_message.pb.cc /home/mike/firmament.io/firmament/src/generated-cxx/messages/task_delegation_message.pb.cc\r\nmake[1]: Leaving directory `/home/mike/firmament.io/firmament/src/messages'\r\nmake  --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/platforms all\r\nmake[1]: Entering directory `/home/mike/firmament.io/firmament/src/platforms'\r\nmake  --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/misc all\r\n  SETUP   /home/mike/firmament.io/firmament/build/platforms\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/platforms/common.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/platforms/common.pb.h\r\n  PBC     /home/mike/firmament.io/firmament/build/platforms/common.pb.o\r\nmake[1]: Entering directory `/home/mike/firmament.io/firmament/src/misc'\r\n  SETUP   /home/mike/firmament.io/firmament/build/misc\r\n  CXX     /home/mike/firmament.io/firmament/build/misc/generate_trace.o\r\nmake -C sim all\r\n  SETUP   /home/mike/firmament.io/firmament/build/platforms/sim\r\n  CXX     /home/mike/firmament.io/firmament/build/platforms/sim/simulated_messaging_adapter.o\r\n  CXX     /home/mike/firmament.io/firmament/build/misc/pb_utils.o\r\n  AR      /home/mike/firmament.io/firmament/build/platforms/sim/libfirmament_platforms_sim.a\r\nmake -C unix all\r\n  SETUP   /home/mike/firmament.io/firmament/build/platforms/unix\r\n  CXX     /home/mike/firmament.io/firmament/build/platforms/unix/async_tcp_server.o\r\n  CXX     /home/mike/firmament.io/firmament/build/misc/string_utils.o\r\n  CXX     /home/mike/firmament.io/firmament/build/misc/utils.o\r\n  AR      /home/mike/firmament.io/firmament/build/misc/libfirmament_misc.a\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/misc/envelope_test\r\n  CXX     /home/mike/firmament.io/firmament/build/platforms/unix/common.o\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/misc/utils_test\r\n  CXX     /home/mike/firmament.io/firmament/build/platforms/unix/procfs_monitor.o\r\nmake[1]: Leaving directory `/home/mike/firmament.io/firmament/src/misc'\r\nmake  --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/storage all\r\nmake[1]: Entering directory `/home/mike/firmament.io/firmament/src/storage'\r\n  SETUP   /home/mike/firmament.io/firmament/build/storage\r\n  CXX     /home/mike/firmament.io/firmament/build/storage/hdfs_bridge.o\r\n  CXX     /home/mike/firmament.io/firmament/build/storage/simple_object_store.o\r\n  CXX     /home/mike/firmament.io/firmament/build/platforms/unix/procfs_machine.o\r\n  CXX     /home/mike/firmament.io/firmament/build/platforms/unix/signal_handler.o\r\n  CXX     /home/mike/firmament.io/firmament/build/storage/stub_object_store.o\r\n  CXX     /home/mike/firmament.io/firmament/build/platforms/unix/stream_sockets_adapter.o\r\n  AR      /home/mike/firmament.io/firmament/build/storage/libfirmament_storage.a\r\nmake[1]: Leaving directory `/home/mike/firmament.io/firmament/src/storage'\r\n  CXX     /home/mike/firmament.io/firmament/build/platforms/unix/tcp_connection.o\r\nmake  --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/engine/executors all\r\nmake[1]: Entering directory `/home/mike/firmament.io/firmament/src/engine/executors'\r\n  SETUP   /home/mike/firmament.io/firmament/build/engine/executors\r\n  CXX     /home/mike/firmament.io/firmament/build/engine/executors/local_executor.o\r\n  AR      /home/mike/firmament.io/firmament/build/platforms/unix/libfirmament_unix.a\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/platforms/unix/procfs_monitor_test\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/platforms/unix/procfs_machine_test\r\n  CXX     /home/mike/firmament.io/firmament/build/engine/executors/remote_executor.o\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/platforms/unix/stream_sockets_adapter_test\r\n  CXX     /home/mike/firmament.io/firmament/build/engine/executors/simulated_executor.o\r\n  CXX     /home/mike/firmament.io/firmament/build/engine/executors/task_health_checker.o\r\n  CXX     /home/mike/firmament.io/firmament/build/engine/executors/topology_manager.o\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/platforms/unix/stream_sockets_channel_test\r\n  AR      /home/mike/firmament.io/firmament/build/engine/executors/libfirmament_engine_executors.a\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/engine/executors/local_executor_test\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/engine/executors/topology_manager_test\r\nrm /home/mike/firmament.io/firmament/src/generated-cxx/platforms/common.pb.cc\r\nmake[1]: Leaving directory `/home/mike/firmament.io/firmament/src/platforms'\r\nmake  --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/sim/dfs all\r\nmake[1]: Entering directory `/home/mike/firmament.io/firmament/src/sim/dfs'\r\n  SETUP   /home/mike/firmament.io/firmament/build/sim/dfs\r\n  CXX     /home/mike/firmament.io/firmament/build/sim/dfs/google_block_distribution.o\r\n  CXX     /home/mike/firmament.io/firmament/build/sim/dfs/simulated_dfs.o\r\nmake[1]: Leaving directory `/home/mike/firmament.io/firmament/src/engine/executors'\r\nmake  --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/scheduling all\r\nmake[1]: Entering directory `/home/mike/firmament.io/firmament/src/scheduling'\r\n  SETUP   /home/mike/firmament.io/firmament/build/scheduling\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/scheduling/scheduling_delta.pb.h\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/scheduling/scheduling_delta.pb.h\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/common.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/event_driven_scheduler.o\r\n  AR      /home/mike/firmament.io/firmament/build/sim/dfs/libfirmament_sim_dfs.a\r\nmake[1]: Leaving directory `/home/mike/firmament.io/firmament/src/sim/dfs'\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/knowledge_base.o\r\n  PBC     /home/mike/firmament.io/firmament/build/scheduling/scheduling_delta.pb.o\r\n  AR      /home/mike/firmament.io/firmament/build/scheduling/libfirmament_scheduling.a\r\nrm /home/mike/firmament.io/firmament/src/generated-cxx/scheduling/scheduling_delta.pb.cc\r\nmake[1]: Leaving directory `/home/mike/firmament.io/firmament/src/scheduling'\r\nmake  --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/scheduling/flow all\r\nmake[1]: Entering directory `/home/mike/firmament.io/firmament/src/scheduling/flow'\r\nmake  --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/scheduling/simple all\r\n  SETUP   /home/mike/firmament.io/firmament/build/scheduling/flow\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/coco_cost_model.o\r\nmake[1]: Entering directory `/home/mike/firmament.io/firmament/src/scheduling/simple'\r\n  SETUP   /home/mike/firmament.io/firmament/build/scheduling/simple\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/simple/simple_scheduler.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/dimacs_add_node.o\r\n  AR      /home/mike/firmament.io/firmament/build/scheduling/simple/libfirmament_scheduling_simple.a\r\nmake[1]: Leaving directory `/home/mike/firmament.io/firmament/src/scheduling/simple'\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/dimacs_change_arc.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/dimacs_change_stats.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/dimacs_exporter.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/dimacs_new_arc.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/dimacs_remove_node.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/flow_graph.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/flow_graph_arc.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/flow_graph_manager.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/flow_graph_node.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/flow_scheduler.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/json_exporter.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/octopus_cost_model.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/quincy_cost_model.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/sjf_cost_model.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/solver_dispatcher.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/trivial_cost_model.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/random_cost_model.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/void_cost_model.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/wharemap_cost_model.o\r\n  AR      /home/mike/firmament.io/firmament/build/scheduling/flow/libfirmament_scheduling_flow.a\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/scheduling/flow/dimacs_exporter_test\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/scheduling/flow/flow_graph_test\r\nmake -C sim all\r\n  SETUP   /home/mike/firmament.io/firmament/build/scheduling/flow/sim\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/sim/google_runtime_distribution.o\r\n  CXX     /home/mike/firmament.io/firmament/build/scheduling/flow/sim/simulated_quincy_cost_model.o\r\n  AR      /home/mike/firmament.io/firmament/build/scheduling/flow/sim/libfirmament_simulated_quincy.a\r\nmake[1]: Leaving directory `/home/mike/firmament.io/firmament/src/scheduling/flow'\r\nmake  --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/engine all\r\nmake[1]: Entering directory `/home/mike/firmament.io/firmament/src/engine'\r\n  SETUP   /home/mike/firmament.io/firmament/build/engine\r\n  DYNLNK  /home/mike/firmament.io/firmament/build/engine/task_lib_inject.so\r\n  CXX     /home/mike/firmament.io/firmament/build/engine/health_monitor.o\r\n  CXX     /home/mike/firmament.io/firmament/build/engine/node.o\r\n  CXX     /home/mike/firmament.io/firmament/build/engine/coordinator_http_ui.o\r\n  CXX     /home/mike/firmament.io/firmament/build/engine/coordinator.o\r\nIn file included from /home/mike/firmament.io/firmament/src/engine/coordinator_http_ui.cc:17:\r\n/home/mike/firmament.io/firmament/ext/pb2json-git/pb2json.h:8:16: warning: unused function 'parse_msg' [-Wunused-function]\r\nstatic json_t *parse_msg(const google::protobuf::Message *msg);\r\n               ^\r\n/home/mike/firmament.io/firmament/ext/pb2json-git/pb2json.h:9:16: warning: unused function 'parse_repeated_field'\r\n      [-Wunused-function]\r\nstatic json_t *parse_repeated_field(const google::protobuf::Message *msg,const google::protobuf::Reflection * ref,const g...\r\n               ^\r\n  CXX     /home/mike/firmament.io/firmament/build/engine/worker.o\r\n2 warnings generated.\r\n  CXX     /home/mike/firmament.io/firmament/build/engine/task_lib.o\r\n  DYNLNK  /home/mike/firmament.io/firmament/build/engine/coordinator\r\n  DYNLNK  /home/mike/firmament.io/firmament/build/engine/worker\r\n  AR      /home/mike/firmament.io/firmament/build/engine/libfirmament_engine.a\r\n  AR      /home/mike/firmament.io/firmament/build/engine/libfirmament_task_lib.a\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/engine/coordinator_test\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/engine/simple_scheduler_test\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/engine/worker_test\r\nmake[1]: Leaving directory `/home/mike/firmament.io/firmament/src/engine'\r\nmake  --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/sim all\r\nmake[1]: Entering directory `/home/mike/firmament.io/firmament/src/sim'\r\n  SETUP   /home/mike/firmament.io/firmament/build/sim\r\n  GEN     /home/mike/firmament.io/firmament/src/generated-cxx/sim/event_desc.pb.h\r\n  CXX     /home/mike/firmament.io/firmament/build/sim/event_manager.o\r\n  GENC    /home/mike/firmament.io/firmament/src/generated-cxx/sim/event_desc.pb.h\r\n  CXX     /home/mike/firmament.io/firmament/build/sim/google_trace_loader.o\r\n  CXX     /home/mike/firmament.io/firmament/build/sim/knowledge_base_simulator.o\r\n  CXX     /home/mike/firmament.io/firmament/build/sim/simulator.o\r\n  CXX     /home/mike/firmament.io/firmament/build/sim/simulator_bridge.o\r\n  CXX     /home/mike/firmament.io/firmament/build/sim/synthetic_trace_loader.o\r\n  CXX     /home/mike/firmament.io/firmament/build/sim/trace_utils.o\r\n  CXX     /home/mike/firmament.io/firmament/build/sim/google_trace_task_processor.o\r\n  PBC     /home/mike/firmament.io/firmament/build/sim/event_desc.pb.o\r\n  DYNLNK  /home/mike/firmament.io/firmament/build/sim/simulator\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/sim/event_manager_test\r\n  TESTLNK /home/mike/firmament.io/firmament/build/tests/sim/simulator_bridge_test\r\n  DYNLNK  /home/mike/firmament.io/firmament/build/sim/google_trace_processor\r\nrm /home/mike/firmament.io/firmament/src/generated-cxx/sim/event_desc.pb.cc\r\nmake[1]: Leaving directory `/home/mike/firmament.io/firmament/src/sim'\r\n\r\n (master *%=) mike@docker1:~/firmament.io/firmament$ make --no-print-directory examples\r\nmake  --no-print-directory - --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/base all\r\nmake[1]: Nothing to be done for `all'.\r\nmake  --no-print-directory - --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/messages all\r\nmake[1]: Nothing to be done for `all'.\r\nmake  --no-print-directory - --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/misc all\r\nmake  --no-print-directory - --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/platforms all\r\nmake[1]: Nothing to be done for `all'.\r\nmake  --no-print-directory - --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/engine/executors all\r\nmake -C sim all\r\nmake[1]: Nothing to be done for `all'.\r\nmake[2]: Nothing to be done for `all'.\r\nmake -C unix all\r\nmake  --no-print-directory - --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/sim/dfs all\r\nmake[2]: Nothing to be done for `all'.\r\nmake  --no-print-directory - --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/storage all\r\nmake[1]: Nothing to be done for `all'.\r\nmake[1]: Nothing to be done for `all'.\r\nmake  --no-print-directory - --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/scheduling all\r\nmake[1]: Nothing to be done for `all'.\r\nmake  --no-print-directory - --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/scheduling/flow all\r\nmake -C sim all\r\nmake  --no-print-directory - --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/scheduling/simple all\r\nmake[2]: Nothing to be done for `all'.\r\nmake[1]: Nothing to be done for `all'.\r\nmake  --no-print-directory - --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/engine all\r\nmake[1]: Nothing to be done for `all'.\r\nmake  --no-print-directory - --jobserver-fds=3,5 -j -C /home/mike/firmament.io/firmament/src/examples all\r\n  SETUP   /home/mike/firmament.io/firmament/build/examples/hello_world\r\n  CXX     /home/mike/firmament.io/firmament/build/examples/hello_world/hello_world.o\r\n  DYNLNK  /home/mike/firmament.io/firmament/build/examples/hello_world/hello_world\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 21\r\n/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2\r\n/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crt1.o: In function `_start':\r\n(.text+0x20): undefined reference to `main'\r\nclang: error: linker command failed with exit code 1 (use -v to see invocation)\r\nmake[2]: *** [/home/mike/firmament.io/firmament/build/examples/hello_world/hello_world] Error 1\r\n```\r\n"}}