I also tested the compilation for modules: ruxc, secsipid, secsipid_proc (for all of them the dependencies were installed from sources) and nats (library installed with apt, but dependency to libuv had to be added to cmake file).


So, left untested for cmake compilation due to lack of finding an easy way to install dependencies should be now:


  1. db_oracle
  2. dnssec
  3. nsq
  4. stirshaken
  5. tls_wolfssl (compilation error, need some more time to see why)

Probably for tls_wolfssl the compilation should be done against the package only, without compiling libwolfssl locally. The qm and fm memory managers have be updated to satisfy the alignment requirements by wolfssl.

tlsf memory manager seems desgined for 32bit alignment only, but the workaround with compiling wolfssl locally brings unnecessary overhead.

Cheers,
Daniel

On 04.12.24 11:13, Daniel-Constantin Mierla wrote:
For the records: the modules jwt (with a small fix now in git repo) and mircohttpd compile fine on Ubuntu 24.04.

Cheers,
Daniel

On 03.12.24 16:47, Xenofon Karamanos via sr-dev wrote:
Hello all,

As you may have noticed, we have added CMake building support to kamailio. You can check the PR https://github.com/kamailio/kamailio/pull/4043 for details and https://github.com/kamailio/kamailio-wiki/blob/main/docs/tutorials/cmake/index.md for docs on how to use it.

Currently all of the modules have their corresponding CMakeLists.txt and should compile successfully (apart from the tls_wolfss).

I say should as i have only being able to test them on my machine with the following:

Ubuntu 20.04.6 LTS
Linux 5.4.0-200-generic #220-Ubuntu SMP Fri Sep 27 13:19:16 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
cmake version 3.29.4 (min is 3.10, as defined in CMakelist.txt, found available in Ubuntu 18.04)

i will also add support for more OSes but for the time being there is support for Linux-based, DragonFly (for some reason) and Darwin (MacOS). 
You can also introduce the files needed to in https://github.com/kamailio/kamailio/tree/master/cmake/os-specific, if you are willing to help and submit a PR.

Some modules i could not compile because of missing dependencies available on the distribution or require specific OS (db_oracle) are:

  1. db_oracle
  2. dnssec
  3. jwt
  4. microhttpd
  5. nats
  6. nsq
  7. ruxc
  8. secsipid_proc
  9. stirshaken
  10. tls_wolfssl (compilation error, need some more time to see why)
Any help on verifying whether the above modules (and of course all the rest), compile and run successfully will be awesome.

Any bug fixes and PRs are obviously welcome and appreciated. 

Reporting issues is can be done of course on kamailio github page.

Cheers,
Xenofon

_______________________________________________
Kamailio - Development Mailing List -- sr-dev@lists.kamailio.org
To unsubscribe send an email to sr-dev-leave@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender!


-- 
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.com
-- 
Daniel-Constantin Mierla (@ asipto.com)
twitter.com/miconda -- linkedin.com/in/miconda
Kamailio Consultancy, Training and Development Services -- asipto.com