App won't read the config from config.ini

Hi!

I am using the Headless BOT sample app from here.
I have downloaded zoom-meeting-sdk-linux_x86_64-5.17.0.1732 and tried all the steps that are mentioned in the readMe on Github multiple times, however I still cannot get it to work properly.

The problem is that the app isn’t reading anything from the config.ini file. I keep getting this error (posting the output from the cli as I get an error when I try to add an image in this post):

...
zoomsdk-build  | Consolidate compiler generated dependencies of target zoomsdk
zoomsdk-build  | [  9%] Building CXX object CMakeFiles/zoomsdk.dir/src/main.cpp.o
zoomsdk-build  | [ 18%] Building CXX object CMakeFiles/zoomsdk.dir/src/Zoom.cpp.o
zoomsdk-build  | [ 27%] Building CXX object CMakeFiles/zoomsdk.dir/src/Config.cpp.o
zoomsdk-build  | [ 36%] Linking CXX executable zoomsdk
zoomsdk-build  | [100%] Built target zoomsdk
zoomsdk-build  | ✅ configure
zoomsdk-build  | ✅ initialize
zoomsdk-build  | ❌ Client ID cannot be blank
zoomsdk-build  | ❌ failed to authorize with status 7
zoomsdk-build exited with code 139

Sample of my config.ini file

client-id="Something"

client-secret="Something else"

join-url="https:///ZoomMeetingUrl"

display-name="Test Bot"

[RawAudio]
file="meeting-audio.pcm"

However, If I hardcode the values of the config in the Config.h file, then the app works.

I have re-checked all the steps and even downloaded an additional copy of the repository to make sure I didn’t do something wrong accidentally but unfortunately got the same results.

I am running this docker image on MacOS 14.2

Any help on this would really be appreciated! Thanks !

@mihir.dayal , did you create or copy the config.ini into your container?

Hi @chunsiong.zoom , thanks for the response!

I am using the default docker file provided in the repository. I just copied the sample.config.ini to a new file config.ini and added my credentials to all the respective fields in the file. After this, I run docker compose up
Also, the config.ini file is at the same level as the sample.config.ini file.

Please let me know if I am missing something here.

@mihir.dayal ,

Do a quick test, copy config.ini into your src folder.

@chunsiong.zoom, I tried this earlier too and I tried it again right now but still getting the same error message.

zoomsdk-build  | ✅ configure
zoomsdk-build  | ✅ initialize
zoomsdk-build  | ❌ Client ID cannot be blank
zoomsdk-build  | ❌ failed to authorize with status 7

@mihir.dayal , can you build the container and run it in interactive mode, check within the shell if config.ini exist and is updated.

Hi @chunsiong.zoom , thanks for providing me the debugging tips!

I tried a few things and finally could get the config file working by modifying the run() function inside the entry.sh file.

Originally it was

run() {
  exec ./"$BUILD"/zoomsdk;
}

I changed it to

run() {
  exec ./"$BUILD"/zoomsdk --config config.ini;
}

Thats it. Now it is working as expected!

Hope this also helps anyone else running into the same issues as well!