On Mon, Apr 08, 2019 at 12:50:06PM +0200, Kalev Lember wrote:
On 4/8/19 11:13, Florian Weimer wrote:
>* Peter Hutterer:
>
>>On Mon, Apr 08, 2019 at 09:20:35AM +0200, Igor Gnatenko wrote:
>>>Hello,
>>>
>>>While fixing mesa build which was slow due to a lot off debug stuff
>>>(assert()), I've added -Db_ndebug=true into the %meson macro.
>>>
>>>This seemed like good approach because in Fedora we should not use debug
>>>bits in runtime (not related to debuginfo). However this caused some
>>>breakage in some packages like libratbag which was relying on assert() in
>>>tests. This should be really fixed in affected packages..
>>>
>>>I am not convinced that we should revert meson change.. Let me know if you
>>>think otherwise and why.
>>
>>IMO if asserts cause a slow build in mesa, mesa should disable asserts.
>>
>>Pushing this into the build system means you're changing the behaviour of
>>every package build with meson. I rely on asserts in several packages for
>>paths that must not happen - removing those asserts means instead of
>>crashing we now have undefined behaviour, probably leaking things.
>
>I agree.
>
>Fedora should follow upstream defaults here, like most other
>distributions. Most upstreams leave assertions enabled.
I agree as well. Please don't override -Db_ndebug in distro-wide %meson
macro and instead move the override to mesa packaging if it's needed there.
FWIW, we also build systemd in Fedora with assertions enabled in hope
of catching bugs early, and I was surprised when I noticed that it got
disabled by the macro. If the macro was being introduced now, I wouldn't
have a strong opinion whether b_ndebug=true or b_ndebug=false is the
right default. But I agree that we shouldn't *change* the setting, at
least not without making the change much more visible.
Zbyszek