Compile wkhtmltopdf with a "patched Qt" in 2021 - qt

Table of contents broke in wkhtmltopdf-0.12.5, and certain tables are broken in wkhtmltopdf-0.12.6 for me. I'd like to apply this patch to wkhtmltopdf-0.12.5 : https://github.com/wkhtmltopdf/wkhtmltopdf/pull/3962, and rebuild it myself, but it doesn't appear so straightforward as there's a lot of mention of a "patched version of Qt," but no way to access these patches or the patched source tree that I can find.
So does anyone out there know how, in 2021, to compile wkhtmltopdf for Linux?
Thanks!

The patched QT is in the QT submodule of WKHTMLTOPDF, so if you clone the main repo with git clone --recurse-submodules you should get everything you need to build. It's been a few years since I've built it, but there haven't been many changes since then.

Related

unknown project file: "gtkada"

I got GPS community edition, but it can't create GtkADA projects. So I cloned and built GtkADA using the GPR projects, but when I try to open a GtkADA example or start a new GtkADA project from GPS, I get the error:
unknown project file: "gtkada"
Edit:
Windows 10 x64, trying to "get into" Ada.
Edit2: Got farther.
I tried setting GPR_PROJECT_PATH to include the following paths:
drive:\gitrepos\gtkada\src
drive:\gitrepos\gtkada\src\lib
drive:\gitrepos\gtkada\src\lib\gtkada\relocatable
drive:\gitrepos\gtkada\src\obj
I am trying to run the base widget example, downloaded from https://www.adacore.com/code-samples for GtkAda.
Now I get:
file "gdk-gc.ads" not found
Indeed I cannot find this file in either the GNAT or GtkAda repo.
Edit2: I am still having difficulty.
Edit3: Other people on freenode#ada were saying the OpenGL part of GtkAda is broken, and many people simply disable it.
I had the same problem and couldn't find Gtkada (about gdk-gc.ads I can't help you).
Therefore I wrote the relative path from my project file to GtkAda.gpr
with "../../lib/gnat/gtkada"; -- on linux (I installed my gtkada into my gnat folder)
In your case, if you installed it on C:\GtkAda you should search for GtkAda.gpr, then copy paste its path.
(Not sure if absolute path works. You will maybe need to tell your project to search outside of its folders by using ".." until you are in C:, then paste your path.)
PS: Adacore provides a GtkAda installer for windows: https://www.adacore.com/download/more
Edit: On my windows, I simply used the installer then
with "gtkada" worked.

Codelite compiling issues (mingw32-make.exe *** [ALL] Error 2)

I'm having serious issues with Codelight. It has been working for days now, maybe even weeks but after today when I took my project to school to work on it there something happened. My workspace is in a onedrive folder so that I can work on it wherever I am. I have reinstalled codelight and reinstalled MinGW and set it up according to my school's instructions but right now I can't build anything at all (see attached image). I have been looking at other threads but none of them have helped so far. Error
What do you think happened?
Edit: I seem to have fixed the issue. When you let codelite search for a compiler, as it does the first time you launch it, you mess up the directories of things completely. So for example the directory for the C compiler should be $(CodeLiteDir)/tools/gcc-arm/bin/arm-none-eabi-gcc.exe instead of C:\MinGW or wherever it may be installed. Also, we use a patched version of codelite with 'added debugging support' for the md407 so you really don't want to update codelite. There were more issues, for example the C compiler options for my project, so when I built the project it complained about all sorts of things and the cursor wouldn't show up so debugging was impossible, but I managed to fix that too.
In conclusion: this was not fun to fix and codelite is sensitive.
I use Dev-C++ I got similiar 'Mingw32-make.exe' errors. When installing Mingw you will notice there is another directory 'c:\Mingw32\MSYS\1.0\bin'. Within MSYS this directory is global and it has some very important binary files like its own 'make.exe' file. 'Mingw32-make.exe' uses files from this directory. Because the IDE will not know about this directory you will need to include this in your system/environment path because outside of MSYS this directory is not global and 'ming32-make.exe' will not be able to access those binary files.
Regardless of your compiler if your 'make' is Mingw32 that path must be set.

How to install ADA IDE and compiler on mac (OSX)?

I downloaded GNAT ADA GPL 2014 and now trying to install on my Mac.
The directions below are the ones I am following, but I do not know where to look to find the file called doinstall. I might still need some help after finding it, but can anyone help me out here?
Navigate to the directory that contains a file called: doinstall
Enter: sudo mkdir /usr/local/gnat
Enter: sudo ./doinstall
Update your path as needed for your shell
You should have downloaded gnat-gpl-2014-x86_64-darwin-bin.tar.gz.
Go to some temporary directory (I use ~/tmp):
cd ~/tmp
Unpack the download, which creates a directory gnat-gpl-2014-x86_64-darwin-bin containing the binary distribution to be installed:
tar zxvf ~/Downloads/gnat-gpl-2014-x86_64-darwin-bin.tar.gz
Enter that directory, which contains (amongst others) doinstall:
cd gnat-gpl-2014-x86_64-darwin-bin
Execute doinstall to enter the installation dialog:
sudo ./doinstall
Remove the unpacked download:
cd ..
rm -rf gnat-gpl-2014-x86_64-darwin-bin
Now you can update PATH as needed for your shell.
What Simon Wright said is correct, but if you're running on Yosemite there's an extra problem: for some obscure reason, Adacore GNAT is broken on Yosemite. You have to make it think it's compiling for Mavericks:
export MACOSX_DEPLOYMENT_TARGET=10.9 # Yosemite workaround
That can go in a few different places, but I put it near the top of the /usr/local/gnat/bin/gps script so it doesn't interfere with the xcodebuild environment.
Also, I found GTKAda to be nearly impossible to install from source; if you download the XNAdaLib-GPL package from http://sourceforge.net/projects/gnuada/ you can install that and get everything you need without having to wade through Adacore's mess. (You may want to use the Adacore version of Glade for GUI design though; for some reason the Sourceforge package's version is localized in French and I'm not sure if it can be switched to English.)
Finally, since this is a bit duct-tape-and-baling-wire, I would recommend not shipping any production mission-critical code with this environment; either roll back to Mavericks or wait for GNAT 2015.

Cross Compiling Qt for Embedded Arm: libpthread.so.0 not found

I am trying to cross compile Qt with WebKit for an embedded arm device (freescale processor). I have a arm-none-linux-gnueabi toolchain.
Qt actually compiled, but I have run into problems when trying to compile the demos, in particular the WebKit ones, which is really what I am after.
The first problem I was having was that libjscore was not found, which was an error due to the way Qt handles static builds. Turns out you can copy the library and it works, see here.
Now compilation breaks again saying it can not find libpthread.so.0, which would seem to be a toolchain problem rather than a Qt problem.
Searching the directory tree in my toolchain, there are several libpthreads. A copy of the find | grep libpthread command's output is below for reference.
./arm-none-linux-gnueabi/sysroot/vfp/lib/libpthread-2.5.so
./arm-none-linux-gnueabi/sysroot/vfp/usr/lib/libpthread_nonshared.a
./arm-none-linux-gnueabi/sysroot/vfp/usr/lib/libpthread.a
./arm-none-linux-gnueabi/sysroot/vfp/usr/lib/libpthread.so_orig
./arm-none-linux-gnueabi/sysroot/vfp/usr/lib/libpthread.so
./arm-none-linux-gnueabi/sysroot/lib/libpthread-2.5.so
./arm-none-linux-gnueabi/sysroot/usr/lib/libpthread_nonshared.a
./arm-none-linux-gnueabi/sysroot/usr/lib/libpthread.a
./arm-none-linux-gnueabi/sysroot/usr/lib/libpthread.so_orig
./arm-none-linux-gnueabi/sysroot/usr/lib/libpthread.so
So it seems that there is something weird with the linker? Also, what needs to be symlinked to create the libpthread.so.0?
Note: the _libpthread.so_orig_ and libpthread.so follow this fix.
Any help or suggestions are much appreciated. I've been banging my head against a wall for two days now.
Thanks
In general, you should make sure that the toolchain you built (or has been built for you) is in the same exact path it was built at. The libraries (*.so *.a) should also be in the same original path. It should look like this:
<path>/bin
<path>/usr/lib
<path>/lib
Those folders should not be moved. The toolchain executables are in "bin" and the libraries it looks for are in "../usr/lib and ../lib". Also, <path> may be hard-coded into your gcc binaries in some fashion. Moving it around seems to break things.
Target is a raspberry PI
I copy target lib directory to myuserdirectory
target /usr/lib to my crosscompiler /usr/lib/ directorie
target /lib my crosscompiler /lib/ directorie
I create two symbolic link:
ln -s /yourcrosscompilerusrlibdirectory /usr/lib/arm-linux-gnueabihf
ln -s /yourcrosscompilerusrdirectory /lib/arm-linux-gnueabihf
and it's work for me
libpthread are in /yourcrosscompilerusrlibdirectory

LESS CSS on Windows

Trying to set up LESS for CSS on my Windows box, I've installed ruby and rubygems and followed the instructions exactly.
I have put teststyle.less in C:\.
When I type
lessc teststyle.less
to compile it into a .css file, I get an error:
The filename, directory name, or volume label syntax is incorrect.
Out of those familiar with LESS, do any of you have a solution to my problem?
Did I mess up the install?
If you don't want to use GUI to compile LESS on Windows, there is a clean way to get lessc command on Windows command line. It only requires you to install node.js, which is required by original lessc anyway.
So, install node.js (http://nodejs.org/) and install "less" module for node.js. The latter provides lessc executable (lessc.cmd on Windows) as well, so you should only make sure it gets under your PATH in Windows.
If you don't have node.js yet, here are step-by-step instructions:
Install node.js (http://nodejs.org/)
In new command-line, go to node.js installation directory (where node.exe is located), and execute > npm install less (make sure you do so from node.js installation directory only)
Latter downloads less module for node.js, as well as lessc.cmd to node_modules/.bin/ directory. Add this directory to PATH
Now, in new command line you may enjoy the use of lessc as usual
Source: http://pragmatictim.blogspot.fr/2012/08/developing-with-less-on-windows-getting.html
You should look at http://www.dotlesscss.org/, less ported to C# and specifically designed for .NET. You can use either a handler or compile.
Been using it for about six months, it's great.
Oops...saw windows and assumed dot net, perhaps that's not your environment. If not, never mind...
Edit:
lessc does work on Windows now. See the Github page about commandline LESS tools for installation and usage instructions. The Github page with a list of LESS GUI tools might also be interesting.
Original answer:
The lessc command line tool for less.js doesn't work on Windows. If you want command line compiling of your LESS files you should check out this post.
Also be sure to check out WinLess. WinLess is a compiler (with GUI) for LESS. WinLess can watch your LESS files, and automatically compile them when they have changed.
If you are using Visual Studio for your projects you should also check out the BuildEventScript of winless.org.
Be sure to check which compiler is being used when you are using different programs to compile your LESS code. If you are using programs which use different compilers you should watch out for interoperability issues (LESS code working correctly with one compiler, but not with another).
FYI, I found this Windows command line tool to compile LESS into CSS useful. It uses less.js to do the compilation. The command syntax is not very graceful, but it works well.
https://github.com/duncansmart/less.js-windows
I just started using Crunch to compile Bootstrap and its pretty awesome. Its built on Adobe Air, which you will have to install if you don't already have it.
I think I found the problem. In my first installation I installed to C:\Program Files\Ruby
so I uninstalled and tried the default 'C:\Ruby' install path. Seems to fix the problem and it now works correctly. Thanks.
I have a recompiled version of DotlessCss that can accept less code from standard input and output the css code to the standard output. I have attached it at the following link LESS CSS Compiler for Windows
Only this https://github.com/leafo/lessphp PHP compiler didn't crashed with my crazy project structure with CSS imports in LESS, etc.
Very simple shell command for compiling LESS to CSS:
plessc input.less > output.css
You can use Prepros App for windows. It can compile less, sass, jade, stylus, markdown, coffeescript and haml with live browser refresh.

Resources