The meeting sdk headless demo is not working

I followed the instructions present in this video on how to set up the meeting sdk for headless meeting bot.

I wish I could link to the repo here but when i do it keeps saying that I cant add links to this topic !!

I followed the steps mentioned int the video and the git read me exactly but i keep getting this error. Can some one please be kind enough to help me with this.

Steps I followed

  1. Cloned the repo
  2. Downloaded the latest SDK for Linux
  3. Added the SDK file contents to lib/zoomsdk
  4. Ran this command —> cp sample.config.toml config.toml
  5. Added my credentials to the .toml file
  6. finally ran docker compose up

This resulted in the following error.

@chunsiong.zoom

zoomsdk-1 | Consolidate compiler generated dependencies of target zoomsdk
zoomsdk-1 | [ 10%] Building CXX object CMakeFiles/zoomsdk.dir/src/main.cpp.o
zoomsdk-1 | In file included from /tmp/meeting-sdk-linux-sample/src/Zoom.h:25,
zoomsdk-1 | from /tmp/meeting-sdk-linux-sample/src/main.cpp:4:
zoomsdk-1 | /tmp/meeting-sdk-linux-sample/src/events/MeetingReminderEvent.h:27:67: error: ‘IMeetingEnableReminderHandler’ has not been declared
zoomsdk-1 | 27 | void onEnableReminderNotify(IMeetingReminderContent* content, IMeetingEnableReminderHandler* handle) override {};
zoomsdk-1 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
zoomsdk-1 | /tmp/meeting-sdk-linux-sample/src/events/MeetingReminderEvent.h:27:10: error: ‘void MeetingReminderEvent::onEnableReminderNotify(ZOOMSDK::IMeetingReminderContent*, int*)’ marked ‘override’, but does not override
zoomsdk-1 | 27 | void onEnableReminderNotify(IMeetingReminderContent* content, IMeetingEnableReminderHandler* handle) override {};
zoomsdk-1 | | ^~~~~~~~~~~~~~~~~~~~~~
zoomsdk-1 | In file included from /tmp/meeting-sdk-linux-sample/src/Zoom.h:26,
zoomsdk-1 | from /tmp/meeting-sdk-linux-sample/src/main.cpp:4:
zoomsdk-1 | /tmp/meeting-sdk-linux-sample/src/events/MeetingRecordingCtrlEvent.h:60:42: error: ‘RequestStartCloudRecordingStatus’ has not been declared
zoomsdk-1 | 60 | void onRequestCloudRecordingResponse(RequestStartCloudRecordingStatus status) override {};
zoomsdk-1 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
zoomsdk-1 | In file included from /tmp/meeting-sdk-linux-sample/src/Zoom.h:26,
zoomsdk-1 | from /tmp/meeting-sdk-linux-sample/src/main.cpp:4:
zoomsdk-1 | /tmp/meeting-sdk-linux-sample/src/events/MeetingRecordingCtrlEvent.h:66:41: error: ‘IRequestStartCloudRecordingHandler’ has not been declared
zoomsdk-1 | 66 | void onStartCloudRecordingRequested(IRequestStartCloudRecordingHandler* handler) override {};
zoomsdk-1 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
zoomsdk-1 | /tmp/meeting-sdk-linux-sample/src/events/MeetingRecordingCtrlEvent.h:72:50: error: ‘IRequestEnableAndStartSmartRecordingHandler’ has not been declared
zoomsdk-1 | 72 | void onEnableAndStartSmartRecordingRequested(IRequestEnableAndStartSmartRecordingHandler* handler) override {};
zoomsdk-1 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
zoomsdk-1 | /tmp/meeting-sdk-linux-sample/src/events/MeetingRecordingCtrlEvent.h:78:47: error: ‘ISmartRecordingEnableActionHandler’ has not been declared
zoomsdk-1 | 78 | void onSmartRecordingEnableActionCallback(ISmartRecordingEnableActionHandler* handler) override {};
zoomsdk-1 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
zoomsdk-1 | In file included from /tmp/meeting-sdk-linux-sample/src/Zoom.h:26,
zoomsdk-1 | from /tmp/meeting-sdk-linux-sample/src/main.cpp:4:
zoomsdk-1 | /tmp/meeting-sdk-linux-sample/src/events/MeetingRecordingCtrlEvent.h:60:10: error: ‘void MeetingRecordingCtrlEvent::onRequestCloudRecordingResponse(int)’ marked ‘override’, but does not override
zoomsdk-1 | 60 | void onRequestCloudRecordingResponse(RequestStartCloudRecordingStatus status) override {};
zoomsdk-1 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
zoomsdk-1 | In file included from /tmp/meeting-sdk-linux-sample/src/Zoom.h:26,
zoomsdk-1 | from /tmp/meeting-sdk-linux-sample/src/main.cpp:4:
zoomsdk-1 | /tmp/meeting-sdk-linux-sample/src/events/MeetingRecordingCtrlEvent.h:66:10: error: ‘void MeetingRecordingCtrlEvent::onStartCloudRecordingRequested(int*)’ marked ‘override’, but does not override
zoomsdk-1 | 66 | void onStartCloudRecordingRequested(IRequestStartCloudRecordingHandler* handler) override {};
zoomsdk-1 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
zoomsdk-1 | /tmp/meeting-sdk-linux-sample/src/events/MeetingRecordingCtrlEvent.h:72:10: error: ‘void MeetingRecordingCtrlEvent::onEnableAndStartSmartRecordingRequested(int*)’ marked ‘override’, but does not override
zoomsdk-1 | 72 | void onEnableAndStartSmartRecordingRequested(IRequestEnableAndStartSmartRecordingHandler* handler) override {};
zoomsdk-1 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
zoomsdk-1 | /tmp/meeting-sdk-linux-sample/src/events/MeetingRecordingCtrlEvent.h:78:10: error: ‘void MeetingRecordingCtrlEvent::onSmartRecordingEnableActionCallback(int*)’ marked ‘override’, but does not override
zoomsdk-1 | 78 | void onSmartRecordingEnableActionCallback(ISmartRecordingEnableActionHandler* handler) override {};
zoomsdk-1 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
zoomsdk-1 | gmake[2]: *** [CMakeFiles/zoomsdk.dir/build.make:76: CMakeFiles/zoomsdk.dir/src/main.cpp.o] Error 1
zoomsdk-1 | gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/zoomsdk.dir/all] Error 2
zoomsdk-1 | gmake: *** [Makefile:91: all] Error 2
zoomsdk-1 exited with code 2

@shamalgithub the error above seems to be due to missing implementation from newer SDK.

You can try this code sample as well

Hey @shamalgithub ,

As Chun Siong mentioned, this issue appears to be related to a mismatch between SDK versions.

There are two ways you could resolve this:

  1. Install the correct version of the Linux Meeting SDK.
    The errors you’ve shared seem to suggest that some of the functions are supposed to override base class methods, but the base class methods are either not found or have different signatures.
    Ensuring that your SDK version matches that of the project should fix this.

  2. Update your code
    The other option is to update your code to reflect the changes in the new SDK version. For instance, if IMeetingEnableReminderHandler or other classes have been renamed, moved, or had their signatures changed, you’ll need to update the corresponding parts of your code accordingly.


If you didn’t want to deal with building your own bots from scratch, another alternative is to use Recall.ai for your meeting bots instead. It’s a simple 3rd party API that enables you to spin up meeting bots to get raw audio/video and other data from meetings in just a few lines of code, bypassing the need to spend months to build, scale and maintain these bots yourself.

Let me know if you have any questions!