srmainwaring / asv_wave_sim

This package contains plugins that support the simulation of waves and surface vessels in Gazebo.
GNU General Public License v3.0
110 stars 29 forks source link

[Err] [SystemLoader.cc:92] Failed to load system plugin [gz-waves1-hydrodynamics-system] : Could not find shared library. #158

Closed dlaboy closed 4 months ago

dlaboy commented 4 months ago

Hello! I'm having problems loading the hydrodynamics plugin, any idea what the problem could be?

srmainwaring commented 4 months ago

@dlaboy it’s most likely you have not set up the GZ environment variables correctly, but you will need to provide more information in order to diagnose your problem.

Should include platform, OS version, Gazebo version, output logs from gz sim -v4.

dlaboy commented 4 months ago

I'm running it on .zsh, macOS Sonoma version 14.3.1. Gazebo Garden, these are the output logs from gz sim -v4

Screenshot 2024-02-28 at 11 09 36 PM
srmainwaring commented 4 months ago

Thanks @dlaboy. Few more questions:

  1. What are the values of the GZ_* variables in the terminal used to run gz sim
$ env | grep GZ
  1. Can you post the entire log from the server command as text rather than a screen shot. You can't easily search the errors in a screen shot, and the entire output is needed including the command. The terminal output can be marked up using code formatting.
dlaboy commented 4 months ago

I apologize, I think I solve this particular problem, colcon build aborted the particular gz-waves1 directory so it wasn't creating install/lib executable files. I'm having another problem know hahah. which I will post next.

dlaboy commented 4 months ago

Ones I run gz sim-v4 -s -r catamaran_waves.sdf, this error appears

dlaboy@Diegos-MacBook-Pro ~ % gz sim -v4 -s -r catamaran_waves.sdf [Msg] Gazebo Sim Server v8.1.0 [Msg] Loading SDF world file[/Users/dlaboy/Desktop/college/roboboat_stuff/repos/gz_ws/src/SITL_Models/Gazebo/worlds/catamaran_waves.sdf]. [Msg] Serving entity system service on [/entity/system/add] [Dbg] [Physics.cc:860] Loaded [gz::physics::dartsim::Plugin] from library [/opt/homebrew/Cellar/gz-physics7/7.0.0_4/lib/gz-physics-7/engine-plugins/libgz-physics-dartsim-plugin.dylib] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Physics] for entity [1] [Msg] Create service on [/world/waves/create] [Msg] Remove service on [/world/waves/remove] [Msg] Pose service on [/world/waves/set_pose] [Msg] Pose service on [/world/waves/set_pose_vector] [Msg] Light configuration service on [/world/waves/light_config] [Msg] Physics service on [/world/waves/set_physics] [Msg] SphericalCoordinates service on [/world/waves/set_spherical_coordinates] [Msg] Enable collision service on [/world/waves/enable_collision] [Msg] Disable collision service on [/world/waves/disable_collision] [Msg] Material service on [/world/waves/visual_config] [Msg] Material service on [/world/waves/wheel_slip] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::UserCommands] for entity [1] [Dbg] [Sensors.cc:527] Configuring Sensors system [Dbg] [Sensors.cc:446] SensorsPrivate::Run [Dbg] [Sensors.cc:422] SensorsPrivate::RenderThread started [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Sensors] for entity [1] [Dbg] [Sensors.cc:262] Waiting for init [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::SceneBroadcaster] for entity [1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Imu] for entity [1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::NavSat] for entity [1] [Err] [SystemLoader.cc:92] Failed to load system plugin [asv_sim2-anemometer-system] : Could not find shared library. WARNING: All log messages before absl::InitializeLog() is called are written to STDERR E0000 00:00:1709209400.230898 15253 descriptor_database.cc:633] File already exists in database: gz/msgs/time.proto F0000 00:00:1709209400.231043 15253 descriptor.cc:2122] Check failed: GeneratedDatabase()->Add(encoded_file_descriptor, size) Check failure stack trace: @ 0x10090ea7c absl::lts_20230802::log_internal::LogMessage::SendToLog() @ 0x10090e580 absl::lts_20230802::log_internal::LogMessage::Flush() @ 0x10090ed8c absl::lts_20230802::log_internal::LogMessageFatal::~LogMessageFatal() @ 0x10090eda4 absl::lts_20230802::log_internal::LogMessageFatal::~LogMessageFatal() @ 0x10495516c google::protobuf::DescriptorPool::InternalAddGeneratedFile() @ 0x1049d0880 google::protobuf::(anonymous namespace)::AddDescriptors() @ 0x1049d0868 google::protobuf::(anonymous namespace)::AddDescriptors() @ 0x1049d0868 google::protobuf::(anonymous namespace)::AddDescriptors() @ 0x1049d0868 google::protobuf::(anonymous namespace)::AddDescriptors() @ 0x1049d08b4 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner() @ 0x1893f5a24 _ZZNK5dyld46Loader25findAndRunAllInitializersERNS_12RuntimeStateEENK3$_0clEv_blockinvoke @ 0x18943b0f4 ZNK5dyld313MachOAnalyzer18forEachInitializerER11DiagnosticsRKNS0_15VMAddrConverterEU13block_pointerFvjEPKv_block_invoke.202 @ 0x18942e668 ___ZNK5dyld39MachOFile14forEachSectionEU13block_pointerFvRKNS0_11SectionInfoEbRbE_block_invoke @ 0x1893d52fc dyld3::MachOFile::forEachLoadCommand() @ 0x18942d6a0 dyld3::MachOFile::forEachSection() @ 0x189430188 dyld3::MachOFile::forEachInitializerPointerSection() @ 0x18943ade8 dyld3::MachOAnalyzer::forEachInitializer() @ 0x1893f1b38 dyld4::Loader::findAndRunAllInitializers() @ 0x1893f7f70 dyld4::JustInTimeLoader::runInitializers() @ 0x1893f1f24 dyld4::Loader::runInitializersBottomUp() @ 0x1893f1f00 dyld4::Loader::runInitializersBottomUp() @ 0x1893f1f00 dyld4::Loader::runInitializersBottomUp() @ 0x1893f1f00 dyld4::Loader::runInitializersBottomUp() @ 0x1893f5ab0 dyld4::Loader::runInitializersBottomUpPlusUpwardLinks()::$_1::operator()() @ 0x1893f20f0 dyld4::Loader::runInitializersBottomUpPlusUpwardLinks() @ 0x1894107ac dyld4::APIs::dlopen_from() @ 0x10062e380 gz::plugin::Loader::Implementation::LoadLib() @ 0x10062e144 gz::plugin::Loader::LoadLib() @ 0x10109bb74 gz::sim::SystemLoaderPrivate::InstantiateSystemPlugin() @ 0x10109b758 gz::sim::v8::SystemLoader::LoadPlugin() @ 0x10109ea68 gz::sim::v8::SystemManager::LoadPlugin() @ 0x101080210 gz::sim::v8::SimulationRunner::LoadPlugins() @ 0x101064144 gz::common::EventT<>::Signal<>() @ 0x10104b0b8 gz::sim::v8::EventManager::Emit<>() @ 0x101049fa4 gz::sim::v8::SdfEntityCreator::CreateEntities() @ 0x101014d94 gz::sim::v8::LevelManager::LoadActiveEntities() @ 0x1010142bc gz::sim::v8::LevelManager::UpdateLevelsState() @ 0x10107ebf0 gz::sim::v8::SimulationRunner::SimulationRunner() @ 0x101076acc gz::sim::v8::ServerPrivate::CreateEntities() @ 0x10106f3f4 gz::sim::v8::Server::Server() @ 0x10046ce44 runServer @ 0x19a2ef050 ffi_call_SYSV @ 0x19a2f7adc ffi_call_int @ 0x1002d16e8 Init_fiddle_function @ 0x1fa6d4514 rb_thread_call_without_gvl2 @ 0x1002d1154 Init_fiddle_function @ 0x1fa70a4b0 rb_vm_fstring_table @ 0x1fa6f94fc rb_vm_get_insns_address_table @ 0x1fa707144 rb_vm_exec @ 0x1fa5e61d0 ruby_exec_node @ 0x1fa5e606c ruby_run_node @ 0x10027353c main @ 0x1893d90e0 start Stack trace (most recent call last):

17 Object "libprotobuf.25.3.0.dylib", at 0x1049d08b3, in google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) + 23

16 Object "libprotobuf.25.3.0.dylib", at 0x1049d0867, in google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) + 103

15 Object "libprotobuf.25.3.0.dylib", at 0x1049d0867, in google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) + 103

14 Object "libprotobuf.25.3.0.dylib", at 0x1049d0867, in google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) + 103

13 Object "libprotobuf.25.3.0.dylib", at 0x1049d087f, in google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) + 127

12 Object "libprotobuf.25.3.0.dylib", at 0x10495516b, in google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) + 127

11 Object "libabsl_log_internal_message.2308.0", at 0x10090eda3, in absl::lts_20230802::log_internal::LogMessageFatal::~LogMessageFatal() + 11

10 Object "libabsl_log_internal_message.2308.0", at 0x10090ed8b, in absl::lts_20230802::log_internal::LogMessageFatal::~LogMessageFatal() + 11

9 Object "libabsl_log_internal_message.2308.0", at 0x10090e57f, in absl::lts_20230802::log_internal::LogMessage::Flush() + 287

8 Object "libabsl_log_internal_message.2308.0", at 0x10090eacb, in absl::lts_20230802::log_internal::LogMessage::SendToLog() + 127

7 Object "libabsl_log_internal_message.2308.0", at 0x10090ed4b, in absl::lts_20230802::log_internal::LogMessage::Die() + 35

6 Object "libabsl_log_internal_message.2308.0", at 0x10090e90f, in absl::lts_20230802::log_internal::LogMessage::FailWithoutStackTrace() + 19

5 Object "libsystem_c.dylib", at 0x189665a3f, in abort + 179

4 Object "libsystem_pthread.dylib", at 0x189759cbf, in pthread_kill + 287

3 Object "libsystem_platform.dylib", at 0x189789a23, in _sigtramp + 55

2 Object "libgz-tools2-backward.dylib", at 0x100353377, in backward::SignalHandling::sig_handler(int, __siginfo, void) + 19

1 Object "libgz-tools2-backward.dylib", at 0x1003533db, in backward::SignalHandling::handleSignal(int, __siginfo, void) + 71

0 Object "libgz-tools2-backward.dylib", at 0x10035351b, in backward::StackTraceImpl::load_from(void, unsigned long, void, void*) + 43

zsh: abort gz sim -v4 -s -r catamaran_waves.sdf

dlaboy commented 4 months ago

These are the values for GZ_*

dlaboy@Diegos-MacBook-Pro ~ % env | grep GZ GZ_SIM_SYSTEM_PLUGIN_PATH=/Users/dlaboy/Desktop/college/roboboat_stuff/repos/gz_ws/src/ardupilot_gazebo/build:/Users/dlaboy/Desktop/college/roboboat_stuff/repos/gz_ws/install/lib: GZ_SIM_RESOURCE_PATH=:/Users/dlaboy/Desktop/college/roboboat_stuff/repos/gz_ws/src/SITL_Models/Gazebo/models:/Users/dlaboy/Desktop/college/roboboat_stuff/repos/gz_ws/src/SITL_Models/Gazebo/worlds:/Users/dlaboy/Desktop/college/roboboat_stuff/repos/gz_ws/src/asv_wave_sim/gz-waves-models/models:/Users/dlaboy/Desktop/college/roboboat_stuff/repos/gz_ws/src/asv_wave_sim/gz-waves-models/world_models:/Users/dlaboy/Desktop/college/roboboat_stuff/repos/gz_ws/src/asv_wave_sim/gz-waves-models/worlds GZ_VERSION=garden GZ_GUI_PLUGIN_PATH=$GZ_GUI_PLUGIN_PATH:~/Desktop/college/roboboat_stuff/repos/gz_ws/src/asv_wave_sim/gz-waves/src/gui/plugins/waves_control/build

srmainwaring commented 4 months ago

Have you run the basic examples in this repo first? Your first issue was with running BlueBoat, and now you are running the Catamaran model (which depends on other plugins as well). So it's not clear where exactly your problem is and what model you are trying to run.

Please make sure the issues your raise here are specific to this software - specifically the waves and hydrodynamics plugins and the example documented in the README. Issues are for reporting software bugs, not general user support.

For problems running the examples in SITL_Models you should post to ArduPilot Discourse.

dlaboy commented 4 months ago

I'm running the BlueBoat model in the catamaran_waves.sdf world. Didn't knew there was a separate world for BlueBoat, so I just commented and added BlueBoat's script from readme.md file.

srmainwaring commented 4 months ago

The problem with the catamaran world is that it also depends on asv_sim. For example you are not finding the anemometer sensor:

[Err] [SystemLoader.cc:92] Failed to load system plugin [asv_sim2-anemometer-system] : Could not find shared library.

In order to determine whether your problem is with this plugin, or something else you need to run the simplest example that uses this repo. That's the basic waves.sdf world decribed in the README. If that's not working then we can look into why here. If it is working then that's a user support issue to be dealt with elsewhere.

dlaboy commented 4 months ago

Okk I will try this

dlaboy commented 4 months ago

Same problem happens running waves.sdf world

dlaboy@Diegos-MacBook-Pro ~ % gz sim -v4 -s -r waves.sdf [Msg] Gazebo Sim Server v8.1.0 [Msg] Loading SDF world file[/Users/dlaboy/Desktop/college/roboboat_stuff/repos/gz_ws/src/asv_wave_sim/gz-waves-models/worlds/waves.sdf]. [Msg] Serving entity system service on [/entity/system/add] [Dbg] [Physics.cc:860] Loaded [gz::physics::dartsim::Plugin] from library [/opt/homebrew/Cellar/gz-physics7/7.0.0_4/lib/gz-physics-7/engine-plugins/libgz-physics-dartsim-plugin.dylib] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Physics] for entity [1] [Dbg] [Sensors.cc:527] Configuring Sensors system [Dbg] [Sensors.cc:446] SensorsPrivate::Run [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Sensors] for entity [1] [Dbg] [Sensors.cc:422] SensorsPrivate::RenderThread started [Dbg] [Sensors.cc:262] Waiting for init [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::SceneBroadcaster] for entity [1] [Msg] Create service on [/world/waves/create] [Msg] Remove service on [/world/waves/remove] [Msg] Pose service on [/world/waves/set_pose] [Msg] Pose service on [/world/waves/set_pose_vector] [Msg] Light configuration service on [/world/waves/light_config] [Msg] Physics service on [/world/waves/set_physics] [Msg] SphericalCoordinates service on [/world/waves/set_spherical_coordinates] [Msg] Enable collision service on [/world/waves/enable_collision] [Msg] Disable collision service on [/world/waves/disable_collision] [Msg] Material service on [/world/waves/visual_config] [Msg] Material service on [/world/waves/wheel_slip] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::UserCommands] for entity [1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Imu] for entity [1] WARNING: All log messages before absl::InitializeLog() is called are written to STDERR E0000 00:00:1709211283.284471 34670 descriptor_database.cc:633] File already exists in database: gz/msgs/time.proto F0000 00:00:1709211283.284503 34670 descriptor.cc:2122] Check failed: GeneratedDatabase()->Add(encoded_file_descriptor, size) Check failure stack trace: @ 0x1046eea7c absl::lts_20230802::log_internal::LogMessage::SendToLog() @ 0x1046ee580 absl::lts_20230802::log_internal::LogMessage::Flush() @ 0x1046eed8c absl::lts_20230802::log_internal::LogMessageFatal::~LogMessageFatal() @ 0x1046eeda4 absl::lts_20230802::log_internal::LogMessageFatal::~LogMessageFatal() @ 0x10873516c google::protobuf::DescriptorPool::InternalAddGeneratedFile() @ 0x1087b0880 google::protobuf::(anonymous namespace)::AddDescriptors() @ 0x1087b0868 google::protobuf::(anonymous namespace)::AddDescriptors() @ 0x1087b0868 google::protobuf::(anonymous namespace)::AddDescriptors() @ 0x1087b0868 google::protobuf::(anonymous namespace)::AddDescriptors() @ 0x1087b08b4 google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner() @ 0x1893f5a24 _ZZNK5dyld46Loader25findAndRunAllInitializersERNS_12RuntimeStateEENK3$_0clEv_blockinvoke @ 0x18943b0f4 ZNK5dyld313MachOAnalyzer18forEachInitializerER11DiagnosticsRKNS0_15VMAddrConverterEU13block_pointerFvjEPKv_block_invoke.202 @ 0x18942e668 ___ZNK5dyld39MachOFile14forEachSectionEU13block_pointerFvRKNS0_11SectionInfoEbRbE_block_invoke @ 0x1893d52fc dyld3::MachOFile::forEachLoadCommand() @ 0x18942d6a0 dyld3::MachOFile::forEachSection() @ 0x189430188 dyld3::MachOFile::forEachInitializerPointerSection() @ 0x18943ade8 dyld3::MachOAnalyzer::forEachInitializer() @ 0x1893f1b38 dyld4::Loader::findAndRunAllInitializers() @ 0x1893f7f70 dyld4::JustInTimeLoader::runInitializers() @ 0x1893f1f24 dyld4::Loader::runInitializersBottomUp() @ 0x1893f1f00 dyld4::Loader::runInitializersBottomUp() @ 0x1893f1f00 dyld4::Loader::runInitializersBottomUp() @ 0x1893f1f00 dyld4::Loader::runInitializersBottomUp() @ 0x1893f5ab0 dyld4::Loader::runInitializersBottomUpPlusUpwardLinks()::$_1::operator()() @ 0x1893f20f0 dyld4::Loader::runInitializersBottomUpPlusUpwardLinks() @ 0x1894107ac dyld4::APIs::dlopen_from() @ 0x10440e380 gz::plugin::Loader::Implementation::LoadLib() @ 0x10440e144 gz::plugin::Loader::LoadLib() @ 0x104e7bb74 gz::sim::SystemLoaderPrivate::InstantiateSystemPlugin() @ 0x104e7b758 gz::sim::v8::SystemLoader::LoadPlugin() @ 0x104e7ea68 gz::sim::v8::SystemManager::LoadPlugin() @ 0x104e60210 gz::sim::v8::SimulationRunner::LoadPlugins() @ 0x104e44144 gz::common::EventT<>::Signal<>() @ 0x104e2b0b8 gz::sim::v8::EventManager::Emit<>() @ 0x104e29fa4 gz::sim::v8::SdfEntityCreator::CreateEntities() @ 0x104df4d94 gz::sim::v8::LevelManager::LoadActiveEntities() @ 0x104df42bc gz::sim::v8::LevelManager::UpdateLevelsState() @ 0x104e5ebf0 gz::sim::v8::SimulationRunner::SimulationRunner() @ 0x104e56acc gz::sim::v8::ServerPrivate::CreateEntities() @ 0x104e4f3f4 gz::sim::v8::Server::Server() @ 0x10424ce44 runServer @ 0x19a2ef050 ffi_call_SYSV @ 0x19a2f7adc ffi_call_int @ 0x1040b16e8 Init_fiddle_function @ 0x1fa6d4514 rb_thread_call_without_gvl2 @ 0x1040b1154 Init_fiddle_function @ 0x1fa70a4b0 rb_vm_fstring_table @ 0x1fa6f94fc rb_vm_get_insns_address_table @ 0x1fa707144 rb_vm_exec @ 0x1fa5e61d0 ruby_exec_node @ 0x1fa5e606c ruby_run_node @ 0x10405353c main @ 0x1893d90e0 start Stack trace (most recent call last):

17 Object "libprotobuf.25.3.0.dylib", at 0x1087b08b3, in google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*) + 23

16 Object "libprotobuf.25.3.0.dylib", at 0x1087b0867, in google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) + 103

15 Object "libprotobuf.25.3.0.dylib", at 0x1087b0867, in google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) + 103

14 Object "libprotobuf.25.3.0.dylib", at 0x1087b0867, in google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) + 103

13 Object "libprotobuf.25.3.0.dylib", at 0x1087b087f, in google::protobuf::(anonymous namespace)::AddDescriptors(google::protobuf::internal::DescriptorTable const*) + 127

12 Object "libprotobuf.25.3.0.dylib", at 0x10873516b, in google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int) + 127

11 Object "libabsl_log_internal_message.2308.0", at 0x1046eeda3, in absl::lts_20230802::log_internal::LogMessageFatal::~LogMessageFatal() + 11

10 Object "libabsl_log_internal_message.2308.0", at 0x1046eed8b, in absl::lts_20230802::log_internal::LogMessageFatal::~LogMessageFatal() + 11

9 Object "libabsl_log_internal_message.2308.0", at 0x1046ee57f, in absl::lts_20230802::log_internal::LogMessage::Flush() + 287

8 Object "libabsl_log_internal_message.2308.0", at 0x1046eeacb, in absl::lts_20230802::log_internal::LogMessage::SendToLog() + 127

7 Object "libabsl_log_internal_message.2308.0", at 0x1046eed4b, in absl::lts_20230802::log_internal::LogMessage::Die() + 35

6 Object "libabsl_log_internal_message.2308.0", at 0x1046ee90f, in absl::lts_20230802::log_internal::LogMessage::FailWithoutStackTrace() + 19

5 Object "libsystem_c.dylib", at 0x189665a3f, in abort + 179

4 Object "libsystem_pthread.dylib", at 0x189759cbf, in pthread_kill + 287

3 Object "libsystem_platform.dylib", at 0x189789a23, in _sigtramp + 55

2 Object "libgz-tools2-backward.dylib", at 0x104133377, in backward::SignalHandling::sig_handler(int, __siginfo, void) + 19

1 Object "libgz-tools2-backward.dylib", at 0x1041333db, in backward::SignalHandling::handleSignal(int, __siginfo, void) + 71

0 Object "libgz-tools2-backward.dylib", at 0x10413351b, in backward::StackTraceImpl::load_from(void, unsigned long, void, void*) + 43

zsh: abort gz sim -v4 -s -r waves.sdf dlaboy@Diegos-MacBook-Pro ~ %

This is how my install/lib directory should look like?

![Uploading Screenshot 2024-02-29 at 9.02.32 AM.png…]()

srmainwaring commented 4 months ago

Ok. This error:

[Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Imu] for entity [1]
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
E0000 00:00:1709211283.284471 34670 descriptor_database.cc:633] File already exists in database: gz/msgs/time.proto
F0000 00:00:1709211283.284503 34670 descriptor.cc:2122] Check failed: GeneratedDatabase()->Add(encoded_file_descriptor, size)
*** Check failure stack trace: ***
@ 0x1046eea7c absl::lts_20230802::log_internal::LogMessage::SendToLog()
@ 0x1046ee580 absl::lts_20230802::log_internal::LogMessage::Flush()
@ 0x1046eed8c absl::lts_20230802::log_internal::LogMessageFatal::~LogMessageFatal()
@ 0x1046eeda4 absl::lts_20230802::log_internal::LogMessageFatal::~LogMessageFatal()
@ 0x10873516c google::protobuf::DescriptorPool::InternalAddGeneratedFile()
@ 0x1087b0880 google::protobuf::(anonymous namespace)::AddDescriptors()
@ 0x1087b0868 google::protobuf::(anonymous namespace)::AddDescriptors()
@ 0x1087b0868 google::protobuf::(anonymous namespace)::AddDescriptors()
@ 0x1087b0868 google::protobuf::(anonymous namespace)::AddDescriptors()

Suggests there is something bad happening with the messaging layer - not sure why that is. There is a reference to the IMU sensor as well. It could be a problem with the Gazebo installation, but hard to tell at this point.

  1. Are you using a binary installation or one built from source?
  2. Do the various sensor examples distributed with gz-sim run correctly (these are the examples found in gz-sim/examples in the source repo).
  3. Can you try commenting out the floating objects in waves.sdf so it is only the wave sim running - no wamv or other objects.

It looks like there may be inconsistent usage of protobuf libraries, so the version linked when building the plugins is not consistent with the version that the binaries were built with. Again hard to tell at this point.

dlaboy commented 4 months ago
  1. I'm using a binary installation
  2. sensors seem to run well on example for iris_runway.sdf from ardupilot_gazebo.

dlaboy@Diegos-MBP ~ % gz sim -v4 -s -r iris_runway.sdf [Msg] Gazebo Sim Server v8.1.0 [Msg] Loading SDF world file[/Users/dlaboy/Desktop/college/roboboat_stuff/repos/gz_ws/src/ardupilot_gazebo/worlds/iris_runway.sdf]. [Msg] Serving entity system service on [/entity/system/add] [Dbg] [Physics.cc:860] Loaded [gz::physics::dartsim::Plugin] from library [/opt/homebrew/Cellar/gz-physics7/7.0.0_4/lib/gz-physics-7/engine-plugins/libgz-physics-dartsim-plugin.dylib] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Physics] for entity [1] [Dbg] [Sensors.cc:527] Configuring Sensors system [Dbg] [Sensors.cc:446] SensorsPrivate::Run [Dbg] [Sensors.cc:422] SensorsPrivate::RenderThread started [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Sensors] for entity [1] [Dbg] [Sensors.cc:262] Waiting for init [Msg] Create service on [/world/iris_runway/create] [Msg] Remove service on [/world/iris_runway/remove] [Msg] Pose service on [/world/iris_runway/set_pose] [Msg] Pose service on [/world/iris_runway/set_pose_vector] [Msg] Light configuration service on [/world/iris_runway/light_config] [Msg] Physics service on [/world/iris_runway/set_physics] [Msg] SphericalCoordinates service on [/world/iris_runway/set_spherical_coordinates] [Msg] Enable collision service on [/world/iris_runway/enable_collision] [Msg] Disable collision service on [/world/iris_runway/disable_collision] [Msg] Material service on [/world/iris_runway/visual_config] [Msg] Material service on [/world/iris_runway/wheel_slip] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::UserCommands] for entity [1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::SceneBroadcaster] for entity [1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::Imu] for entity [1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::NavSat] for entity [1] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::JointStatePublisher] for entity [15] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::LiftDrag] for entity [15] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::LiftDrag] for entity [15] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::LiftDrag] for entity [15] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::LiftDrag] for entity [15] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::LiftDrag] for entity [15] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::LiftDrag] for entity [15] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::LiftDrag] for entity [15] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::LiftDrag] for entity [15] [Msg] ApplyJointForce subscribing to Double messages on [/model/iris_with_ardupilot/joint/iris_with_standoffs::rotor_0_joint/cmd_force] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::ApplyJointForce] for entity [15] [Msg] ApplyJointForce subscribing to Double messages on [/model/iris_with_ardupilot/joint/iris_with_standoffs::rotor_1_joint/cmd_force] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::ApplyJointForce] for entity [15] [Msg] ApplyJointForce subscribing to Double messages on [/model/iris_with_ardupilot/joint/iris_with_standoffs::rotor_2_joint/cmd_force] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::ApplyJointForce] for entity [15] [Msg] ApplyJointForce subscribing to Double messages on [/model/iris_with_ardupilot/joint/iris_with_standoffs::rotor_3_joint/cmd_force] [Dbg] [SystemManager.cc:74] Loaded system [gz::sim::systems::ApplyJointForce] for entity [15] [Dbg] [SystemManager.cc:74] Loaded system [ArduPilotPlugin] for entity [15] [Msg] Loaded level [3] [Msg] Serving world controls on [/world/iris_runway/control], [/world/iris_runway/control/state] and [/world/iris_runway/playback/control] [Msg] Serving GUI information on [/world/iris_runway/gui/info] [Msg] World [iris_runway] initialized with [1ms] physics profile. [Msg] Serving world SDF generation service on [/world/iris_runway/generate_world_sdf] [Msg] Serving world names on [/gazebo/worlds] [Msg] Resource path add service on [/gazebo/resource_paths/add]. [Msg] Resource path get service on [/gazebo/resource_paths/get]. [Msg] Resource path resolve service on [/gazebo/resource_paths/resolve]. [Msg] Resource paths published on [/gazebo/resource_paths]. [Msg] Server control service on [/server_control]. [Msg] Found no publishers on /stats, adding root stats topic [Msg] Found no publishers on /clock, adding root clock topic [Dbg] [SimulationRunner.cc:545] Creating PostUpdate worker threads: 7 [Dbg] [SimulationRunner.cc:556] Creating postupdate worker thread (0) [Dbg] [SimulationRunner.cc:556] Creating postupdate worker thread (1) [Dbg] [SimulationRunner.cc:556] Creating postupdate worker thread (2) [Dbg] [SimulationRunner.cc:556] Creating postupdate worker thread (3) [Dbg] [SimulationRunner.cc:556] Creating postupdate worker thread (4) [Dbg] [SimulationRunner.cc:556] Creating postupdate worker thread (5) [Msg] Found IMU sensor with name [iris_with_standoffs::imu_link::imu_sensor] [Dbg] [ArduPilotPlugin.cc:1156] Computed IMU topic to be: world/iris_runway/model/iris_with_ardupilot/model/iris_with_standoffs/link/imu_link/sensor/imu_sensor/imu [Dbg] [ImuSensor.cc:150] IMU data for [iris_with_ardupilot::iris_with_standoffs::imu_link::imu_sensor] advertised on [world/iris_runway/model/iris_with_ardupilot/model/iris_with_standoffs/link/imu_link/sensor/imu_sensor/imu] [Msg] Serving scene information on [/world/iris_runway/scene/info] [Msg] Serving graph information on [/world/iris_runway/scene/graph] [Msg] Serving full state on [/world/iris_runway/state] [Msg] Serving full state (async) on [/world/iris_runway/state_async] [Msg] Publishing scene information on [/world/iris_runway/scene/info] [Msg] Publishing entity deletions on [/world/iris_runway/scene/deletion] [Msg] Publishing state changes on [/world/iris_runway/state] [Msg] Publishing pose messages on [/world/iris_runway/pose/info] [Msg] Publishing dynamic pose messages on [/world/iris_runway/dynamic_pose/info] [Dbg] [EntityComponentManager.cc:1655] Updated state thread iterators: 10 threads processing around 5 entities each. [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute. [Wrn] [Component.hh:144] Trying to serialize component with data type [N3sdf3v145WorldE], which doesn't have operator<<. Component will not be serialized.

  1. I tried this, still same output

Just random question. Does protofobuf need to be installed?

srmainwaring commented 4 months ago

@dlaboy - I've update my MacBook to the latest version of Sonoma and Xcode, installed gz-harmonic from binaries, and rebuilt the wave libraries. It is running as expected, so somewhere along the line your machine is mis-configured. Here are the details of my setup:

System:

brew:

brew update && brew upgrade

To really force a clean install you can (should) force uninstall all versions of Python, remove the /opt/homebrew/python3.xx/site-packages, remove $HOME/Library/Python/3.xx and remove colcon and other Python binaries from /opt/homebrew/bin. Then force a reinstall of everything:

brew list | xargs brew reinstall

This will make sure you have all the sonoma bottles.

Then only use a virtual environment for Python.

$ mkdir ~/.venv
$ /opt/homebrew/opt/python@3.11/libexec/bin/python3 -m venv ~/.venv/ros2-3.11
$ ~/.venv/ros2-3.11/bin/activate

This is my complete brew install listing:

```bash (ros2-3.11) rhys@MacBookPro2 gz_waves_ws % brew list --versions aarch64-elf-binutils 2.41_1 aarch64-elf-gcc 13.2.0_1 aarch64-elf-gdb 14.1_1 abseil 20230802.1 ampl-mp 3.1.0_3 ant 1.10.14 aom 3.8.1 apache-arrow 15.0.0_3 apr 1.7.4 apr-util 1.6.3_1 aribb24 1.0.4 arm-linux-gnueabihf-binutils 2.41_1 asio 1.28.1 assimp 5.3.1 astyle 3.4.12 autoconf 2.72 aws-sdk-cpp 1.11.270 bdw-gc 8.2.6 bison 3.8.2 black 24.2.0_1 boost 1.84.0_1 boost-python3 1.84.0 brotli 1.1.0 bullet 3.25 bzip2 1.0.8 c-ares 1.27.0 ca-certificates 2023-12-12 cairo 1.18.0 capstone 5.0.1 catch2 3.5.2 ceres-solver 2.2.0_1 cffi 1.16.0_1 cfitsio 4.4.0 cgal 5.6.1 cjson 1.7.17 clang-format 17.0.6 cmake 3.28.3 cminpack 1.3.8 cmocka 1.1.7 console_bridge 1.0.2 cppcheck 2.13.0_1 cppunit 1.15.1 cppzmq 4.10.0 cunit 2.1-3 dartsim 6.13.1_2 dartsim@6.10.0 6.10.0~20211005~d2b6ee08a60d0dbf71b0f008cd8fed1f611f6e24_12 dav1d 1.4.0 dbus 1.14.10 dfu-util 0.11 double-conversion 3.3.0 doxygen 1.10.0 dtc 1.7.0 eigen 3.4.0_1 epsilon 0.9.2 expat 2.6.0 fcl 0.7.0 ffmpeg 6.1.1_3 ffmpeg@4 4.4.4_4 fftw 3.3.10_1 flac 1.4.3 flann 1.9.2_1 fmt 10.2.1_1 fontconfig 2.15.0 freeimage 3.18.0 freetype 2.13.2 freexl 2.0.0 frei0r 2.3.2 fribidi 1.0.13 gawk 5.3.0 gcc 13.2.0 gd 2.3.3_6 gdal 3.8.4 gdbm 1.23 gdk-pixbuf 2.42.10_1 geographiclib 2.3 geos 3.12.1 gettext 0.22.5 gflags 2.2.2 gh 2.44.1 giflib 5.2.1 git 2.44.0 git-flow 0.4.1_1 git-lfs 3.4.1 gl2ps 1.4.2 glew 2.2.0_1 glib 2.78.4 glog 0.6.0 gmp 6.3.0 gnupg 2.4.4 gnuplot 6.0.0 gnutls 3.8.3 gobject-introspection 1.78.1 google-benchmark 1.8.3 googletest 1.14.0 gpgme 1.23.2 graphicsmagick 1.3.42_1 graphite2 1.3.14 graphviz 10.0.1 grpc 1.62.0 gts 0.7.6_3 guile 3.0.9 gz-cmake3 3.4.1 gz-common5 5.5.0_2 gz-fuel-tools9 9.0.0_12 gz-gui8 8.0.0_12 gz-harmonic 1.0.0_5 gz-launch7 7.0.0_13 gz-math7 7.3.0_3 gz-msgs10 10.1.0_7 gz-physics7 7.0.0_4 gz-plugin2 2.0.2 gz-rendering8 8.0.0 gz-sensors8 8.0.0_13 gz-sim8 8.1.0_6 gz-tools2 2.0.0 gz-transport13 13.0.0_15 gz-utils2 2.2.0 harfbuzz 8.3.0_1 hdf5 1.14.3 highway 1.1.0 hunspell 1.7.2 hwloc 2.10.0 icu4c 74.2 ignition-cmake2 2.17.1 ignition-common3 3.17.0_2 ignition-fuel-tools4 4.9.1_6 ignition-math6 6.15.1 ignition-msgs5 5.11.0_22 ignition-tools 1.5.0_1 ignition-transport8 8.5.0_6 imath 3.1.10 iperf 2.1.9 ipopt 3.14.14 ipython 8.22.1 irrlicht 1.8.5_1 isl 0.26 jasper 4.2.1 jpeg 9f jpeg-turbo 3.0.1 jpeg-xl 0.9.1 json-c 0.17 jsoncpp 1.9.5 jupyterlab 4.1.2 keyring 24.3.0 krb5 1.21.2 lame 3.100 leptonica 1.84.1 libaec 1.1.2 libarchive 3.7.2 libass 0.17.1_1 libassuan 2.5.6 libavif 1.0.4 libb2 0.98.1 libbluray 1.3.4 libccd 2.1_1 libcerf 2.4 libdap 3.20.11_1 libde265 1.0.15 libevent 2.1.12_1 libffi 3.4.6 libgcrypt 1.10.3 libgeotiff 1.7.1_3 libgpg-error 1.48 libheif 1.17.6 libidn2 2.3.7 libimagequant 4.3.0 libkml 1.3.0_1 libksba 1.6.6 liblerc 4.0.0 liblinear 2.47 libmicrohttpd 1.0.0 libmng 2.0.3_1 libmpc 1.3.1 libnghttp2 1.59.0 libogg 1.3.5 libomp 17.0.6 libpcap 1.10.4 libpng 1.6.42 libpq 16.2_1 libpthread-stubs 0.5 libraqm 0.10.1 librist 0.2.10 librsvg 2.57.1 librttopo 1.1.0 libsamplerate 0.2.2 libslirp 4.7.0 libsndfile 1.2.2 libsodium 1.0.19 libsoxr 0.1.3 libspatialite 5.1.0 libssh 0.10.6 libssh2 1.11.0_1 libtar 1.2.20 libtasn1 4.19.0 libtiff 4.6.0 libtool 2.4.7 libunibreak 6.0 libunistring 1.1 libusb 1.0.27 libuv 1.48.0 libvidstab 1.1.1 libvmaf 3.0.0 libvorbis 1.3.7 libvpx 1.13.1 libwebsockets 4.3.3 libx11 1.8.7 libxau 1.0.11 libxcb 1.16 libxdmcp 1.1.4 libxext 1.3.6 libxml2 2.12.5_1 libxrender 0.9.11 libyaml 0.2.5 libzip 1.10.1 libzzip 0.13.73 little-cms2 2.16 llvm 17.0.6_1 llvm@15 15.0.7 log4cxx 1.2.0 lua 5.4.6 lz4 1.9.4 lzo 2.10 m4 1.4.19 mbedtls 3.5.2 md4c 0.5.2 metis 5.1.0 minizip 1.3.1 mpdecimal 4.0.0 mpfr 4.2.1 mpg123 1.32.5 mypy 1.8.0 ncurses 6.4 netcdf 4.9.2_1 netpbm 11.02.07 nettle 3.9.1 ninja 1.11.1 nlohmann-json 3.11.3 nlopt 2.7.1 nmap 7.94_1 node 21.6.2_1 npth 1.7 nspr 4.35 nss 3.98 numpy 1.26.4 octomap 1.9.8 ode 0.16.4 ogre1.9 1.9-20160714-108ab0bcc69603dba32c0ffd4bbbc39051f421c9_10 ogre2.3 2.3.1_2 ompl 1.6.0_4 open-mpi 5.0.2 open-scene-graph 3.6.5_2 openblas 0.3.26 opencore-amr 0.1.6 opencv 4.9.0_3 opencv@3 3.4.20 openexr 3.2.2 openjdk 21.0.2 openjdk@11 11.0.22 openjpeg 2.5.1 openldap 2.6.7 openssl@1.1 1.1.1w openssl@3 3.2.1 openvino 2023.3.0 opus 1.4 orocos-kdl 1.5.1 ossp-uuid 1.6.2_2 p11-kit 0.25.3 pandoc 3.1.12.1 pango 1.50.14 pcl 1.14.0_1 pcre 8.45 pcre2 10.42 pillow 10.2.0_1 pinentry 1.2.1 pipx 1.4.3 pixman 0.42.2 pkg-config 0.29.2_3 pmix 4.2.9 poco 1.13.2 poetry 1.8.1 poppler 24.02.0 poppler-qt5 24.02.0 popt 1.19 pre-commit 3.6.2 proj 9.3.1 protobuf 25.3 protobuf-c 1.5.0_2 protobuf@21 21.12 pugixml 1.14 pybind11 2.11.1 pycparser 2.21_1 pydocstyle 6.3.0_1 pyenv 2.3.36 pygments 2.17.2 pyqt 6.6.1 pyqt@5 5.15.10 pyside 6.6.2 pyside@2 5.15.12 python-argcomplete 3.2.2 python-certifi 2024.2.2 python-charset-normalizer 3.3.2 python-click 8.1.7_1 python-dateutil 2.8.2 python-filelock 3.13.1 python-gdbm@3.11 3.11.8 python-idna 3.6 python-jinja 3.1.3 python-lsp-server 1.10.0 python-markupsafe 2.1.5 python-packaging 23.2_1 python-pathspec 0.12.1 python-ply 3.11 python-psutil 5.9.8 python-requests 2.31.0 python-setuptools 69.1.1 python-tk@3.11 3.11.8 python-typing-extensions 4.10.0 python-urllib3 2.2.1 python@3.10 3.10.13_2 python@3.11 3.11.8 python@3.12 3.12.2_1 python@3.9 3.9.18_2 pyyaml 6.0.1_1 qemu 8.2.1 qhull 2020.2 qt 6.6.2_1 qt@5 5.15.12_1 qwt 6.2.0_1 qwt-qt5 6.2.0 range-v3 0.12.0 rapidjson 1.1.0 rav1e 0.7.1 re2 20240201 readline 8.2.10 rsync 3.2.7_1 rubberband 3.3.0 ruby 3.3.0 ruff 0.3.0 sdformat14 14.0.0_7 sdformat9 9.10.1_1 sdl2 2.30.0 sfml 2.6.1 shared-mime-info 2.4 simbody 3.7 sip 6.8.3 six 1.16.0_4 snappy 1.1.10 socat 1.8.0.0 spdlog 1.12.0 speex 1.2.1 sqlite 3.45.1 srt 1.5.3 suite-sparse 7.6.0 svt-av1 1.8.0 swig 4.2.1 tbb 2021.11.0 tcl-tk 8.6.13_5 tesseract 5.3.4_1 theora 1.1.1 thrift 0.19.0 tinyxml 2.6.2 tinyxml1 2.6.2 tinyxml2 10.0.0 unbound 1.19.1 unixodbc 2.3.12 urdfdom 4.0.0_1 urdfdom_headers 1.1.1 uriparser 0.9.7 utf8cpp 4.0.5 utf8proc 2.9.0 vde 2.3.3 virtualenv 20.25.1 vtk 9.2.6_6 webp 1.3.2 wget 1.21.4 wxpython 4.2.1 wxwidgets 3.2.4 x264 r3108 x265 3.5 xerces-c 3.2.5 xorgproto 2023.2 xsimd 12.1.1 xtensor 0.25.0 xvid 1.3.7 xxhash 0.8.2 xz 5.4.6 yaml-cpp 0.8.0 z3 4.12.6 zeromq 4.3.5_1 zimg 3.0.5 zstd 1.5.5 xquartz 2.8.2 ```

Then install colcon into the Python virtual environment:

python -m pip install -U colcon-common-extensions

Ensure you have the following in ~/.zprofile

###############################
# HOMEBREW
eval "$(/opt/homebrew/bin/brew shellenv)"

###############################
# QT5
export CMAKE_PREFIX_PATH=/opt/homebrew/opt/qt@5:$CMAKE_PREFIX_PATH
export PATH=/opt/homebrew/opt/qt@5/bin:$PATH

##############################################################################
# COLCON  
export COLCON_EXTENSION_BLOCKLIST=colcon_core.event_handler.desktop_notification

##############################################################################
# GAZEBO
export GZ_VERSION=harmonic

This is my workspace structure

(ros2-3.11) rhys@MacBookPro2 gz_waves_ws % tree -L 2
.
├── build
│   ├── COLCON_IGNORE
│   └── gz-waves1
├── install
│   ├── COLCON_IGNORE
│   ├── _local_setup_util_ps1.py
│   ├── _local_setup_util_sh.py
│   ├── bin
│   ├── include
│   ├── lib
│   ├── local_setup.bash
│   ├── local_setup.ps1
│   ├── local_setup.sh
│   ├── local_setup.zsh
│   ├── setup.bash
│   ├── setup.ps1
│   ├── setup.sh
│   ├── setup.zsh
│   └── share
├── log
│   ├── COLCON_IGNORE
│   ├── build_2024-02-29_19-58-52
│   ├── build_2024-02-29_20-07-31
│   ├── latest -> latest_build
│   └── latest_build -> build_2024-02-29_20-07-31
├── setup.sh
└── src
    └── asv_wave_sim

and I am using the master branch of asv_wave_sim.

The build command is:

(ros2-3.11) rhys@MacBookPro2 gz_waves_ws % colcon build --symlink-install --merge-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTING=OFF -DCMAKE_CXX_STANDARD=17 -DCMAKE_MACOSX_RPATH=FALSE -DCMAKE_INSTALL_NAME_DIR=$(pwd)/install/lib

The setup.sh script is:

#!/bin/sh

#--------------------------------------------------------------------------
# Usage
# 
# $ source ./set_gz_env.sh
# 

#--------------------------------------------------------------------------
# Set Ogre environment variables

export OGRE2_RESOURCE_PATH=/opt/homebrew/opt/ogre2.3/lib/OGRE-2.3/OGRE

#--------------------------------------------------------------------------
# Set Gazebo environment variables

export GZ_VERSION=harmonic

# gz-transport
# if set to 1 this displays all transport messages
export GZ_VERBOSE=0
export GZ_IP=127.0.0.1

export GZ_SIM_RESOURCE_PATH=$GZ_SIM_RESOURCE_PATH:\
$HOME/Code/robotics/gz_waves_ws/src/asv_wave_sim/gz-waves-models/models:\
$HOME/Code/robotics/gz_waves_ws/src/asv_wave_sim/gz-waves-models/world_models:\
$HOME/Code/robotics/gz_waves_ws/src/asv_wave_sim/gz-waves-models/worlds

export GZ_SIM_SYSTEM_PLUGIN_PATH=$GZ_SIM_SYSTEM_PLUGIN_PATH:\
$HOME/Code/robotics/gz_waves_ws/install/lib:

export GZ_GUI_PLUGIN_PATH=$GZ_GUI_PLUGIN_PATH:\
$HOME/Code/robotics/gz_waves_ws/src/asv_wave_sim/gz-waves/src/gui/plugins/waves_control/build

#--------------------------------------------------------------------------
# Use brew version of ruby to avoid SIP issues
export PATH=/opt/homebrew/opt/ruby/bin:${PATH}

#--------------------------------------------------------------------------
# Python path for bindings

export PYTHONPATH=${PYTHONPATH}:\
$HOME/Code/osrf/gz_harmonic_ws/install/lib/python

and finally source the setup.sh and run the example:

$ . ./setup.sh
$ gz sim -v4 -s -r waves.sdf
$ . ./setup.sh
$ gz sim -v4 -g
harmonic_wave_sim

The scene is darker than in my examples, as I apply a gamma correction patch when building from source.

I'm going to close this as there isn't an issue with the code or development required. If you follow the instructions above carefully the simulation will work.