On 3/27/19 10:56 PM, Ken Moffat via blfs-dev wrote:
A follow-up from what I posted earlier.

I think *mesa* still needs to be fixed, and I am inclined to prefer
a release build (on the philosophical basis that a release ought to
default to the options used in releases).

First, a reminder of what cmake apparently supports (on the basis
that at least some of our cmake recipes build release versions) -

 From http://www.brianlheim.com/2018/04/09/cmake-cheat-sheet.html
(that might be out of date, the links to cmake point to
3.11.something, but cmake is vague about what the various options
actually do!)

In that, there are the following list of build types and the flags
they add:

  none (normally the default) : no flags

  Debug : -g

  Release : -O3 -DNDEBUG

  RelWithDebInfo : -O2 -g -DNDEBUG

  MinSizeRel : -Os -DNDEBUG

Compared to meson, a much greater use of -DNDEBUG.  I have no idea
if CFLAGS, CXXFLAGS supplied in the environment override these
options.

But I think we ought to have something in Notes on Building Software
about the cmake defaults, and I'm assuming that -DNDEBUG similarly
disables runtime assertions which can slow the programs or libraries
down if they ar present.

Second, looking again at a few meson programs (mesa, libdrm,
gdk-pixbuf, glib) :

IFF -Dbuildtype is specified, it reports that as well as the
default.  For all these packages, using 0.50.0, the default is
debugoptimized (i.e. -O2 -g with debug assertions enabled).
Meanwhile, Bruce has reverted the book to meson-0.49.

But - AFAICS, of those packages only mesa actually enables debug
assertions (i.e. none of the others add -DNDEBUG when running a
release buildtype.

In passing, I will note that I am not impressed by the implication
that our builders ought to run the tests for glib (in almost
everything else we use words like "if you wish to run the tests"),
also that it seems to write on the Xorg screen in some of the tests
(and I'm not sure that running in Xorg is specified - ISTR people
such as Bruce build glib before Xorg).  Plus, I get an unexpected
failure:

# Start of tls-certificate tests
Bail out! GLib-GIO-FATAL-WARNING: Can't find module 'gnutls-pkcs11' specified 
in GIO_USE_TLS
--- stderr ---

(/tmp/glib-2.60.0/build/gio/tests/tls-certificate:12592): GLib-GIO-WARNING **: 
23:19:12.669: Can't find module 'gnutls-pkcs11' specified in GIO_USE_TLS
-------

163/261 glib:gio / tls-database                 FAIL     0.01 s (killed by 
signal 5 SIGTRAP)
Check your files in /etc/profile.d, we removed gio.sh (that provides the GIO_USE_TLS variable) when updating glib-networking to 2.60.0. That'll impact anything that uses libsoup/glib-networking and cause it to crash. :-)
--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to