[webkit-dev] Fwd: Any way to get a debugging symbols build without compiling?
Michael Catanzaro
mcatanzaro at gnome.org
Thu Apr 8 07:40:26 PDT 2021
On Thu, Apr 8 2021 at 08:21:43 AM -0600, Alemar via webkit-dev
<webkit-dev at lists.webkit.org> wrote:
> So, my question is: What CLI arguments are used for building the
> release version posted on the website? I'm assuming it's not just:
>
> cmake -DPORT=GTK -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_GAMEPAD=NO
> -DENABLE_INTROSPECTION=NO -GNinja
Hi, this is decided by Manjaro. I'm not source where to see their
packaging, but the Arch packaging is here:
https://github.com/archlinux/svntogit-packages/blob/packages/webkit2gtk/trunk/PKGBUILD
And honestly it's relatively likely that Manjaro might not make any
changes to it. You can see the build flags they are using:
cmake -S webkitgtk-$pkgver -B build -G Ninja \
-DPORT=GTK \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_INSTALL_LIBEXECDIR=lib \
-DCMAKE_SKIP_RPATH=ON \
-DENABLE_GTKDOC=ON \
-DENABLE_MINIBROWSER=ON
FYI your debugging experience today was about 13498x harder than it
needed to be. Arch and its derivatives like Manjaro are the only
distros that don't provide debug symbols for its packages. In any other
distro you would just install the relevant debug packages, and then you
wouldn't have to worry about not being able to reproduce the problem
with your own custom build. It's impossible to know why one build
crashes and another doesn't, but there could be many differences, e.g.
Arch hopefully uses security hardening flags when building its packages
(not sure about that, but I hope so ;) that are not used by default
when you build yourself.
FWIW I recommend using -DCMAKE_BUILD_TYPE=RelWithDebInfo rather than
-DCMAKE_BUILD_TYPE=Debug to ensure you get a release build. Debug
builds indeed have some different codepaths and very different
performance characteristics. Normally debug builds crash more because
assertions are enabled, but I suppose it's indeed possible that some
crash might not occur in a debug build for whatever reason. But even if
you use RelWithDebInfo, I'm afraid there's no guarantee you'll be able
to reproduce the crash you're hunting.
Michael
More information about the webkit-dev
mailing list