wkhtmltopdf / packaging

Packaging of wkhtmltopdf releases
https://wkhtmltopdf.org/downloads.html#stable
301 stars 136 forks source link

add `--debug` flag to `package-docker` to compile in debug mode #127

Closed terencehonles closed 2 years ago

terencehonles commented 2 years ago

Well it seems useful to be able to pass the flag through. Otherwise you need to know how to use the compile-docker command (which expects different arguments) and then you have to figure out how to install that differently than you'd normally install a package. I would be fine with it altering the name that it's using, but I'm not completely sure where I might put that.

Unfortunately I'm running into an issue where a page is segfaulting when I'm trying to generate a page that's requested with an accept-language header "es". It works in both "en" and "fr" which I'm a little confused by (I expected it to break for "fr" too). I built a debug package with --debug as patched and unfortunately it looks like by just enabling the debug mode whatever it was segfaulting on is not an issue.

I looked and found -force-debug-info, but apparently that's only for Qt5. I currently just finished building with -separate-debug-info but I don't think that actually will leave whatever optimizations are likely causing the segfault, but any tips would be appreciated. I would ideally like to build -release, but still have the debug symbols somewhere.

ashkulz commented 2 years ago

Thanks for the contribution!

terencehonles commented 2 years ago

@ashkulz I'm still experimenting on how to build a release w/ debug symbols, any thoughts or advice?

I believe may have just built with the same optimization level by patching the Qt source qmake file and will test that shortly. I would think distributing an additional package something like https://packages.debian.org/sid/wkhtmltopdf-dbgsym might be something that can be emulated.

Also any thoughts on:

Do you know if there's a reason --clean both deletes the target dir before and after compiling? I wanted a clean build from the last build I ran, but was expecting to look at the intermediate files and didn't realize it nuked the directory after the build. I ran it with the wrong arguments so I needed to re-run anyways, but can I remove the rm -fr post build and just leave the pre-build clean up?