Centos 7 does not compile new 20.19.0

i trying to compile from source

./configure --with-pjproject-bundled --with-jansson-bundled

make

[pjproject] Rebuilding [pjproject] Configuring with --with-ssl --prefix=/opt/pjproject --disable-speex-codec --disable-speex-aec --disable-bcg729 --disable-gsm-codec --disable-ilbc-codec --disable-l16-codec --disable-g722-codec --disable-g7221-codec --disable-opencore-amr --disable-silk --disable-opus --disable-video --disable-v4l2 --disable-sound --disable-ext-sound --disable-sdl --disable-libyuv --disable-ffmpeg --disable-openh264 --disable-ipp --disable-libwebrtc --disable-libsrtp --disable-upnp --without-external-pa --without-external-srtp --disable-resample --disable-g711-codec --enable-epoll [pjproject] Compiling libpj-x86_64-pc-linux-gnu.a make[2]: *** [source/pjlib/lib/libpj-x86_64-pc-linux-gnu.a] Error 2 make[1]: *** [pjproject] Error 2 make: *** [third-party] Error 2

anybody have the same issue ?

no hint to what is failing !

ok i see the issue .

tried to install pjsip by itself

got a error

../src/pj/os_core_unix.c:52:27: fatal error: stdatomic.h: No such file or directory

found the commit

that introduced the error

a false positive for C11 atomics
added more guards and now it compiles

added

&& !defined(__STDC_NO_ATOMICS__) \ && (!defined(__GNUC__) || __GNUC__ > 4 \ || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9))

should this go to asterisk or also pjsip project ?

Changes should go to pjproject, and then once accepted they can be pulled into Asterisk as a patch until it is updated with a version that includes it.

the pjsip project has a nice ai bot for review and even has CLAUDE.md
Streamline AI coding assistant instructions

wonder which and when the asterisk core will embrace.!

That’s not something we’re working on or looking at as of this time. The future is unwritten.

That is a radioactively bad idea, @benphone, and I hope this enshittification never comes for Asterisk.

got 2 more issue with the build will file fix for them tonight or tomorrow

1 pjsip openssl

  1. custom cdrel_custom and old SQLite version

    #if SQLITE_VERSION_NUMBER >= 3020000
    res = sqlite3_prepare_v3(config->db, sql, -1, SQLITE_PREPARE_PERSISTENT, &config->insert, NULL);
    #else
    res = sqlite3_prepare_v2(config->db, sql, -1, &config->insert, NULL);
    #endif

can i get clarification ?pjsip project just shipped very fast a new release 2.17 is asterisk 20.19.0

still safe or for production (there are some backported security patches but not all) ?

or should wait for till the next version of asterisk comes out with the release inside it ?

Hey. Thanks for sharing fix that went into pjsip.

Quick comment. If you are worried about safety in production, you might want to move off of CentOS 7. It went EOL back in 2024.

@benphone PJSIP has a wide range of components, many of which Asterisk doesn’t use. We don’t backport fixes for things we don’t use. The latest releases should be safe to use.

@jcolp for patches 2.17 i should wait till 2.17 gets merged ?https://github.com/pjsip/pjproject/pull/4941

If you are referring to putting up PRs, we’ll review them and merge them if they go up now. When 2.17 is merged then they’ll be removed if no longer applicable. If you want to wait that’s up to you.