Closed dmarkey closed 4 years ago
Would you be interested in submitting a PR, if the docker image is already published? It should be quite straight-forward, and please ask me if you get stuck 👍
Support for i386 as a host architecture was dropped in 19.10, so we need amd64 only.
I simply copy-pasted the bionic section and replaced bionic with focal.
./build docker-images focal-amd64
succeeded, but then the compilation failed with the error:
/src/qt/src/gui/dialogs/qpagesetupdialog_unix.cpp: In constructor 'QPageSetupWidget::QPageSetupWidget(QWidget*)':
/src/qt/src/gui/dialogs/qpagesetupdialog_unix.cpp:276:12: error: 'class Ui::QPageSetupWidget' has no member named 'topMargin'
276 | widget.topMargin->setSuffix(suffix);
| ^~~~~~~~~
/src/qt/src/gui/dialogs/qpagesetupdialog_unix.cpp:277:12: error: 'class Ui::QPageSetupWidget' has no member named 'bottomMargin'
277 | widget.bottomMargin->setSuffix(suffix);
| ^~~~~~~~~~~~
/src/qt/src/gui/dialogs/qpagesetupdialog_unix.cpp:278:12: error: 'class Ui::QPageSetupWidget' has no member named 'leftMargin'
278 | widget.leftMargin->setSuffix(suffix);
| ^~~~~~~~~~
/src/qt/src/gui/dialogs/qpagesetupdialog_unix.cpp:279:12: error: 'class Ui::QPageSetupWidget' has no member named 'rightMargin'
279 | widget.rightMargin->setSuffix(suffix);
| ^~~~~~~~~~~
This is the top of the output, there were many more similar errors. Could you help please?
I was having the same issues as @kraft001: it looks like Qt 4 does not compile with gcc 9 (at least the version of Qt 4 used by wkhtmltopdf). gcc 9 is the default version in Ubuntu 20.04, but gcc 7 is also available. I made a fork of this repo and modified Dockerfile.debian, making a new Dockerfile.focal copy and adding explicit references to gcc-7 and g++-7 system packages, as well as some symbolic links (gcc -> /usr/bin/gcc-7
, etc), and wkhtmltopdf compiled! The .deb file appears to install fine, and playing around with the wkhtmltopdf binary in a shell and looking at the PDF output, it looks ok to me!
Here are my changes: https://github.com/BaconRanch/packaging/commit/8731b519614affb0859bfe6b0e2b8718c1eb88e3
Having to make a separate Dockerfile just for focal / newer Debian based distros is kind of hacky though, so I'm not sure if it's worth filing a PR. A more elegant solution may be reworking the Python build script, build.yml, and Dockerfile.debian to replace build-essential with explicit references to its dependencies and allow a specific version of gcc to be set on the Dockerfile as an argument.
Another solution is getting wkhtmltopdf 0.12.5 release and Qt 4 to compile on gcc 9, but I don't know how much effort that would take / whether it's worth the dev's time, since 0.12.5 is a couple years old now.
Hi, could you please also release a version for ubuntu 20.04 arm64?
Greetings
+1, cant install on Ubuntu 20 x64
@BaconRanch: I don't see anything bad about adding a new Dockerfile -- can you just try using update-alternatives instead of using manual symlinks? I'd be very happy to test and integrate a PR :+1:
@ashkulz I swapped out the explicit links to update-alternatives and tried it out. The build works fine! Here's the PR: https://github.com/wkhtmltopdf/packaging/pull/65
This has been published to the website, see wkhtmltopdf/wkhtmltopdf@f1ef81d7a382e38b1ce1cc78567e36ca25015ebc.
@MrRSK: can you try the arm64 build in #30 and report if it works for you?
A release candidate for the 0.12.6 release is now available for download, which should contain changes which possibly address this issue.
Would appreciate downloading the package and reporting back if any issues are encountered during testing. Assuming all goes well, I plan to release 0.12.6 on the 2-year anniversary of the previous release i.e. June 11, 2020.
Will be released in a few days.
Thanks!