New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pkg/kamailio/obs: used more recent gcc for RHEL and CentOS dists #2711
Conversation
Personally I would prefer to stick with the default of the operating system, rather than compiling with a different compiler version than the rest of the packages are. What is the actual benefit to have kamailio compiled with a different version that the rest of the packages? For example, what makes it better to have Kamailio compiled with gcc X and on the same system to use MySQL that was compiled with gcc Z? |
I think the main benefit is not required to write code that must be compiled in some way by different GCC versions. For example, the old GCC has broken regular expressions support. |
One more benefit. This will improve PR code quality. |
I think such benefits can be used in some CI testing, but for shipping packages for specific distros I think it is better to stick to the official compiler coming with the distros. There can be cases when one wants to replace a RPM installation with a git-branch compilation and then the resulting binaries may have different characteristics. |
Yes, I agreed. Most of the features related to recent GCC version automatic checks may be implemented in CI process.
As options, we can check GCC version used on RPM dist during compilation to make sure used not too old GCC. For other coins, we can check GCC documentation. Maybe you will find something useful in the section "New Languages and Language specific improvements" |
In Kamailio we do not have constraints on compiler versions, but try to follow a C standard, for many years we tried to stick to C89/C90/C95, to work on Unix-variants and old compilers. Now could be a lot of C99/C11, which fine. But trying to tailor for a specific compiler version is really out of scope. It works with stock gcc and clang on major linux distros. Not sure if still works on icc (intel c compiler) and suncc, as we (or at least I) do not have access to systems providing them. Again, if one wants to work on some CI/testing with different compilers and suggest eventual improvements, it could be an appreciated effort. But providing packages compiled with a different compiler than the distro's default one is not the norm out there, from my point of view feels like building a distro variant. I do not see benefits in wasting time to review changes between gcc (or other compilers) versions. It sounds like let's see what changes are in newer libmysqlclient, libssl, libcurl, libev, libevent, ... and the other libs various modules use and then eventually package with their newer version. There is also the variant to build with clang instead of gcc, that opens another door of plenty of options to choose from. My view is: if we provide Kamailio packages for distro X, we use the stock packages and apps in that distro to build them. There is no significant reason to do otherwise. |
Same view here. Use the default version of each distro version |
closing this PR |
Pre-Submission Checklist
in
doc/
subfolder, the README file is autogenerated)Type Of Change
Checklist:
Description
PR upgraded GCC for RPM packaging.