Error after executing make in the /demo/build/ folder

Hi @donte.zoom
After executing make in the /demo/build/ folder , I’m getting following error. Please guide me to resolve this.

azureuser@akzoom-sdkserver:~/meetingsdk-linux-raw-recording-sample/demo/build$ sudo make
Scanning dependencies of target meetingSDKDemo
[ 8%] Building CXX object CMakeFiles/meetingSDKDemo.dir/meeting_sdk_demo.cpp.o
/home/azureuser/meetingsdk-linux-raw-recording-sample/demo/meeting_sdk_demo.cpp: In function ‘void JoinMeeting()’:
/home/azureuser/meetingsdk-linux-raw-recording-sample/demo/meeting_sdk_demo.cpp:549:101: error: invalid new-expression of abstract class type ‘Meeting ParticipantsCtrlEventListener’
549 | m_pParticipantsController->SetEvent(new MeetingParticipantsCtrlEventListener(&onIsHost, &onIsCoHost));
| ^
In file included from /home/azureuser/meetingsdk-linux-raw-recording-sample/demo/meeting_sdk_demo.cpp:37:
/home/azureuser/meetingsdk-linux-raw-recording-sample/demo/MeetingParticipantsCtrlEventListener.h:8:7: note: because the following virtual functions are pure within ‘MeetingParticipantsCtrlEventListener’:
8 | class MeetingParticipantsCtrlEventListener :
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/azureuser/meetingsdk-linux-raw-recording-sample/demo/meeting_sdk_demo.cpp:21:
/home/azureuser/meetingsdk-linux-raw-recording-sample/demo/include/h/meeting_service_components/meeting_participants_ctrl_interface.h:257:15: note: ‘ virtual void ZOOMSDK::IMeetingParticipantsCtrlEvent::onFocusModeStateChanged(bool)’
257 | virtual void onFocusModeStateChanged(bool bEnabled) = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/azureuser/meetingsdk-linux-raw-recording-sample/demo/include/h/meeting_service_components/meeting_participants_ctrl_interface.h:261:15: note: ‘ virtual void ZOOMSDK::IMeetingParticipantsCtrlEvent::onFocusModeShareTypeChanged(ZOOMSDK::FocusModeShareType)’
261 | virtual void onFocusModeShareTypeChanged(FocusModeShareType type) = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/azureuser/meetingsdk-linux-raw-recording-sample/demo/meeting_sdk_demo.cpp:553:99: error: invalid new-expression of abstract class type ‘MeetingR ecordingCtrlEventListener’
553 | m_pRecordController->SetEvent(new MeetingRecordingCtrlEventListener(&onIsGivenRecordingPermission));
| ^
In file included from /home/azureuser/meetingsdk-linux-raw-recording-sample/demo/meeting_sdk_demo.cpp:38:
/home/azureuser/meetingsdk-linux-raw-recording-sample/demo/MeetingRecordingCtrlEventListener.h:8:7: note: because the following virtual functions ar e pure within ‘MeetingRecordingCtrlEventListener’:
8 | class MeetingRecordingCtrlEventListener :public IMeetingRecordingCtrlEvent
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/azureuser/meetingsdk-linux-raw-recording-sample/demo/include/h/meeting_service_components/meeting_participants_ctrl_interf ace.h:9,
from /home/azureuser/meetingsdk-linux-raw-recording-sample/demo/meeting_sdk_demo.cpp:21:
/home/azureuser/meetingsdk-linux-raw-recording-sample/demo/include/h/meeting_service_components/meeting_recording_interface.h:120:15: note: ‘virtu al void ZOOMSDK::IMeetingRecordingCtrlEvent::onCloudRecordingStorageFull(time_t)’
120 | virtual void onCloudRecordingStorageFull(time_t gracePeriodDate) = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/meetingSDKDemo.dir/build.make:63: CMakeFiles/meetingSDKDemo.dir/meeting_sdk_demo.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:76: CMakeFiles/meetingSDKDemo.dir/all] Error 2
make: *** [Makefile:84: all] Error 2 ,

It is likely you are using a newer version of the SDK, and some of the interfaces have not been implemented.

For now, could you try with 5.16.10?

I’ll update the sample with the latest SDK in a while

1 Like

You need to implement below abstract classes to custom classes

  • MeetingParticipantsCtrlEventListener
  • MeetingRecordingCtrlEventListener

Then create instances of those.

@tanchunsiong Thank you so much. Its working now .
After executing make in the /demo/build/ directory to compile , meetingSDKDemo file got generated in the /meetingsdk-linux-raw-recording-sample/demo/bin/ folder. But I’m not able to join the meeting. Also please help me to understand how to get the recording token . I read relevant docs , but I’m not understanding. Please help me out . for recording token, you will need to use an OAuth app to get a meeting recording token. Below is the specific token which you need to get using the REST API

“code”: 124,
“message”: “Invalid access token.”

I’m not getting recording_token , I got Invalid access token message when I send GET request to this endpoint :

I used Insomnia desktop application.

Please help. @freelancer.nak @chunsiong.zoom it seems you are not generating the right access token to call the API.

Could you share how you are generating the access token?

I used this endpoint which is mentioned in the DOC: /meetings/{meetingId}/jointoken/local_recording . I replaced my meetingID and sent the GET request using this endpoint : this API requires authorisation, you need to have an access token before you can get the data.

@chunsiong.zoom . Please guide me on how to get access token please check out this guide here

1 Like

@chunsiong.zoom @freelancer.nak I followed this guide and after making post request I’m getting following error.
“reason”: “unsupported grant type”,
“error”: “unsupported_grant_type”

My URL :
with following header:
“Content-Type”: application/x-www-form-urlencoded,
“Authorization”: Basic emUwV1hzbzlTT3lOOEEwYU1aNHpROkpGNkxSOWwwUkt1NWp0bGlFMjBablJyR0d5MFlnSlpj

Seems you are not setting headers properly. Are you using PostMan?

@freelancer.nak @chunsiong.zoom I’m using postman . I used headers as mentioned in the guide. can you try following this guide?

1 Like

@chunsiong.zoom @freelancer.nak Thank you . I’m able to get the access token using server-to-server OAuth app and used access token to get recording token.
I need to use this recording token in config.txt file in meetingsdk-linux-raw-recording-sample to access raw audio and raw video in a headless docker environment.
I have doubt in the content of config.txt file:

meeting_number: “1234567890”
token: “xxxxxxxx.yyyyyyyyyyyyyyyyyy.zzzzzzzzzzzzzzzzz”
meeting_password: “123456”
recording_token: “”
GetVideoRawData: “true”
GetAudioRawData: “true”
SendVideoRawData: “false”
SendAudioRawData: “false”

With respect to above content ,I have two questions:

  1. Is meeting_number same as meeting ID of Zoom ?
  2. Is the token field value above is the access token that I got using S2S OAuth app ?

Please clarify.

@chunsiong.zoom @freelancer.nak Please clarify.

  1. Meeting_number is the same Meeting ID of Zoom
  2. No. Token here refers to SDK Authentication token. It is signed using a Meeting SDK App Type’s Client ID and Client Secret
  3. The local recording token which you are gotten from S2S OAuth app should be passed into the recording_token field
1 Like

@chunsiong.zoom @freelancer.nak

I’m able to get SDK Authentication token.
After executing make in the /demo/build/ directory to compile, meetingSDKDemo folder got generated in /meetingsdk-linux-raw-recording-sample/demo/bin/ folder.
After this I executed the following command :-
docker build -t msdk-5.17.5-on-ubuntu-compact -f Dockerfile-Ubuntu/Dockerfile . docker run -it --rm msdk-5.17.5-on-ubuntu-compact
The above command is not being executed. I have attached the screenshot of this command execution. Please help me out of this. I’ll be closing this thread as it is going off topic and and chaining multiple topics.

I would strongly encourage you to look at some docker tutorial.

The error which you have encountered is due to running 2 separate commands at same time instead of running them one by one.

If you still have issues, please open a new thread and tag me

1 Like