The difference between release + debug and “debugoptimized” is that the former is “-O3 -g” while the latter is “-O2 -g”. The buildtypes are just shortcuts for setting optimization level and debug flags, and release is -O3 only flag. From: Patrick Robb Sent: Wednesday, March 15, 2023 7:14 PM To: Richardson, Bruce Cc: David Marchand ; ci@dpdk.org; Aaron Conole ; Thomas Monjalon Subject: Re: Meson buildtype for ci jobs? Would passing "-Ddebug=true" be better than changing the default buildtype? It's possible to have a release build (i.e. O3 optimized) with debug info. Strangely, even with -Ddebug true if I'm running buildtype "release" it returns the same warnings. I'm inferring from your comment that release optimization == debugoptimized optimization and debug behavior from -Ddebug=true == debug behavior from debugoptimized, so release buildtype + debug "should" have the same behavior as just setting buildtype debugoptimized, and yet... I'll have to look into this a little more. Hopefully by the end I'll be like David and understand the relations between these flags better, hah. On Wed, Mar 15, 2023 at 1:02 PM Richardson, Bruce > wrote: > -----Original Message----- > From: David Marchand > > Sent: Wednesday, March 15, 2023 4:08 PM > To: Patrick Robb > > Cc: ci@dpdk.org; Aaron Conole >; Richardson, Bruce > >; Thomas Monjalon > > Subject: Re: Meson buildtype for ci jobs? > > On Wed, Mar 15, 2023 at 4:52 PM Patrick Robb > wrote: > > > > Hello all, > > > > The lab recently received a request to re-enable Alpine compile jobs, > which have been disabled for almost a year. In dry running the compile > job, I noticed that it was failing. At the same time, David Marchand did > an Alpine compile with Github Actions which was successful. It seems the > source of the different behavior is the meson buildtype being used - the > build script used by GHA sets meson buildtype to debugoptimized, whereas > the script used by the community lab runs with buildtype debug (the meson > default). I did my own Github Actions runs (with both buildtype options) > to sanity check: > https://github.com/PatrickRobbIOL/dpdk/actions/runs/4427160204/jobs/776436 > 8640 > > Are you sure about the default value? > > Afaics, meson selects by default a "release" buildtype (and I think I > always saw this value in the past). > I have this with meson 1.0. > > $ meson setup qsdlgfh > ... > $ meson configure qsdlgfh | grep buildtype > buildtype release > [plain, debug, debugoptimized, Build type to use > > > > > The reason I'm writing this email is that I'm wondering whether the > buildtype decision made by those who wrote .ci/linux-build.sh for GHA was > intentional and important. I know many of the people who have commits on > that script follow this mailing list. Obviously if it's in some way more > appropriate for CI purposes to run meson setup in this way, I'm happy to > make that change at the lab and in the process that would free up bringing > Alpine compile testing online. But, if not, then I think it's most > appropriate to consider compile on Alpine as broken and avoid bringing > coverage for Alpine online until that issue is resolved. > > The reason why we went with debugoptimized was primarly for the ABI > checks, as by default, the debug symbols were missing (which would > match with a "release" default buildtype). > See 777014e56d07 ("devtools: add ABI checks"). > Would passing "-Ddebug=true" be better than changing the default buildtype? It's possible to have a release build (i.e. O3 optimized) with debug info. /Bruce -- Patrick Robb Technical Service Manager UNH InterOperability Laboratory 21 Madbury Rd, Suite 100, Durham, NH 03824 www.iol.unh.edu [https://lh4.googleusercontent.com/7sTY8VswXadak_YT0J13osh5ockNVRX2BuYaRsKoTTpkpilBokA0WlocYHLB4q7XUgXNHka6-ns47S8R_am0sOt7MYQQ1ILQ3S-P5aezsrjp3-IsJMmMrErHWmTARNgZhpAx06n2]