FS#57785 - [glib2] Built in debug mode since some release

Attached to Project: Arch Linux
Opened by Cedric Bellegarde (gnumdk) - Saturday, 10 March 2018, 20:04 GMT
Last edited by Jan Alexander Steffens (heftig) - Thursday, 29 March 2018, 04:37 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Jan Alexander Steffens (heftig)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Since a recent change in glib2 package, enable-debug is on.

Is this wanted? Looks like it removes some optimisation in glib2.
This task depends upon

Closed by  Jan Alexander Steffens (heftig)
Thursday, 29 March 2018, 04:37 GMT
Reason for closing:  Fixed
Additional comments about closing:  glib2 2.56.0+16+gecabc6e21-1?
Comment by Nathan Smith (mocha_bean) - Wednesday, 28 March 2018, 22:22 GMT
This occurred as of the 2.54.3 release, and persists as of 2.56.0

(2.54.3 PKGBUILD diff: https://git.archlinux.org/svntogit/packages.git/diff/glib2/repos/core-x86_64/PKGBUILD?id=e1b0118d5eac16c6b26881780a14c8169707023d)
2.54.3 set `--enable-debug=yes` in `./configure`.

(2.56.0 PKGBUILD diff: https://git.archlinux.org/svntogit/packages.git/diff/glib2/repos/core-x86_64/PKGBUILD?id=2bcff2293f3833e26841b2439ab13e55c4a4452a)
2.56.0 added these two lines to the build() function:

+ local debug=minimum
+ check_option debug n && debug=yes

This creates a local var called 'debug', sets it to "minimum", and then the second line checks whether or not the debug option is disabled (which, by default in makepkg, it is), and if so, changes the value of the 'debug' var to "yes."
The PKGBUILD also changed the --enable-debug line:

+ --enable-debug=$debug \

so --enable-debug, by default, is still set to 'yes.'

Having enable-debug set to "yes" actually causes crashes in some applications that reference glib2 when they would otherwise just throw a critical error and keep running. For instance, this actually causes Ardour to crash when loading automation curves. Details of that issue can be seen here:

http://tracker.ardour.org/view.php?id=7543
https://bugzilla.gnome.org/show_bug.cgi?id=794740

According to GNOME, the default option for stable releases is `--enable-debug=minimum`. (https://developer.gnome.org/glib/stable/glib-building.html)

I've attached a patch for the glib2 2.56.0+7+g66948ae23-1 PKGBUILD that fixes this problem by removing those first two lines of build() and changing the `--enable-debug=$debug` line to `--enable-debug=minimum`.
Comment by Jan Alexander Steffens (heftig) - Thursday, 29 March 2018, 04:26 GMT
Yes, minimum was intended; the inversion of the check is a mistake.

Loading...